0001200375-23-000019.txt : 20230504 0001200375-23-000019.hdr.sgml : 20230504 20230504162615 ACCESSION NUMBER: 0001200375-23-000019 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 89 CONFORMED PERIOD OF REPORT: 20230331 FILED AS OF DATE: 20230504 DATE AS OF CHANGE: 20230504 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: 23889188 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-20230331.htm 10-Q cdxs-20230331
0001200375false2023Q112/319119119110.5110.25100012003752023-01-012023-03-3100012003752023-05-01xbrli:shares00012003752023-03-31iso4217:USD00012003752022-12-310001200375srt:AffiliatedEntityMember2023-03-310001200375srt:AffiliatedEntityMember2022-12-31iso4217:USDxbrli:shares0001200375cdxs:ProductSalesMember2023-01-012023-03-310001200375cdxs:ProductSalesMember2022-01-012022-03-310001200375cdxs:ResearchandDevelopmentRevenueMembersrt:AffiliatedEntityMember2023-01-012023-03-310001200375cdxs:ResearchandDevelopmentRevenueMembersrt:AffiliatedEntityMember2022-01-012022-03-310001200375cdxs:ResearchandDevelopmentRevenueMember2023-01-012023-03-310001200375cdxs:ResearchandDevelopmentRevenueMember2022-01-012022-03-3100012003752022-01-012022-03-310001200375us-gaap:CommonStockMember2022-12-310001200375us-gaap:AdditionalPaidInCapitalMember2022-12-310001200375us-gaap:RetainedEarningsMember2022-12-310001200375us-gaap:CommonStockMember2023-01-012023-03-310001200375us-gaap:AdditionalPaidInCapitalMember2023-01-012023-03-310001200375us-gaap:RetainedEarningsMember2023-01-012023-03-310001200375us-gaap:CommonStockMember2023-03-310001200375us-gaap:AdditionalPaidInCapitalMember2023-03-310001200375us-gaap:RetainedEarningsMember2023-03-310001200375us-gaap:CommonStockMember2021-12-310001200375us-gaap:AdditionalPaidInCapitalMember2021-12-310001200375us-gaap:RetainedEarningsMember2021-12-3100012003752021-12-310001200375us-gaap:CommonStockMember2022-01-012022-03-310001200375us-gaap:AdditionalPaidInCapitalMember2022-01-012022-03-310001200375us-gaap:RetainedEarningsMember2022-01-012022-03-310001200375us-gaap:CommonStockMember2022-03-310001200375us-gaap:AdditionalPaidInCapitalMember2022-03-310001200375us-gaap:RetainedEarningsMember2022-03-3100012003752022-03-310001200375srt:AffiliatedEntityMember2023-01-012023-03-310001200375srt:AffiliatedEntityMember2022-01-012022-03-31cdxs:segment0001200375cdxs:PerformanceEnzymesMembercdxs:ProductSalesMember2023-01-012023-03-310001200375cdxs:NovelBiotherapeuticsMembercdxs:ProductSalesMember2023-01-012023-03-310001200375cdxs:PerformanceEnzymesMembercdxs:ProductSalesMember2022-01-012022-03-310001200375cdxs:NovelBiotherapeuticsMembercdxs:ProductSalesMember2022-01-012022-03-310001200375cdxs:PerformanceEnzymesMembercdxs:ResearchandDevelopmentRevenueMember2023-01-012023-03-310001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:NovelBiotherapeuticsMember2023-01-012023-03-310001200375cdxs:PerformanceEnzymesMembercdxs:ResearchandDevelopmentRevenueMember2022-01-012022-03-310001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:NovelBiotherapeuticsMember2022-01-012022-03-310001200375cdxs:PerformanceEnzymesMember2023-01-012023-03-310001200375cdxs:NovelBiotherapeuticsMember2023-01-012023-03-310001200375cdxs:PerformanceEnzymesMember2022-01-012022-03-310001200375cdxs:NovelBiotherapeuticsMember2022-01-012022-03-310001200375cdxs:PerformanceEnzymesMembersrt:AmericasMember2023-01-012023-03-310001200375cdxs:NovelBiotherapeuticsMembersrt:AmericasMember2023-01-012023-03-310001200375srt:AmericasMember2023-01-012023-03-310001200375cdxs:PerformanceEnzymesMembersrt:AmericasMember2022-01-012022-03-310001200375cdxs:NovelBiotherapeuticsMembersrt:AmericasMember2022-01-012022-03-310001200375srt:AmericasMember2022-01-012022-03-310001200375cdxs:PerformanceEnzymesMemberus-gaap:EMEAMember2023-01-012023-03-310001200375cdxs:NovelBiotherapeuticsMemberus-gaap:EMEAMember2023-01-012023-03-310001200375us-gaap:EMEAMember2023-01-012023-03-310001200375cdxs:PerformanceEnzymesMemberus-gaap:EMEAMember2022-01-012022-03-310001200375cdxs:NovelBiotherapeuticsMemberus-gaap:EMEAMember2022-01-012022-03-310001200375us-gaap:EMEAMember2022-01-012022-03-310001200375cdxs:PerformanceEnzymesMembercdxs:APACMember2023-01-012023-03-310001200375cdxs:NovelBiotherapeuticsMembercdxs:APACMember2023-01-012023-03-310001200375cdxs:APACMember2023-01-012023-03-310001200375cdxs:PerformanceEnzymesMembercdxs:APACMember2022-01-012022-03-310001200375cdxs:NovelBiotherapeuticsMembercdxs:APACMember2022-01-012022-03-310001200375cdxs:APACMember2022-01-012022-03-310001200375cdxs:ProductSalesMember2023-04-012023-03-3100012003752024-01-01cdxs:ProductSalesMember2023-03-310001200375cdxs:ProductSalesMember2025-01-012023-03-3100012003752026-01-01cdxs:ProductSalesMember2023-03-310001200375cdxs:ProductSalesMember2023-03-310001200375cdxs:ResearchandDevelopmentRevenueMember2023-04-012023-03-3100012003752024-01-01cdxs:ResearchandDevelopmentRevenueMember2023-03-310001200375cdxs:ResearchandDevelopmentRevenueMember2025-01-012023-03-310001200375cdxs:ResearchandDevelopmentRevenueMember2026-01-012023-03-310001200375cdxs:ResearchandDevelopmentRevenueMember2023-03-3100012003752023-04-012023-03-3100012003752024-01-012023-03-3100012003752025-01-012023-03-3100012003752026-01-012023-03-310001200375us-gaap:StockCompensationPlanMember2023-01-012023-03-310001200375us-gaap:StockCompensationPlanMember2022-01-012022-03-310001200375us-gaap:SeriesBPreferredStockMembercdxs:MolecularAssembliesIncMember2023-03-310001200375us-gaap:SeriesBPreferredStockMembercdxs:MolecularAssembliesIncMember2023-03-012023-03-310001200375cdxs:SeriesAAndBPreferredStockMembercdxs:MolecularAssembliesIncMembercdxs:MasterCollaborationResearchAgreementMember2023-01-012023-03-310001200375us-gaap:SeriesCPreferredStockMembercdxs:SeqWellMember2022-03-310001200375cdxs:SeqWellMember2022-03-310001200375cdxs:SeqWellMemberus-gaap:CommonStockMember2023-01-012023-03-310001200375cdxs:SeqWellMembercdxs:ResearchandDevelopmentRevenueMember2023-01-012023-03-310001200375cdxs:ArzedaMembercdxs:SeriesB2PreferredStockMember2023-03-310001200375cdxs:MolecularAssembliesIncMember2023-03-310001200375cdxs:MolecularAssembliesIncMember2022-12-310001200375cdxs:SeqWellMember2023-03-310001200375cdxs:SeqWellMember2022-12-310001200375cdxs:ArzedaMember2023-03-310001200375cdxs:ArzedaMember2022-12-310001200375us-gaap:OtherAggregatedInvestmentsMember2023-03-310001200375us-gaap:OtherAggregatedInvestmentsMember2022-12-310001200375us-gaap:FairValueInputsLevel1Memberus-gaap:MoneyMarketFundsMember2023-03-310001200375us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel2Member2023-03-310001200375us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel3Member2023-03-310001200375us-gaap:MoneyMarketFundsMember2023-03-310001200375us-gaap:FairValueInputsLevel1Memberus-gaap:MoneyMarketFundsMember2022-12-310001200375us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel2Member2022-12-310001200375us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel3Member2022-12-310001200375us-gaap:MoneyMarketFundsMember2022-12-310001200375us-gaap:ConvertibleDebtMember2023-01-012023-03-310001200375us-gaap:ConvertibleDebtMember2022-01-012022-03-310001200375cdxs:LaboratoryEquipmentMember2023-03-310001200375cdxs:LaboratoryEquipmentMember2022-12-310001200375us-gaap:LeaseholdImprovementsMember2023-03-310001200375us-gaap:LeaseholdImprovementsMember2022-12-310001200375us-gaap:ComputerEquipmentMember2023-03-310001200375us-gaap:ComputerEquipmentMember2022-12-310001200375cdxs:OfficeEquipmentAndFurnitureMember2023-03-310001200375cdxs:OfficeEquipmentAndFurnitureMember2022-12-310001200375us-gaap:ConstructionInProgressMember2023-03-310001200375us-gaap:ConstructionInProgressMember2022-12-310001200375cdxs:A2022InducementPlanMember2023-01-310001200375cdxs:A2019PlanMember2019-04-220001200375cdxs:A2019PlanMember2019-06-300001200375cdxs:IncentiveStockOptionsMember2023-01-012023-03-31xbrli:pure0001200375cdxs:NonStatutoryStockOptionsMember2023-01-012023-03-310001200375us-gaap:EmployeeStockOptionMember2023-01-012023-03-310001200375us-gaap:ShareBasedCompensationAwardTrancheOneMemberus-gaap:EmployeeStockOptionMember2023-01-012023-03-310001200375us-gaap:ShareBasedCompensationAwardTrancheTwoMemberus-gaap:EmployeeStockOptionMember2023-01-012023-03-310001200375us-gaap:ShareBasedCompensationAwardTrancheOneMemberus-gaap:RestrictedStockUnitsRSUMember2023-01-012023-03-310001200375us-gaap:ShareBasedCompensationAwardTrancheTwoMemberus-gaap:RestrictedStockUnitsRSUMember2023-01-012023-03-310001200375us-gaap:PerformanceSharesMember2023-03-31cdxs:installment0001200375us-gaap:PerformanceSharesMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2023-01-012023-03-310001200375us-gaap:ShareBasedCompensationAwardTrancheTwoMemberus-gaap:PerformanceSharesMember2023-01-012023-03-310001200375cdxs:PerformanceShareUnitsPSUsMember2023-01-012023-03-310001200375us-gaap:PerformanceSharesMember2023-01-012023-03-310001200375cdxs:PerformanceBasedOptionsPBOsMember2023-01-012023-03-310001200375cdxs:A2022PSUMemberus-gaap:PerformanceSharesMember2023-03-310001200375cdxs:A2022PBOMemberus-gaap:PerformanceSharesMember2023-03-310001200375us-gaap:PerformanceSharesMembercdxs:A2022PSUAnd2022PBOMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2023-01-012023-03-310001200375us-gaap:PerformanceSharesMembercdxs:A2022PSUAnd2022PBOMemberus-gaap:ShareBasedCompensationAwardTrancheOneMembersrt:ScenarioForecastMember2024-01-012024-03-310001200375us-gaap:PerformanceSharesMembercdxs:A2021PSUMember2022-03-310001200375cdxs:A2021PBOMemberus-gaap:PerformanceSharesMember2022-03-310001200375us-gaap:PerformanceSharesMemberus-gaap:ShareBasedCompensationAwardTrancheOneMembercdxs:A2021PSUAnd2021PBOMember2022-01-012022-03-310001200375us-gaap:ShareBasedCompensationAwardTrancheTwoMemberus-gaap:PerformanceSharesMembercdxs:A2021PSUAnd2021PBOMember2023-01-012023-03-310001200375us-gaap:CostOfSalesMember2023-01-012023-03-310001200375us-gaap:CostOfSalesMember2022-01-012022-03-310001200375us-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-03-310001200375us-gaap:ResearchAndDevelopmentExpenseMember2022-01-012022-03-310001200375us-gaap:SellingGeneralAndAdministrativeExpensesMember2023-01-012023-03-310001200375us-gaap:SellingGeneralAndAdministrativeExpensesMember2022-01-012022-03-310001200375us-gaap:EmployeeStockOptionMember2022-01-012022-03-310001200375cdxs:RSAsandRSUsMember2023-01-012023-03-310001200375cdxs:RSAsandRSUsMember2022-01-012022-03-310001200375cdxs:PerformanceStockUnitsMember2023-01-012023-03-310001200375cdxs:PerformanceStockUnitsMember2022-01-012022-03-310001200375cdxs:PerformanceBasedOptionsPBOsMember2022-01-012022-03-310001200375us-gaap:EmployeeStockOptionMember2023-03-310001200375cdxs:RSAsandRSUsMember2023-03-310001200375cdxs:PerformanceStockUnitsMember2023-03-310001200375cdxs:PerformanceBasedOptionsPBOsMember2023-03-3100012003752023-02-270001200375cdxs:PiperSandlerCoMember2021-05-012021-05-310001200375cdxs:PiperSandlerCoMembersrt:MaximumMember2021-05-310001200375cdxs:PiperSandlerCoMembersrt:MaximumMember2021-05-012021-05-310001200375cdxs:PiperSandlerCoMember2023-01-012023-03-310001200375cdxs:PiperSandlerCoMember2023-03-310001200375cdxs:PiperSandlerCoMember2022-01-012022-03-31utr:sqft0001200375cdxs:A200220PenobscotMember2023-03-310001200375cdxs:A400PenoscotMember2023-03-310001200375cdxs:A501ChesapeakeMember2023-03-31cdxs:renewal_option0001200375us-gaap:DemandDepositsMember2023-03-310001200375us-gaap:DemandDepositsMember2022-12-310001200375cdxs:SanCarlosMember2021-01-31cdxs:option0001200375cdxs:DevelopmentAndManufacturingServicesAgreementsMember2023-03-310001200375cdxs:FacilityMaintenanceAgreementMember2023-03-310001200375cdxs:TermLoanMember2017-06-300001200375us-gaap:RevolvingCreditFacilityMember2017-06-300001200375us-gaap:RevolvingCreditFacilityMember2017-06-302017-06-300001200375us-gaap:IndemnificationGuaranteeMember2022-03-310001200375us-gaap:IndemnificationGuaranteeMember2022-12-310001200375us-gaap:SeriesAPreferredStockMembercdxs:MolecularAssembliesIncMember2020-06-300001200375us-gaap:SeriesAPreferredStockMembercdxs:MolecularAssembliesIncMember2020-06-012020-06-300001200375us-gaap:SeriesAPreferredStockMembercdxs:MolecularAssembliesIncMember2021-04-300001200375us-gaap:SeriesAPreferredStockMembercdxs:MolecularAssembliesIncMember2021-04-012021-04-300001200375us-gaap:SeriesBPreferredStockMembercdxs:MolecularAssembliesIncMember2021-09-300001200375us-gaap:SeriesBPreferredStockMembercdxs:MolecularAssembliesIncMember2021-09-012021-09-300001200375cdxs:MasterCollaborationResearchAgreementMembercdxs:MolecularAssembliesIncMember2022-01-012022-03-310001200375cdxs:PerformanceEnzymesMembercdxs:ProductSalesMemberus-gaap:OperatingSegmentsMember2023-01-012023-03-310001200375cdxs:NovelBiotherapeuticsMembercdxs:ProductSalesMemberus-gaap:OperatingSegmentsMember2023-01-012023-03-310001200375cdxs:ProductSalesMemberus-gaap:OperatingSegmentsMember2023-01-012023-03-310001200375cdxs:PerformanceEnzymesMembercdxs:ProductSalesMemberus-gaap:OperatingSegmentsMember2022-01-012022-03-310001200375cdxs:NovelBiotherapeuticsMembercdxs:ProductSalesMemberus-gaap:OperatingSegmentsMember2022-01-012022-03-310001200375cdxs:ProductSalesMemberus-gaap:OperatingSegmentsMember2022-01-012022-03-310001200375cdxs:PerformanceEnzymesMembercdxs:ResearchandDevelopmentRevenueMemberus-gaap:OperatingSegmentsMember2023-01-012023-03-310001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:NovelBiotherapeuticsMemberus-gaap:OperatingSegmentsMember2023-01-012023-03-310001200375cdxs:ResearchandDevelopmentRevenueMemberus-gaap:OperatingSegmentsMember2023-01-012023-03-310001200375cdxs:PerformanceEnzymesMembercdxs:ResearchandDevelopmentRevenueMemberus-gaap:OperatingSegmentsMember2022-01-012022-03-310001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:NovelBiotherapeuticsMemberus-gaap:OperatingSegmentsMember2022-01-012022-03-310001200375cdxs:ResearchandDevelopmentRevenueMemberus-gaap:OperatingSegmentsMember2022-01-012022-03-310001200375cdxs:PerformanceEnzymesMemberus-gaap:OperatingSegmentsMember2023-01-012023-03-310001200375cdxs:NovelBiotherapeuticsMemberus-gaap:OperatingSegmentsMember2023-01-012023-03-310001200375us-gaap:OperatingSegmentsMember2023-01-012023-03-310001200375cdxs:PerformanceEnzymesMemberus-gaap:OperatingSegmentsMember2022-01-012022-03-310001200375cdxs:NovelBiotherapeuticsMemberus-gaap:OperatingSegmentsMember2022-01-012022-03-310001200375us-gaap:OperatingSegmentsMember2022-01-012022-03-310001200375us-gaap:CorporateNonSegmentMember2023-01-012023-03-310001200375us-gaap:CorporateNonSegmentMember2022-01-012022-03-310001200375cdxs:CustomerAMemberus-gaap:SalesRevenueProductLineMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-03-310001200375cdxs:CustomerBMemberus-gaap:SalesRevenueProductLineMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-03-310001200375cdxs:CustomerCMemberus-gaap:SalesRevenueProductLineMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-03-310001200375us-gaap:SalesRevenueProductLineMemberus-gaap:CustomerConcentrationRiskMembercdxs:CustomerDMember2023-01-012023-03-310001200375cdxs:CustomerEMemberus-gaap:SalesRevenueProductLineMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-03-310001200375us-gaap:AccountsReceivableMembercdxs:CustomerAMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-12-310001200375cdxs:CustomerBMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-03-310001200375cdxs:CustomerCMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-03-310001200375cdxs:CustomerCMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-12-310001200375cdxs:CustomerFMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-03-310001200375cdxs:CustomerGMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-03-310001200375country:US2023-03-310001200375country:US2022-12-310001200375cdxs:PerformanceEnzymesMemberus-gaap:OperatingSegmentsMember2022-12-310001200375cdxs:PerformanceEnzymesMemberus-gaap:OperatingSegmentsMember2023-03-310001200375cdxs:NovelBiotherapeuticsMemberus-gaap:OperatingSegmentsMember2022-12-310001200375cdxs:NovelBiotherapeuticsMemberus-gaap:OperatingSegmentsMember2023-03-310001200375us-gaap:OperatingSegmentsMember2022-12-310001200375us-gaap:OperatingSegmentsMember2023-03-310001200375cdxs:FinancialReceivablesNotPastDueMember2023-03-310001200375us-gaap:FinancingReceivables30To59DaysPastDueMember2023-03-310001200375us-gaap:FinancingReceivables60To89DaysPastDueMember2023-03-310001200375us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember2023-03-310001200375cdxs:FinancialReceivablesPastDueMember2023-03-310001200375cdxs:FinancialReceivablesNotPastDueMember2022-12-310001200375us-gaap:FinancingReceivables30To59DaysPastDueMember2022-12-310001200375us-gaap:FinancingReceivables60To89DaysPastDueMember2022-12-310001200375us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember2022-12-310001200375cdxs:FinancialReceivablesPastDueMember2022-12-310001200375us-gaap:OneTimeTerminationBenefitsMember2022-11-012022-11-300001200375us-gaap:OneTimeTerminationBenefitsMember2023-01-012023-03-31

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 March 31, 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 May 1, 2023, there were 66,767,717 shares of the registrant’s Common Stock, par value $0.0001 per share, outstanding.






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


TABLE OF CONTENTS





PART I. FINANCIAL INFORMATION
Item 1. Financial Statements
Codexis, Inc.
Condensed Consolidated Balance Sheets
(Unaudited)
(In Thousands, Except Per Share Amounts)
March 31, 2023December 31, 2022
Assets
Current assets:
Cash and cash equivalents$102,831 $113,984 
Restricted cash, current525 521 
Financial assets:
Accounts receivable9,934 31,904 
Contract assets2,449 2,116 
Unbilled receivables7,797 7,016 
Total financial assets20,180 41,036 
Less: allowances(163)(163)
Total financial assets, net20,017 40,873 
Inventories1,996 2,029 
Prepaid expenses and other current assets4,585 5,487 
Total current assets129,954 162,894 
Restricted cash1,526 1,521 
Investment in non-marketable equity securities ($0 and $13,921 with a related party)
21,310 20,510 
Right-of-use assets - Operating leases, net38,013 39,263 
Property and equipment, net23,609 22,614 
Goodwill3,241 3,241 
Other non-current assets415 350 
Total assets$218,068 $250,393 
Liabilities and Stockholders' Equity
Current liabilities:
Accounts payable$4,494 $3,246 
Accrued compensation6,611 11,453 
Other accrued liabilities8,340 15,279 
Current portion of lease obligations - Operating leases5,492 5,360 
Deferred revenue13,374 13,728 
Total current liabilities38,311 49,066 
Deferred revenue, net of current portion15,508 16,881 
Long-term lease obligations - Operating leases36,845 38,278 
Other long-term liabilities1,388 1,371 
Total liabilities92,052 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; 100,000 shares authorized;
66,696 shares and 65,811 shares issued and outstanding as of March 31, 2023 and December 31, 2022, respectively
6 6 
Additional paid-in capital569,917 566,081 
Accumulated deficit(443,907)(421,290)
Total stockholders' equity126,016 144,797 
Total liabilities and stockholders' equity$218,068 $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 March 31,
 20232022
Revenues:
Product revenue$8,364 $30,690 
Research and development revenue ($0 and $245 from a related party)
4,618 4,650 
Total revenues12,982 35,340 
Costs and operating expenses:
Cost of product revenue4,521 8,521 
Research and development16,655 19,500 
Selling, general and administrative15,399 15,705 
Restructuring charges72  
Total costs and operating expenses36,647 43,726 
Loss from operations(23,665)(8,386)
Interest income1,089 42 
Other expense, net(25)(3)
Loss before income taxes(22,601)(8,347)
Provision for income taxes16 9 
Net loss$(22,617)$(8,356)
Net loss per share, basic and diluted$(0.34)$(0.13)
Weighted average common stock shares used in computing net loss per share, basic and diluted65,931 65,096 
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 March 31, 2023SharesAmount
Balance as of January 1, 2023
65,811 $6 $566,081 $(421,290)$144,797 
Exercise of stock options143 — 281 — 281 
Release of stock awards479 — — — — 
Employee stock-based compensation— — 2,809 — 2,809 
Issuance of common stock, net of issuance costs of $390
328 — 1,150 — 1,150 
Taxes paid related to net share settlement of equity awards(65)— (404)— (404)
Net loss— — — (22,617)(22,617)
Balance as of March 31, 2023
66,696 $6 $569,917 $(443,907)$126,016 
Common StockAdditional
Paid-in
Capital
Accumulated DeficitTotal Stockholders' Equity
Three Months Ended March 31, 2022SharesAmount
Balance as of January 1, 2022
65,109 $6 $552,083 $(387,698)$164,391 
Exercise of stock options78 — 181 — 181 
Release of stock awards190 — — — — 
Employee stock-based compensation— — 3,777 — 3,777 
Non-employee stock-based compensation— — 61 — 61 
Taxes paid related to net share settlement of equity awards(73)— (1,419)— (1,419)
Net loss— — — (8,356)(8,356)
Balance as of March 31, 2022
65,304 $6 $554,683 $(396,054)$158,635 
See accompanying notes to the unaudited condensed consolidated financial statements.
5



Codexis, Inc.
Condensed Consolidated Statements of Cash Flows
(Unaudited)
(In Thousands)
Three Months Ended March 31,
 20232022
Operating activities:
Net loss$(22,617)$(8,356)
Adjustments to reconcile net loss to net cash used in operating activities:
Depreciation1,466 1,215 
Amortization expense - right-of-use assets - operating and finance leases1,249 1,200 
Stock-based compensation2,809 3,838 
Equity securities earned from research and development activities ($0 and ($245) from a related party)
(50)(245)
Other non-cash items(5)(7)
Changes in operating assets and liabilities:
Financial assets20,856 (6,463)
Inventories33 (400)
Prepaid expenses and other assets586 1,397 
Accounts payable694 (1,029)
Accrued compensation and other accrued liabilities(11,091)(121)
Other long-term liabilities(1,415)(1,192)
Deferred revenue(1,727)(1,023)
Net cash used in operating activities(9,212)(11,186)
Investing activities:
Purchase of property and equipment(2,539)(5,089)
Proceeds from sale of property and equipment5 7 
Investment in non-marketable securities(750)(5,000)
Net cash used in investing activities(3,284)(10,082)
Financing activities:
Proceeds from exercises of stock options281 181 
Proceeds from issuance of common stock in connection with public offering1,540  
Costs incurred in connection with issuance of common stock at public offering(65)(42)
Taxes paid related to net share settlement of equity awards(404)(1,419)
Net cash provided by (used in) financing activities1,352 (1,280)
Net decrease in cash, cash equivalents and restricted cash(11,144)(22,548)
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$104,882 $96,347 
Supplemental disclosure of cash flow information:
Interest paid$7 $5 
Income taxes paid$193 $ 
Supplemental non-cash investing and financing activities:
Capital expenditures incurred but not yet paid$819 $789 

6



The following table provides a reconciliation of cash, cash equivalents and restricted cash reported within the unaudited condensed consolidated balance sheets as of March 31, 2023 and 2022 to the total of the same such amounts shown above in the unaudited condensed consolidated statements of cash flows:
 March 31,
 20232022
Cash and cash equivalents$102,831 $94,260 
Restricted cash, current and non-current 2,051 2,087 
Total cash, cash equivalents and restricted cash$104,882 $96,347 

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



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 are a leading enzyme engineering company leveraging our CodeEvolver® technology platform to discover, develop, enhance, and commercialize novel, high performance enzymes and other classes of proteins.
We report our financial results based on two reportable segments: Performance Enzymes and Novel Biotherapeutics. Our Novel Biotherapeutics business includes a diverse pipeline of product candidates in clinical and preclinical development. Our Performance Enzymes business consists primarily of two focus areas: i) biocatalysts for the sustainable manufacturing of pharmaceuticals and ii) enzymes for life science applications, including genomic sequencing and nucleic acid synthesis. The segment information aligns with how the chief operating decision maker (CODM), who is our Chief Executive Officer (CEO), reviews and manages the business.
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 months ended March 31, 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 March 31, 2023, results of our operations for the three months ended March 31, 2023 and 2022, changes in stockholders' equity for the three months ended March 31, 2023 and 2022, and cash flows for the three months ended March 31, 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, inventories, valuation of equity investments, 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. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition, including sales, expenses, reserves and allowances, manufacturing, research and development costs and employee-related amounts, will depend on future developments that are highly uncertain, and may not be accurately predicted, including as a result of new information that may emerge concerning COVID-19 and the actions taken to contain or treat COVID-19, as well as the economic impact on local, regional, national and international customers, markets and economies.
8


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 months ended March 31, 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 March 31, 2023Three Months Ended March 31, 2022
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Major products and service:
Product revenue$8,364 $ $8,364 $30,690 $ $30,690 
Research and development revenue1,122 3,496 4,618 2,409 2,241 4,650 
Total revenues$9,486 $3,496 $12,982 $33,099 $2,241 $35,340 
Primary geographical markets:
Americas$918 $1,666 $2,584 $2,553 $1,179 $3,732 
EMEA1,259 1,830 3,089 3,065 1,062 4,127 
APAC7,309  7,309 27,481  27,481 
Total revenues$9,486 $3,496 $12,982 $33,099 $2,241 $35,340 
Contract Balances
The following table presents balances of contract assets, unbilled receivables, contract costs, and contract liabilities (in thousands):
March 31, 2023December 31, 2022
Contract assets$2,449 $2,116 
Unbilled receivables$7,797 $7,016 
Contract costs$2 $19 
Contract liabilities: deferred revenue$28,882 $30,609 
We had no asset impairment charges related to financial assets in the three months ended March 31, 2023 and 2022.
The increase in contract assets was primarily due to increases in product revenue from contracts subject to over time revenue recognition. The increase 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.
9


We recognized the following revenues (in thousands):
Three Months Ended March 31,
Revenue recognized in the period for:20232022
Amounts included in contract liabilities at the beginning of the period:
Performance obligations satisfied$1,602 $1,094 
Changes in the period:
Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods(216)215 
Performance obligations satisfied from new activities in the period - contract revenue11,596 34,031 
Total revenues$12,982 $35,340 
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 March 31, 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 March 31, 2023 (in thousands):
Remainder of 2023
20242025
2026 and Thereafter
Total
Product revenue$5,891 $12,050 $100 $3,339 $21,380 
Research and development revenue7,480 22   7,502 
Total revenues$13,371 $12,072 $100 $3,339 $28,882 
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 March 31,
 20232022
Shares issuable under the Equity Incentive Plan9,3975,899
Note 5. Investments in Non-Marketable Securities
Non-Marketable Equity Securities
In March 2023, we purchased an additional 985,545 shares of Molecular Assemblies, Inc. (“MAI”) Series B preferred stock for $0.8 million. As of March 31, 2023, we hold 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.
10


In March 2022, we entered into a Stock Purchase Agreement with seqWell, Inc. (“seqWell”), a privately held biotechnology 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. We received 47,933 shares of seqWell's common stock from research and development services with seqWell and we recognized $50 thousand in research and development revenue from these services with seqWell during the three months ended March 31, 2023.
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 because 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. 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.
There was no remeasurement event for our investments in MAI, seqWell, Arzeda, and other non-marketable equity securities that occurred during the three months ended March 31, 2023 and 2022. We recognized no realized gains or losses during the three months ended March 31, 2023 and 2022.
The following table presents the carrying value of our non-marketable equity securities (in thousands):
 March 31, 2023December 31, 2022
MAI
$14,671 $13,921 
seqWell5,050 5,000 
Arzeda1,289 1,289 
Other investments in non-marketable equity securities300 300 
Total non-marketable equity securities$21,310 $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):
 March 31, 2023
 Level 1Level 2Level 3Total
Money market funds $100,165 $ $ $100,165 
 December 31, 2022
 Level 1Level 2Level 3Total
Money market funds $77,309 $ $ $77,309 
During the three months ended March 31, 2023 and 2022, we did not recognize any significant credit losses nor other-than-temporary impairment losses on non-marketable securities.
11


Note 7. Balance Sheets Details
Cash Equivalents
Cash equivalents consisted of the following (in thousands):
 March 31, 2023December 31, 2022
 Adjusted CostEstimated Fair ValueAdjusted CostEstimated Fair Value
Money market funds (1)
$100,165 $100,165 $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 March 31, 2023, the total cash and cash equivalents balance of $102.8 million consisted of money market funds of $100.2 million and cash of $2.6 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):
March 31, 2023December 31, 2022
Raw materials$108 $108 
Work in process36 91 
Finished goods1,852 1,830 
Total Inventories$1,996 $2,029 
Inventories are recorded net of reserves of $1.2 million as of March 31, 2023 and December 31, 2022.
Property and Equipment, net
Property and equipment, net consisted of the following (in thousands):
March 31, 2023December 31, 2022
Laboratory equipment$40,489 $39,679 
Leasehold improvements16,694 16,633 
Computer equipment and software3,039 3,039 
Office equipment and furniture1,360 1,345 
Construction in progress3,189 1,739 
Property and equipment64,771 62,435 
Less: accumulated depreciation and amortization(41,162)(39,821)
Property and equipment, net$23,609 $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 March 31,
20232022
Depreciation expense$1,466 $1,215 
Goodwill
Goodwill had a carrying value of $3.2 million as of March 31, 2023 and December 31, 2022.
12


Other Accrued Liabilities
Other accrued liabilities consisted of the following (in thousands):
March 31, 2023December 31, 2022
Accrued professional and outside service fees$4,256 $3,495 
Accrued purchases 2,896 10,852 
Other1,188 932 
Total other accrued liabilities$8,340 $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 2019, the Board and stockholders approved the 2019 Incentive Award Plan (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 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 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; provided that no more than 14,000,000 shares may be issued upon the exercise of incentive stock options (“ISOs”). 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”).
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.
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.
13


Performance-contingent Restricted Stock Units ("PSUs") and Performance Based Options ("PBOs")
The compensation committee of the Board approved, solely in respect of non-executive employees, delegated to our CEO the authority to approve grants of PSUs. The compensation committee of the Board also approved grants of PBOs and PSUs to our executives. 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 first quarter of 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 March 31,
 20232022
Cost of product revenue$129 $100 
Research and development 722 1,039 
Selling, general and administrative1,958 2,699 
Total$2,809 $3,838 
14


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 March 31,
 20232022
Stock options$922 $806 
RSUs and RSAs1,126 1,162 
PSUs837 872 
PBOs(76)998 
Total$2,809 $3,838 
As of March 31, 2023, unrecognized stock-based compensation expense, net of expected forfeitures, was $11.9 million related to unvested stock options, $8.6 million related to unvested RSUs and RSAs, $1.1 million related to unvested PSUs, and $0.2 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 three months ended March 31, 2023 and March 31, 2022, we issued 142,856 and 77,600 shares, respectively, upon option exercises at a weighted-average exercise price of $1.97 and $2.33 per share, respectively, with net cash proceeds of $0.3 million and $0.2 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 of 1933, as amended.
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.
During the three months ended March 31, 2023, 327,480 shares of our common stock were issued pursuant to the EDA. We received gross proceeds of $1.5 million, or $1.2 million in net proceeds after PSC's commissions and direct offering expenses of $0.4 million. As of March 31, 2023, $48.5 million worth of shares remained available for sale under the EDA. During the three months ended March 31, 2022, no shares of our common stock were issued pursuant to the EDA.
15


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 of 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 March 31, 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 consisted 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. We have provided ARE with a $0.5 million security deposit in the form of a letter of credit and is recorded as non-current restricted cash on the consolidated balance sheets.
We are required to restore certain areas of the Redwood City and San Carlos facilities that we are renting to their original form. We are expensing the asset retirement obligation over the terms of the respective leases. We review the estimated obligation each reporting period and make adjustments if our estimates change. We recorded asset retirement obligations of $0.5 million as of March 31, 2023 and December 31, 2022, 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 months ended March 31, 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 March 31,
 20232022
Finance lease costs$ $18 
Operating lease cost1,830 1,831 
Short-term lease costs (1)
 30 
Total lease cost (2)
$1,830 $1,879 
(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)7.0 years
Weighted-average discount rate5.4 %
16


Three Months Ended March 31,
Cash paid (in thousands):
20232022
Operating cash flows from operating leases$1,882 $1,022 
As of March 31, 2023, our maturity analysis of annual undiscounted cash flows of the non-cancellable operating leases are as follows (in thousands):
Years Ending December 31,Operating Leases
2023 (remaining 9 months)$5,686 
20247,783 
20258,004 
20268,232 
20275,835 
Thereafter14,871 
Total minimum lease payments50,411 
Less: imputed interest8,074 
Lease obligations$42,337 
Reconciliation of operating lease liabilities as shown within the unaudited condensed consolidated balance sheets:
Current portion of lease obligations - Operating leases$5,492 
Long-term lease obligations - Operating leases36,845 
Total operating lease liabilities$42,337 
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 9 Months)2024 and
Thereafter
Development and manufacturing services agreements$3,734 $2,543 $1,191 
Facility maintenance agreement2,491 2,491  
Total other commitments$6,225 $5,034 $1,191 
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. We terminated the loan agreement with Western Alliance Bank in March 2023.
17


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 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.
Note 11. Related Party Transactions
Molecular Assemblies, Inc.
In June 2020, we entered into a Stock Purchase Agreement with MAI 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 months ended March 31, 2023, and subsequent to the related party period which ended in August 2022, are included in the condensed consolidated statement of operations. We recognized $0.2 million in research and development revenue from transactions with MAI in the three months ended March 31, 2022 and during the related party period.
Note 12. Segment, Geographical and Other Revenue Information
Segment Information
We manage 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.
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.
18


Factors considered in 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 March 31, 2023Three Months Ended March 31, 2022
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Revenues:
Product revenue$8,364 $ $8,364 $30,690 $ $30,690 
Research and development revenue1,122 3,496 4,618 2,409 2,241 4,650 
Total revenues9,486 3,496 12,982 33,099 2,241 35,340 
Costs and operating expenses:
Cost of product revenue4,521  4,521 8,521  8,521 
Research and development (1)
8,099 7,312 15,411 6,122 12,346 18,468 
Selling, general and administrative (1)
2,798 951 3,749 3,541 720 4,261 
Restructuring charges 72 72    
Total segment costs and operating expenses15,418 8,335 23,753 18,184 13,066 31,250 
Income (loss) from operations$(5,932)$(4,839)(10,771)$14,915 $(10,825)4,090 
Corporate costs (2)
(10,364)(11,205)
Unallocated depreciation and amortization(1,466)(1,232)
Loss before income taxes$(22,601)$(8,347)
(1) Research and development expenses and selling, general and administrative expenses exclude depreciation and amortization of finance leases.
(2) Corporate costs include unallocated selling, general and administrative expenses, interest income, and other expense, net.
The following table provides stock-based compensation expense included in income (loss) from operations (in thousands):
Three Months Ended March 31,
20232022
Performance EnzymesNovel BiotherapeuticsCorporate costTotalPerformance EnzymesNovel BiotherapeuticsCorporate costTotal
Stock-based compensation$1,035 $413 $1,361 $2,809 $1,690 $410 $1,738 $3,838 
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 March 31,
20232022
Customer A*61 %
Customer B23 %*
Customer C14 %*
Customer D13 %*
Customer E10 %*
* Percentage was less than 10%
19


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
March 31, 2023December 31, 2022
Customer A*53 %
Customer B21 %*
Customer C11 %10 %
Customer F14 %*
Customer G12 %*
* 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 March 31,
20232022
Revenues:
Americas$2,584 $3,732 
EMEA3,089 4,127 
APAC7,309 27,481 
Total revenues$12,982 $35,340 
Identifiable long-lived assets by location was as follows (in thousands):
March 31, 2023December 31, 2022
United States$61,622 $61,877 
Identifiable goodwill by reporting unit was as follows (in thousands):
As of March 31, 2023 and December 31, 2022
Performance EnzymesNovel BiotherapeuticsTotal
Goodwill$2,463 $778 $3,241 
Note 13. Allowance for Credit Losses
The following table summarizes the financial assets allowance for credit losses (in thousands):
Three Months Ended March 31,
20232022
Balance at beginning of period$163 $416 
Provision for credit losses  
Write-offs  
Adjustment to the existing allowance  
Balance at end of period$163 $416 
20


The following tables summarize accounts receivable by aging category (in thousands):
March 31, 2023
Current31-60 Days61-90 Days91 Days and overTotal over 31 DaysTotal balance
Accounts receivable$7,385 $508 $321 $1,720 $2,549 $9,934 
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 November 2022, we announced a plan for a workforce reduction of approximately 18% of our total employee 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 first quarter of 2023. During the three months ended March 31, 2023, we recorded an additional restructuring charge of $0.1 million related to severance, bonus and other termination benefits in connection with the workforce reduction, which is expected to be paid in the second quarter of 2023. We do not expect to record any significant future charges related to the restructuring plan initiated in 2022.
21


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" of this Quarterly Report on Form 10-Q and elsewhere in this report. 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 will 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, nucleic acid synthesis and genomic sequencing, and – as biotherapeutic candidates – they have the potential to treat challenging diseases. Our unique enzymes drive improvements such as higher yields, reduced energy usage and waste generation, improved efficiency in manufacturing, greater sensitivity in genomic and diagnostic applications, and potentially more efficacious therapeutics.
We manage our business as two business segments: Performance Enzymes and Novel Biotherapeutics. See Note 12, “Segment, Geographical and Other Revenue Information” in the Notes to Unaudited Condensed Consolidated Financial Statements included in this Quarterly Report.
Performance Enzymes
Our performance enzymes business consists primarily of two focus areas: biocatalysts for the sustainable 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® 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.
22


Novel Biotherapeutics
Our novel biotherapeutics business includes a diverse pipeline of product candidates in clinical and preclinical development. Our initial biotherapeutic product candidates include enzymes that are orally administered for function in the gastrointestinal tract (“GI”), such as our partnered product candidates CDX-7108 for the treatment of exocrine pancreatic insufficiency (“EPI”) and CDX-6114 for the treatment of phenylketonuria (“PKU”), which are both in Phase 1 clinical trials. 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.
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 spread of COVID-19 has affected segments of the global economy and may affect our operations, including the potential interruption of our supply chain. We are monitoring this situation closely, and although operations have not been materially affected by the COVID-19 outbreak to date, the ultimate duration and severity of the outbreak and its impact on the economic environment and our business is uncertain.
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. Subsequent to the end of the quarter, 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 expect to recognize $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. 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 Catalyst Supply Agreement to extend the agreement for an additional five years through February 2022. In September 2021, the Sitagliptin Catalyst Supply Agreement was amended to extend the agreement through December 2026.
We recognized $3.0 million and $1.7 million under this agreement for the three months ended March 31, 2023 and 2022, respectively, which represented 23% and 5% of our total revenues for those periods. As of March 31, 2023, we recorded revenue of $2.0 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 first 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.
23


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. We are also eligible to receive payments from Nestlé Health Science under the Nestlé License Agreement that include (i) development and approval milestones of up to $85.0 million, (ii) sales-based milestones of up to $250.0 million in the aggregate, which aggregate amount is achievable if net sales exceed $1.0 billion in a single year, and (iii) tiered royalties, at percentages ranging from the mid-single digits to low double-digits of net sales of product.
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 has been extended through December 2023 with an automatic renewal 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. The term of the development has been extended through December 2023 with an automatic renewal through December 2024. We, together with Nestlé Health Science, are continuing to advance CDX-7108 and initiated a Phase 1 clinical trial of CDX-7108 for the treatment of EPI 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. We believe the interim data support further development of CDX-7108 in partnership with Nestlé Health Science, with potential for the initiation of a Phase 2 study in 2024.
Under the Nestlé SCA and the development agreement, we recognized $1.8 million and $1.1 million in research and development fees for the three months ended March 31, 2023 and 2022, respectively.
Platform Technology Transfer and License Agreement
In May 2019, we entered into the Novartis CodeEvolver® Agreement with Novartis. The 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.
Pursuant to the 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 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 are being recognized during the Improvements Term.
We recognized $0.3 million and $0.2 million in research and development revenue for the three months ended March 31, 2023 and 2022, respectively.
24


Strategic Collaboration and License Agreement
In March 2020, we entered into the Takeda Agreement with Shire Human Genetic Therapies, Inc., a wholly-owned subsidiary of Takeda Pharmaceutical Co. Ltd. (“Takeda”), under which we are collaborating 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. Pursuant to the Takeda Agreement, we are eligible to receive other payments that include (i) reimbursement of research and development fees and preclinical development milestones for the Initial Programs of $12.0 million, in aggregate, and $4.2 million for the fourth program, (ii) clinical development and commercialization-based milestones, per target gene, of up to $104.0 million and (iii) tiered royalty payments based on net sales of applicable products at percentages ranging from the mid-single digits to low single-digits.
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.
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 $1.7 million and $1.2 million for the three months ended March 31, 2023 and 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. Subsequent to the end of the quarter, 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 expect to recognize $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.
No revenue was recognized from the Pfizer Supply Agreement during the three months ended March 31, 2023. We recognized product revenue of $21.3 million for the three months ended March 31, 2022 from the sale of quantities of CDX-616 to Pfizer which comprised 60% of our total revenues for the three months ended March 31, 2022. As of March 31, 2023 and December 31, 2022, we had $24.4 million in deferred revenue related to the $25.9 million fee received from Pfizer.
25


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 March 31,Change
 20232022$%
Revenues:
Product revenue$8,364 $30,690 $(22,326)(73)%
Research and development revenue4,618 4,650 (32)(1)%
Total revenues12,982 35,340 (22,358)(63)%
Costs and operating expenses:
Cost of product revenue4,521 8,521 (4,000)(47)%
Research and development16,655 19,500 (2,845)(15)%
Selling, general and administrative15,399 15,705 (306)(2)%
Restructuring charges72 — 72 100%
Total costs and operating expenses36,647 43,726 (7,079)(16)%
Loss from operations(23,665)(8,386)(15,279)182%
Interest income1,089 42 1,047 2,493%
Other expense, net(25)(3)(22)733%
Loss before income taxes(22,601)(8,347)(14,254)171%
Provision for income taxes16 78%
Net loss$(22,617)$(8,356)$(14,261)171%
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 March 31,Change
20232022$%
Product revenue$8,364 $30,690 $(22,326)(73)%
Research and development revenue4,618 4,650 (32)(1)%
Total revenues$12,982 $35,340 $(22,358)(63)%
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.
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 $22.4 million to $13.0 million in the three months ended March 31, 2023 compared to the same period in 2022, or 63%, primarily due to lower product revenue.
26


Product revenue, decreased by $22.3 million to $8.4 million in the three months ended March 31, 2023 compared to the same period in 2022, primarily due to decreased sales of CDX-616 to Pfizer.
Research and development revenue remained unchanged in the three months ended March 31, 2023 compared to the same period in 2022, primarily due to higher revenue from Nestlé Health Science under the Nestlé SCA and development agreement which was offset by lower research and development fees from existing collaboration agreements being recognized in the first quarter of 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 March 31,Change
20232022$%
Cost of product revenue$4,521 $8,521 $(4,000)(47)%
Research and development16,655 19,500 (2,845)(15)%
Selling, general and administrative15,399 15,705 (306)(2)%
Restructuring charges72 — 72 100%
Total costs and operating expenses$36,647 $43,726 $(7,079)(16)%
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.
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 March 31,Change
20232022$%
Product revenue$8,364$30,690$(22,326)(73)%
Cost of product revenue (1)
4,5218,521(4,000)(47)%
Product gross profit$3,843$22,169$(18,326)(83)%
Product gross margin (%) (2)
46 %72 %
(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 $4.0 million in the three months ended March 31, 2023 compared to the same period in 2022 primarily due to a lower volume of product sales as compared to the same period in prior year. The product gross margin decreased to 46% in the three months ended March 31, 2023 compared to 72% in the three months ended March 31, 2022, primarily due to the sales of lower margin products, including sitagliptin, and variation in prices per volume sold.
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 were $16.7 million in the first quarter of 2023, a decrease of $2.8 million, or 15%, from $19.5 million in the first quarter of 2022. The decrease was primarily due to decreases in costs associated with lower headcount, decrease in outside services related to Chemistry, Manufacturing and Controls (“CMC”) and regulatory expenses, lower stock-based compensation costs and lower lab supply costs.
27


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 were $15.4 million in the first quarter of 2023, a decrease of $0.3 million, or 2%, compared to $15.7 million in the first quarter of 2022. The decrease was primarily due to lower legal fees and lower stock-based compensation costs, which was partially offset by higher payroll-based expenses and higher outside and temporary services.
Restructuring Charges
Restructuring charges consist of one-time employee severance and other termination benefits due to a workforce reduction plan that was initiated in the fourth quarter of 2022. Restructuring charges were $0.1 million for the three months ended March 31, 2023.
Interest Income and Other Expense, net (in thousands, except percentages):
Three Months Ended March 31,Change
20232022$%
Interest income$1,089 $42 $1,047 2,493 %
Other expense, net(25)(3)(22)733 %
Total other income, net$1,064 $39 $1,025 2,628 %
Interest Income
Interest income increased by $1.0 million in the three months ended March 31, 2023 compared to the same period in 2022, primarily due to higher average interest rates on cash balances.
Provision for Income Taxes (in thousands, except percentages):
Three Months Ended March 31,Change
20232022$%
Provision for income taxes$16 $$78%
The provision for income taxes for the three months ended March 31, 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 months ended March 31, 2022 was primarily due for the accrual of interest and penalties on historic uncertain tax positions
Net Loss
Net loss for the three months ended March 31, 2023 was $22.6 million, or a net loss per basic and diluted share of $0.34. This compared to a net loss of $8.4 million, or a net loss per basic and diluted share of $0.13 for the three months ended March 31, 2022. The increase in net loss is primarily related to lower product revenues from CDX-616, which was partially offset by lower operating expenses.
28


RESULTS OF OPERATIONS BY SEGMENT (in thousands, except percentages):
Revenues by segment
Three Months Ended March 31,Change
20232022Performance EnzymesNovel Biotherapeutics
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal$%$%
Revenues:
Product revenue$8,364 $— $8,364 $30,690 $— $30,690 $(22,326)(73)%$— —%
Research and development revenue1,122 3,496 4,618 2,409 2,241 4,650 (1,287)(53)%1,255 56%
Total revenues$9,486 $3,496 $12,982 $33,099 $2,241 $35,340 $(23,613)(71)%$1,255 56%
Revenues from the Performance Enzymes segment decreased by $23.6 million, or 71%, for the three months ended March 31, 2023, compared to the same period in 2022. The decrease in product revenue of $22.3 million, or 73%, in the three months ended March 31, 2023 as compared to the same period in 2022, was primarily due to decreased sales of CDX-616 to Pfizer. The decrease in research and development revenue of $1.3 million, or 53%, to $1.1 million in the three months ended March 31, 2023, as compared to $2.4 million in the three months ended March 31, 2022 was primarily due to lower research and development fees from existing collaboration agreements compared to the same period in the prior year.
Revenues from the Novel Biotherapeutics segment increased by $1.3 million, or 56%, for the three months ended March 31, 2023, as compared to the same period in 2022, primarily due to higher research and development revenue from Nestlé Health Science under the Nestlé SCA and development agreement.
Costs and operating expenses by segment
Three Months Ended March 31,Change
20232022Performance EnzymesNovel Biotherapeutics
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal$%$%
Cost of product revenue$4,521 $— $4,521 $8,521 $— $8,521 $(4,000)(47)%$— —%
Research and development (1)
8,099 7,312 15,411 6,122 12,346 18,468 1,977 32%(5,034)(41)%
Selling, general and administrative (1)
2,798 951 3,749 3,541 720 4,261 (743)(21)%231 32%
Restructuring charges— 72 72 — — — — —%72 100%
Total segment costs and operating expenses$15,418 $8,335 $23,753 $18,184 $13,066 31,250 $(2,766)(15)%$(4,731)(36)%
Corporate costs (2)
11,428 11,244 
Unallocated depreciation and amortization1,466 1,232 
Total costs and operating expenses$36,647 $43,726 
(1) Research and development expenses and selling, general and administrative expenses exclude depreciation and amortization of finance leases.
(2) Corporate costs include unallocated selling and general and administrative expenses.
For a discussion of product cost of revenue, see "—Results of Operations".
Research and development expense in the Performance Enzymes segment increased by $2.0 million, or 32%, in the three months ended March 31, 2023, as compared to the same period in 2022, primarily due to higher allocable costs and higher stock-based compensation costs which was offset by decrease in costs associated with lower headcount and decrease in costs associated with outside services and lab supply costs.
29


Selling, general and administrative expense in the Performance Enzymes segment decreased by $0.7 million, or 21%, in the three months ended March 31, 2023, as compared to the same period in 2022, primarily due to decrease in costs associated with lower headcount and lower stock-based compensation costs.
Research and development expense in the Novel Biotherapeutics segment decreased by $5.0 million, or 41%, in the three months ended March 31, 2023 as compared to the same period in 2022, primarily due to decrease in costs associated with lower headcount, decrease in outside services related to CMC and regulatory expenses and lower lab supply costs.
Selling, general and administrative expense in the Novel Biotherapeutics segment increased by $0.2 million or 32% in the three months ended March 31, 2023, as compared to the same period in 2022, primarily due to higher payroll-based expenses and higher outside and temporary services.
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 costs related to the potential clinical development of our product candidates, 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 continue to invest in high potential research and development activities with long-term commercial potential, if approved, and see less cash revenue from sales of CDX-616 to Pfizer for PAXLOVID™.
The following summarizes our cash and cash equivalents balance and working capital as of March 31, 2023 and December 31, 2022 (in thousands):
March 31, 2023December 31, 2022
Cash and cash equivalents$102,831 $113,984 
Working capital$91,643 $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, Novartis and Nestlé Health Science of up to $439.0 million in the aggregate. In addition, 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.
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 quarter, 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 expect to recognize $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.
We are actively collaborating with new and existing customers. We believe that we can utilize our current products and services, and develop new products and services, to increase our revenues and gross margins in future periods.
30


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 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 three months ended March 31, 2023, 327,480 shares of our common stock were issued pursuant to the EDA and we received net proceeds of $1.2 million. As of March 31, 2023, $48.5 million worth of shares remained available for sale under the EDA. 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, 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 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.
31


Cash Flows
The following is a summary of cash flows for three months ended March 31, 2023 and 2022 (in thousands):
 Three Months Ended March 31,
20232022
Net cash used in operating activities$(9,212)$(11,186)
Net cash used in investing activities(3,284)(10,082)
Net cash provided by (used in) financing activities1,352 (1,280)
Net decrease in cash, cash equivalents and restricted cash$(11,144)$(22,548)
Cash Flows from Operating Activities
Cash used in operating activities for the three months ended March 31, 2023 of $9.2 million consisted of net loss adjusted for certain non-cash items and changes in operating assets and liabilities.
The $2.0 million decrease in net cash used in operations for the three months ended March 31, 2023 as compared to the same period in 2022, was primarily due to the net effect of decreases 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 three months ended March 31, 2023 was primarily attributable to $0.8 million for the purchase of additional shares of MAI's Series B preferred stock in March 2023 and $2.5 million for purchases of property and equipment.
The $6.8 million decrease in net cash used in investing activities for the three months ended March 31, 2023 as compared to the same period in 2022, was primarily due to higher cash utilized for additional investment in equity securities and purchases of property and equipment in prior year.
Cash Flows from Financing Activities
Cash provided by financing activities for the three months ended March 31, 2023 included $1.5 million gross proceeds from issuance of common stock and $0.3 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 $2.6 million increase in net cash provided by financing activities for the three months ended March 31, 2023 as compared to the same period in 2022 was primarily due to proceeds from issuance of common stock 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 months ended March 31, 2023 from those discussed in our Annual Report.
32


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 $102.8 million as of March 31, 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 March 31, 2023, the effect of a hypothetical 10% decrease in market interest rates would have a $0.5 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 USD declines in value as compared to the foreign currencies in which we incur expenses, our foreign-currency based expenses increase when translated into United States dollars. Although substantially all of our sales are denominated in United States dollars, 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 March 31, 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.
33


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 March 31, 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.

34


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 our 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 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.
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.
Our biotherapeutic programs are early stage, highly regulated and expensive.
If either Nestlé Health Science or Takeda terminate their development programs under their respective license agreements with us, any potential revenue from those license agreements will be significantly reduced or non-existent.
We may need additional capital in the future in order to expand our business.
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.
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 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 or our customers may not be able to obtain regulatory approval for the use of our products in food and food ingredients, if required.
Our ongoing efforts to deploy our technology in the life science tools market may fail.
35


The regulatory approval processes of the FDA and comparable foreign authorities are lengthy, time consuming and inherently unpredictable, and we may be unable to obtain regulatory approval for our product candidates.
Clinical trials are difficult to design and implement, expensive, time-consuming and involve an uncertain outcome.
Results of preclinical studies and early clinical trials of product candidates may not be predictive of results of later studies or trials.
We may not be able to maintain orphan drug designations for certain of our product candidates and may be unable to maintain the benefits associated with orphan drug designation, including the potential for market exclusivity.
We have obtained rare pediatric disease designation for CDX-6512 and CDX-6210, however, there is no guarantee that such designation will result in approval of CDX-6512 or CDX-6210, and even if we obtain approval of CDX-6512 or CDX-6210 for the indication for which we have been awarded rare pediatric disease designation, there is no guarantee that such approval will result in an aware of a rare pediatric disease priority review voucher.
Disruptions at the FDA and other government agencies caused by funding shortages or global health concerns could hinder their ability to hire, retain, or deploy key leadership and other personnel, or otherwise prevent new or modified products from being developed, approved, or commercialized in a timely manner, or at all, which could negatively impact our business.
Even if we obtain regulatory approval for any products that we develop alone or with collaborators, such products will remain subject to ongoing regulatory requirements.
Our business operations and future relationships with investigators, healthcare professionals, consultants, third-party payors, patient organizations and customers will be subject to applicable healthcare regulatory laws, which could expose us to penalties.
The successful commercialization of product candidates developed by us or our partners will depend in part on the extent to which governmental authorities and health insurers establish adequate coverage, reimbursement levels and pricing policies.
We rely on third parties to conduct our clinical trials and perform some of our research and preclinical studies, which if not satisfactorily carried out or fail to meet expected deadlines, may have an adverse effect on our business and prospects.
We contract with third parties for the manufacturing and supply of product candidates, which supply may become limited or interrupted or may not be of satisfactory quality and quantity.
Our efforts to prosecute, maintain, protect and/or defend our intellectual property rights may not be successful.
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.
36


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 $22.6 million and $8.3 million for the three months ended March 31, 2023 and 2022, respectively. As of March 31, 2023 and December 31, 2022, we had an accumulated deficit of $443.9 million and $421.3 million, respectively. If we are unable to expand our business, through new or expanded collaborations, development of new products or services, or increased sales of existing products and services, our net losses may increase and we may never achieve profitability. In addition, some of our collaboration agreements, including our collaborations with Nestlé Health Science and Takeda, and our performance enzyme 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 may fund development of additional proprietary performance enzymes and/or biotherapeutic products. There can be no assurance that any of these products 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.
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, Novartis, Nestlé Health Science and Takeda 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, Novartis, Nestlé Health Science or Takeda, 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
37


our collaborators experience business difficulties, which could eliminate or impair their ability to effectively perform under our agreements.
We are aware of media reports that Takeda has communicated internally its desire to 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 their plans related to such programs. It is unclear how any such changes at Takeda, if they occur, might impact our collaborative programs. To our knowledge, Takeda has made no definitive decisions with regards to any programs covered by the Takeda Agreement.
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.
Our biotherapeutic programs are early stage, highly regulated and expensive. Our ability to obtain additional development partners or additional funding for the programs, to advance our product candidates to clinical trials and to ultimately receive regulatory approvals is highly uncertain.
We are developing and have developed novel biotherapeutic candidates, including CDX-6114, the novel oral enzyme product candidate for the treatment of PKU that we licensed to Nestlé Health Science and CDX-7108, the oral recombinant lipase product candidate for the treatment of EPI that we are developing in collaboration with Nestlé Health Science. We are also developing protein sequences for use in gene therapy products for Fabry Disease, Pompe Disease, an undisclosed blood factor deficiency and a certain undisclosed rare genetic disorder for Takeda. 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, we or our collaborators must undergo the following process required by the FDA:
completion of extensive preclinical laboratory tests and preclinical animal studies, all performed in accordance with GLP requirements;
submission to the FDA of an IND, which must become effective before human clinical studies may begin in the United States;
approval by an independent IRB representing each clinical site before the clinical study may be initiated at the site;
performance of adequate and well-controlled human clinical studies (generally divided into three phases) in accordance with 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 cGMP requirements; and
FDA review and approval of a BLA prior to any commercial marketing or sale of the product in the United States.
If we 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 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.
38


Our efforts to advance our biotherapeutic candidates that we develop are subject to numerous risks, including the following:
The regulatory approval processes of the FDA and comparable foreign authorities are lengthy, time consuming and the results are inherently unpredictable. If we are ultimately unable to obtain regulatory approval for biotherapeutic product candidates, our business will be harmed. To obtain regulatory approval to market any product candidate, preclinical studies and costly and lengthy clinical trials are required, and the results of the studies and trials are highly uncertain. A failure of one or more preclinical or clinical trials can occur at any stage, and many companies that have believed their drug candidates performed satisfactorily in preclinical and clinical testing have nonetheless failed to obtain marketing approval of their product candidates.
We may find it difficult to enroll patients in our clinical trials for product candidates. Any enrollment difficulties could delay clinical trials and any potential product approval.
We may experience difficulty or delay in obtaining the FDA’s acceptance of an IND for product candidates we may seek to enter into clinical development, which would delay initiation of Phase 1 clinical testing. Delays in the commencement or completion of clinical testing could significantly affect our product development costs or the product development costs of our present and any future collaborators. We do not know whether planned clinical trials will begin on time or be completed on schedule, if at all. The commencement and completion of clinical trials can be delayed for a number of reasons. For example, a clinical trial may be suspended or terminated by us, by the IRB of the institution in which such trial is being conducted, or by the FDA due to a number of factors, including unforeseen safety issues, changes in governmental regulations or lack of adequate funding to continue the clinical trial.
We have limited experience in drug development or regulatory matters related to drug development. As a result, we rely or will rely on third parties to conduct our preclinical and clinical studies, assist us with drug manufacturing and formulation and perform other tasks for us. If these third parties do not successfully carry out their responsibilities or comply with regulatory requirements, we may receive lower quality products or services, suffer reputational harm and not be able to obtain regulatory approval for product candidates.
Our efforts to use CodeEvolver® protein engineering technology platform to generate new lead biotherapeutic candidates, whether under our collaborations with Nestlé Health Science, Takeda or otherwise, may not be successful in creating candidates of value.
We will be exposed to potential product liability risks through the testing of experimental therapeutics in humans, which may expose us to substantial uninsured liabilities.
Third parties may develop intellectual property that could limit our ability to develop, market and commercialize product candidates.
Changes in methods of treatment of disease, such as gene therapy, could cause us to stop development of our product candidates or reduce or eliminate potential demand for CDX-6114 or CDX-7108, if approved, or any other product candidates that we may develop in the future.
If either Nestlé Health Science or Takeda terminate their development programs under their respective license agreements with us, any potential revenue from those license agreements will be significantly reduced or non-existent, and our results of operations and financial condition will be materially and adversely affected.
We have invested significant time and financial resources in the development of CDX-6114 and other product candidates 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.
Under the Nestlé License Agreement, we are eligible to receive payments from Nestlé Health Science that include (i) development and approval milestones of up to $85.0 million, (ii) sales-based milestones of up to $250.0 million in the aggregate, which aggregate amount is achievable if net sales exceed $1.0 billion in a single year, and (iii) tiered royalties, at percentages ranging from the mid-single digits to low double-digits, of net sales of product.

39


Under the Takeda Agreement, we are eligible to earn potential payments that include (i) reimbursement of research and development fees and preclinical development milestone payments for the three initial programs of $12.0 million, in aggregate, and $4.2 million for the fourth program, (ii) clinical development and commercialization-based milestone, per target gene, of up to $104.0 million, and (iii) tiered royalty payments based on net sales of applicable products at percentages ranging from the mid-single digits to low single-digits. While we have received milestone payments under the Nestlé License Agreement to date there is no guarantee that we will receive further milestone payments under the Nestlé License Agreement or Takeda Agreement in the future. As previously noted, we are aware of media reports that Takeda has communicated internally its desire to 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 their plans related to such programs. It is unclear how any such changes at Takeda, if they occur, might impact our collaborative programs.
Under the Nestlé License Agreement and the Takeda Agreement, either Nestlé Health Science and Takeda, as applicable, may each terminate the entire agreement or specified programs thereunder at will under certain circumstances.
If Nestlé Health Science terminates its rights and obligations with respect to the Nestlé License Agreement and/or Takeda terminates its rights and obligations with respect to the Takeda Agreement, then depending on the timing of such event:
the development of our product candidates subject to the respective agreements may be terminated or significantly delayed;
our cash expenditures could increase significantly if it is necessary for us to hire additional employees and allocate scarce resources to the development and commercialization of product candidates;
we would bear all of the risks and costs related to the further development and commercialization of product candidates that were previously the subject of the respective agreements, including the reimbursement of third parties; and
in order to fund further development and commercialization of new product candidates or programs, we may need to seek out and establish alternative collaboration arrangements with third-party partners; this may not be possible, or we may not be able to do so on terms which are acceptable to us, in which case it may be necessary for us to limit the size or scope of one or more of our programs or increase our expenditures and seek additional funding by other means.
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 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 opportunities in the biotherapeutics markets, 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 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.
In addition, we may choose to raise additional capital due to market conditions or strategic considerations, such as funding investments in our biotherapeutics business, 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, 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.
40


We are dependent on a limited number of customers.
Our current revenues are derived from a limited number of key customers. For the three months ended March 31, 2023 and 2022, customers that each individually contributed 10% or more of our total revenue accounted for 60% and 61% 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.
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 three months ended March 31, 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 collaborators or customers 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.
41


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 collaborators or customers and could negatively affect our revenues or operating results.
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. 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 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 industry 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.
42


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.
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.
There are numerous companies that participate in the biotherapeutics market generally and the PKU market specifically. Many of these companies are large, successful and well-capitalized. BioMarin Pharmaceutical Inc. (“BioMarin”) and Daiichi Sankyo Company market Kuvan® in the United States, Europe and Japan for the treatment of a certain type of PKU. In addition, BioMarin gained US FDA approval in 2018 and began commercial sales of PalynziqTM as an injectable enzyme substitution therapy for the potential treatment of PKU. Several companies, i.e., Synlogic, Homology Medicines and Rubius have reported clinical efforts to develop biotherapeutic candidates for PKU. Beyond targeting PKU, Takeda (who acquired Shire Plc in 2019), Genzyme / Sanofi S.A., BioMarin and other companies market or are actively developing new enzyme therapeutics. There are numerous companies that are developing other forms of therapeutics, such as small molecules, gene therapies, as well as therapies based on gene editing, which could compete with biotherapeutics.
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.
The COVID-19 pandemic has adversely affected and may continue in the future to, directly or indirectly, adversely affect our business, results of operations and financial condition.
The COVID-19 pandemic has had a significant impact globally, prompting governments and businesses to take unprecedented measures in response. In the United States, the COVID-19 pandemic 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 COIVD-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.
43


The potential impact of COVID-19, or another pandemic or public health crisis, has had and could continue to 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 contributed 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 emergency use authorization (“EUA”) by the U.S. Food and Drug Administration (“FDA”) in late 2021, and which is authorized for the treatment of adults and pediatric patients (12 years of age and older weighing at least 40 kg) with a current diagnosis of mild-to-moderate COVID-19 and who are at high risk for progression to severe COVID-19, including hospitalization or death.
The FDA has the authority to issue an EUA under certain circumstances, such as during a public health emergency (“PHE”), pursuant to a declaration by the Secretary of the Department of Health and Human Services (“HHS”), that an emergency exists justifying the issuance of EUAs for certain types of products (referred to as EUA declarations). On March 27, 2020, the Secretary of HHS declared that circumstances exist justifying authorization of drugs and biologics during the COVID-19 pandemic, subject to the terms of any EUA that is issued for a specific product. Once an EUA declaration has been issued, the FDA can issue EUAs for products that fall within the scope of that declaration. To issue an EUA, the FDA Commissioner must conclude that (1) the chemical, biological, radioactive or nuclear agent (“CBRN”) that is referred to in the EUA declaration can cause serious or life-threatening diseases or conditions; (2) based on the totality of scientific evidence available, it is reasonable to believe that the product may be effective in diagnosing, treating, or preventing the disease or condition attributable to the CBRN and that the product’s known and potential benefits outweigh its known and potential risks; and (3) there is no adequate, approved, and available alternative to the product. The authorization to market products under an EUA is limited to the period of time the EUA declaration is in effect. If the Secretary of HHS determines that the circumstances justifying the issuance of EUAs have also lapsed, the HHS Secretary will provide advance notice that the EUA declaration will be terminated. After an EUA declaration is terminated, all EUAs issued under that declaration also terminate and therefore emergency use of all products under the EUA declaration is no longer authorized. The FDA can also revoke an EUA in certain circumstances even if the EUA declaration has not been terminated.

The FDA’s policies regarding an EUA can change unexpectedly. We cannot predict how long Pfizer’s EUA will remain in place. The FDA’s policies regarding products used to diagnose, treat or mitigate COVID-19 remain in flux as the FDA responds to new and evolving public health information and clinical evidence and it remains possible that Pfizer’s EUA may be revoked in due course. Moreover, the federal government has taken recent steps to terminate distinct emergency authorities related to COVID-19. For example, on April 10, 2023, President Biden signed legislation terminating a national emergency regarding COVID-19 although this action does not affect any EUAs granted by FDA with respect to its authority to authorize drugs and biologics for the diagnosis, treatment, or prevention of COVID-19 and related conditions, including Pfizer’s EUA, FDA has announced its intent to adjust policies and operations implemented during the COVID-19 pandemic to a resumption of normal operations, including a transition of products marketed under EUAs, to the ordinary FDA requirements, including premarket authorization requirements. Pfizer has submitted an application for full approval of PAXLOVID™, and an FDA advisory committee has recommend such approval. If the emergency use of the PAXLOVID™ becomes no longer authorized, and if Pfizer does not obtain full approval of the product, our financial condition and results of operations could be adversely affected.
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:
44


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;
the EUA granted by the FDA for the use of PAXLOVID™ for the treatment of COVID-19 infections in humans could be withdrawn at any time;
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 may not ultimately receive full marketing authorization for PAXLOVID™ from the FDA and other international regulatory authorities;
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. At March 31, 2023, 9.8% 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 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;
45


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


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


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.
Risks Related to Government Regulation and Clinical Product Development
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 recently begun to use 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.
48


The regulatory approval processes of the FDA and comparable foreign authorities are lengthy, time consuming and inherently unpredictable, and if we are ultimately unable to obtain regulatory approval for our product candidates, our business will be substantially harmed.
We and any collaborators are not permitted to commercialize, market, promote or sell any product candidate in the United States without obtaining marketing approval from the FDA. Foreign regulatory authorities impose similar requirements. The time required to obtain approval by the FDA and comparable foreign authorities is unpredictable, but typically takes many years following the commencement of clinical trials and depends upon numerous factors, including substantial discretion of the regulatory authorities. In addition, approval policies, regulations or the type and amount of clinical data necessary to gain approval may change during the course of a product candidate’s clinical development and may vary among jurisdictions. We and any collaborators must complete additional preclinical or nonclinical studies and clinical trials to demonstrate the safety, purity and potency (or efficacy) of our product candidates in humans to the satisfaction of the regulatory authorities before we will be able to obtain these approvals. Our product candidates could fail to receive regulatory approval for many reasons, including the following:
the FDA or comparable foreign regulatory authorities may disagree with the design or implementation of our or our collaborators’ clinical trials;
we or our collaborators may be unable to demonstrate to the satisfaction of the FDA or comparable foreign regulatory authorities that a product candidate is safe and effective for its proposed indication;
the results of clinical trials may not meet the level of statistical significance required by the FDA or comparable foreign regulatory authorities for approval;
we or our collaborators may be unable to demonstrate that a product candidate’s clinical and other benefits outweigh its safety risks;
the FDA or comparable foreign regulatory authorities may disagree with our or our collaborators’ interpretation of data from preclinical studies or clinical trials;
the data collected from clinical trials of product candidates may not be sufficient to support the submission of a BLA to obtain regulatory approval in the United States or elsewhere;
the FDA or comparable foreign regulatory authorities may fail to approve the manufacturing processes or facilities of third-party manufacturers with which we or our collaborators contract for clinical and commercial supplies;
the FDA or comparable foreign regulatory authorities may fail to approve the companion diagnostics we contemplate developing with collaborators; and
the approval policies or regulations of the FDA or comparable foreign regulatory authorities may significantly change in a manner rendering our or our collaborators’ clinical data insufficient for approval.
This lengthy approval process as well as the unpredictability of future clinical trial results may result in our failing to obtain regulatory approval to market our product candidates, which would significantly harm our business, results of operations and prospects. In addition, even if we were to obtain approval, regulatory authorities may approve any of our product candidates for fewer or more limited indications than we request, may impose significant limitations in the form of narrow indications, warnings, or a REMS. Regulatory authorities may not approve the price we or our collaborators intend to charge for products we may develop, may grant approval contingent on the performance of costly post-marketing clinical trials, or may approve a product candidate with a label that does not include the labeling claims necessary or desirable for the successful commercialization of that product candidate. Any of the foregoing scenarios could materially harm the commercial prospects for our product candidates.
Clinical trials are difficult to design and implement, expensive, time-consuming and involve an uncertain outcome, and the inability to successfully conduct clinical trials and obtain regulatory approval for our product candidates would substantially harm our business.
Clinical testing is expensive and usually takes many years to complete, and its outcome is inherently uncertain. Failure can occur at any time during the clinical trial process, and product candidates in later stages of clinical trials may fail to show the desired safety and efficacy traits despite having progressed through preclinical studies and initial clinical trials. We do not know whether planned clinical trials will begin on time, need to be redesigned, recruit and enroll patients on time or be completed on schedule, or at all. Clinical trials can be delayed, suspended or terminated for a variety of reasons, including in connection with:
49


the inability to generate sufficient preclinical, toxicology or other in vivo or in vitro data to support the initiation of clinical trials;
applicable regulatory authorities disagreeing as to the design or implementation of the clinical trials;
obtaining regulatory authorization to commence a trial;
reaching an agreement on acceptable terms with prospective contract research organizations (“CROs”), and clinical trial sites, the terms of which can be subject to extensive negotiation and may vary significantly among different CROs and trial sites;
obtaining IRB approval at each site;
developing and validating the companion diagnostic to be used in a clinical trial, if applicable;
insufficient or inadequate supply or quality of product candidates or other materials necessary for use in clinical trials, or delays in sufficiently developing, characterizing or controlling a manufacturing process suitable for clinical trials;
recruiting and retaining enough suitable patients to participate in a trial;
having enough patients complete a trial or return for post-treatment follow-up;
adding a sufficient number of clinical trial sites;
inspections of clinical trial sites or operations by applicable regulatory authorities, or the imposition of a clinical hold;
clinical sites deviating from trial protocol or dropping out of a trial;
the inability to demonstrate the efficacy and benefits of a product candidate;
discovering that product candidates have unforeseen safety issues, undesirable side effects or other unexpected characteristics;
addressing patient safety concerns that arise during the course of a trial; receiving untimely or unfavorable feedback from applicable regulatory authorities regarding the trial or requests from regulatory authorities to modify the design of a trial;
non-compliance with applicable regulatory requirements by us or third parties or changes in such regulations or administrative actions;
suspensions or terminations by IRBs of the institutions at which such trials are being conducted, by the Data Safety Monitoring Board for such trial or by the FDA or other regulatory authorities due to a number of factors, including those described above;
third parties being unable or unwilling to satisfy their contractual obligations to us; or
changes in our financial priorities, greater than anticipated costs of completing a trial or our inability to continue funding the trial.
Many of the factors that cause, or lead to, a delay in the commencement or completion of clinical trials may also ultimately lead to the denial of regulatory approval of our product candidates. Additionally, we or our collaborators may experience unforeseen events during or resulting from clinical trials that could delay or prevent receipt of marketing approval for or commercialization of product candidates. For example, clinical trials of product candidates may produce negative, inconsistent or inconclusive results, and we may decide, or regulators may require us, to conduct additional clinical trials or abandon development programs. Regulators may also revise the requirements for approving the product candidates, or such requirements may not be as we anticipate. If we or our collaborators are required to conduct additional clinical trials or other testing of product candidates beyond those that we or our collaborators currently contemplate, if we or our collaborators are unable to successfully complete clinical trials or other testing of such product candidates, if the results of these trials or tests are not positive or are only modestly positive or if there are safety concerns, we may:
incur unplanned costs;
be delayed in obtaining or fail to obtain marketing approval for product candidates;
50


obtain marketing approval in some countries and not in others;
obtain marketing approval for indications or patient populations that are not as broad as intended or desired;
obtain marketing approval with labeling that includes significant use or distribution restrictions or safety warnings, including boxed warnings;
be subject to additional post-marketing testing requirements;
be subject to changes in the way the product is administered;
have regulatory authorities withdraw or suspend their approval of the product or impose restrictions on its distribution;
be sued; or
experience damage to our reputation.
If we or our collaborators experience delays in the commencement or completion of our clinical trials, or if we or our collaborators terminate a clinical trial prior to completion, we may experience increased costs, have difficulty raising capital and/or be required to slow down the development and approval process timelines. Furthermore, the product candidates that are the subject of such trials may never receive regulatory approval, and their commercial prospects and our ability to generate product revenues from them could be impaired or not realized at all.
Results of preclinical studies and early clinical trials of product candidates may not be predictive of results of later studies or trials. Our product candidates may not have favorable results in later clinical trials, if any, or receive regulatory approval.
Preclinical and clinical drug development is expensive and can take many years to complete, and its outcome is inherently uncertain. Failure can occur at any time during the drug development process. Despite promising preclinical or clinical results, any product candidate can unexpectedly fail at any stage of preclinical or clinical development. The historical failure rate for product candidates in our industry is high. The results from preclinical studies or early clinical trials of a product candidate may not be predictive of the results from later preclinical studies or clinical trials, and interim results of a clinical trial are not necessarily indicative of final results. Product candidates in later stages of clinical trials may fail to show the desired safety and efficacy characteristics despite having progressed through preclinical studies and initial clinical trials.
Many companies in the biopharmaceutical and biotechnology industries have suffered significant setbacks at later stages of development after achieving positive results in early stages of development, and we may face similar setbacks. These setbacks have been caused by, among other things, preclinical findings made while clinical trials were underway or safety or efficacy observations made in clinical trials, including previously unreported adverse events. Moreover, non-clinical and clinical data are often susceptible to varying interpretations and analyses, and many companies that believed their product candidates performed satisfactorily in preclinical studies and clinical trials nonetheless failed to obtain regulatory approval. Even if any product candidates progress to clinical trials, these product candidates may fail to show the safety and efficacy in clinical development required to obtain regulatory approval, despite the observation of positive results in animal studies. Our or our collaborators’ failure to replicate positive results from early research programs and preclinical or greenhouse studies may prevent us from further developing and commercializing those or other product candidates, which would limit our potential to generate revenues from them and harm our business and prospects.
For the foregoing reasons, we cannot be certain that any ongoing or future preclinical studies or clinical trials will be successful. Any safety or efficacy concerns observed in any one of our preclinical studies or clinical trials in a targeted area could limit the prospects for regulatory approval of product candidates in that and other areas, which could have a material adverse effect on our business and prospects.
We may not be able to maintain orphan drug designations for certain of our product candidates, and may be unable to maintain the benefits associated with orphan drug designation, including the potential for market exclusivity.
Regulatory authorities in some jurisdictions, including the U.S. and Europe, may designate drugs for relatively small patient populations as orphan drugs. Under the Orphan Drug Act of 1983, the FDA may designate a product candidate as an orphan product if it is intended to treat a rare disease or condition, which is generally defined as a patient population of fewer than 200,000 individuals in the U.S., or a patient population of greater than 200,000 individuals in the U.S., but for which there is no reasonable expectation that the cost of developing the drug will be recovered from sales in the U.S. The FDA has granted orphan drug designation to CDX-6512 for the treatment of HCU and to CDX-6210 for the treatment of Maple Syrup Urine Disease (MSUD).
51


In the U.S., orphan designation entitles a party to financial incentives such as opportunities for grant funding for clinical trial costs, tax advantages and user-fee waivers. In addition, if a product candidate that has orphan designation subsequently receives the first FDA approval for the disease for which it has such designation, the product is entitled to orphan drug exclusivity, which means that the FDA may not approve any other applications, including a BLA, to market the same drug for the same disease or condition for seven years, except in limited circumstances, such as a showing of clinical superiority to the product with orphan exclusivity or where the manufacturer is unable to assure sufficient product quantity.
Even if we obtain orphan drug exclusivity for a product, that exclusivity may not effectively protect the product from competition because different drugs can be approved for the same disease condition. Even after an orphan drug is approved, the FDA can subsequently approve the same drug for the same disease condition if such regulatory authority concludes that the later drug is clinically superior if it is shown to be safer, more effective or makes a major contribution to patient care. Orphan drug designation neither shortens the development time or regulatory review time of a drug nor gives the drug any advantage in the regulatory review or approval process.
We have obtained rare pediatric disease designation for CDX-6512 and CDX-6120, however, there is no guarantee that such designation will result in approval of CDX-6512 or CDX-6210, and even if we obtain approval of CDX-6512 or CDX-6210 for the indications for which we have been awarded rare pediatric disease designation, there is no guarantee that such approval will result in an aware of a rare pediatric disease priority review voucher.
In 2012, Congress authorized the FDA to award priority review vouchers to sponsors of certain rare pediatric disease product applications. This program is designed to encourage development of new drug and biological products for the prevention and treatment of certain rare pediatric diseases. Specifically, under this program, a sponsor who receives an approval for a drug or biologic for a “rare pediatric disease” that meets certain criteria may qualify for a voucher that can be redeemed to receive a priority review of a subsequent marketing application for a different product, even if that subsequent marketing application would not otherwise qualify for priority review on its own. The sponsor of a rare pediatric disease product receiving a priority review voucher may transfer (including by sale) the voucher to another sponsor. The voucher may be further transferred any number of times before the voucher is used, as long as the sponsor making the transfer has not yet submitted the application. The FDA may also revoke any priority review voucher if the rare pediatric disease drug for which the voucher was awarded is not marketed in the U.S. within one year following the date of approval.
We have obtained rare pediatric disease designation for CDX-6512 for the treatment of HCU and for CDX-6210 for the treatment of MSUD. Even though we have obtained rare pediatric disease designations, there is no guarantee that we will be able to obtain a priority review voucher, even if CDX-6512 and/or CDX-6210 are approved by the FDA. Moreover, Congress included a sunset provision in the statute authorizing the rare pediatric disease priority review voucher program. On December 27, 2020, the Rare Pediatric Disease Priority Review Voucher Program was extended, and under the current statutory sunset provisions, after September 30, 2024, FDA may only award a voucher for an approved rare pediatric disease product application if the sponsor has rare pediatric disease designation for the drug, and that designation was granted by September 30, 2024. After September 30, 2026, FDA may not award any rare pediatric disease priority review vouchers (unless Congress amends the law to extend the program further).
Disruptions at the FDA and other government agencies caused by funding shortages or global health concerns could hinder their ability to hire, retain, or deploy key leadership and other personnel, or otherwise prevent new or modified products from being developed, approved, or commercialized in a timely manner, or at all, which could negatively impact our business.
The ability of the FDA and other government agencies to review and approve new products can be affected by a variety of factors, including government budget and funding levels, statutory, regulatory and policy changes, a government agency’s ability to hire and retain key personnel and accept the payment of user fees, and other events that may otherwise affect the government agency’s ability to perform routine functions. Average review times at the FDA and other government agencies have fluctuated in recent years as a result. In addition, government funding of other government agencies that fund research and development activities is subject to the political process, which is inherently fluid and unpredictable. Disruptions at the FDA and other agencies may also slow the time necessary for new drugs and biologics or modifications to approved drugs or biologics to be reviewed and/or approved by necessary government agencies, which would adversely affect our business. For example, over the last several years, the United States government has shut down several times and certain regulatory agencies, such as the FDA, have had to furlough critical FDA employees and stop critical activities.
52


Separately, in response to the COVID-19 pandemic, the FDA postponed most inspections of domestic and foreign manufacturing facilities at various points. Even though the FDA has since resumed standard inspection operations of domestic facilities where feasible, the FDA has continued to monitor and implement changes to its inspectional activities to ensure the safety of its employees and those of the firms it regulates as it adapts to the evolving COVID-19 pandemic, and any resurgence of the virus or emergence of new variants may lead to further inspectional delays. Regulatory authorities outside the United States may adopt similar restrictions or other policy measures in response to the COVID-19 pandemic. If a prolonged government shutdown occurs, or if global health concerns continue to hinder or prevent the FDA or other regulatory authorities from conducting their regular inspections, reviews, or other regulatory activities, it could significantly impact the ability of the FDA or other regulatory authorities to timely review and process our regulatory submissions, which could have a material adverse effect on our business.
Even if we obtain regulatory approval for any products that we develop alone or with collaborators, such products will remain subject to ongoing regulatory requirements, which may result in significant additional expense.
Even if products we develop alone or with collaborators receive regulatory approval, they will be 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 we, 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 us or our collaborators, including requiring recall or withdrawal of the product from the market or suspension of manufacturing.
Moreover, if any of our product candidates are approved, our product labeling, advertising, promotion and distribution will be subject to regulatory requirements and continuing regulatory review. The FDA strictly regulates the promotional claims that may be made about drug products. In particular, a product may not be promoted for uses that are not approved by the FDA as reflected in the product’s approved labeling. If we or our collaborators fail to comply with applicable regulatory requirements following approval of any potential products we may develop, authorities may:
issue an untitled enforcement letter or a warning letter asserting a violation of the law;
seek an injunction, impose civil and criminal penalties, and impose monetary fines, restitution or disgorgement of profits or revenues;
suspend or withdraw regulatory approval;
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) submitted by us or our collaborators;
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 that we or our collaborators submit;
refuse to permit the import or export of products; or
53


refuse to allow us or our collaborators to enter into 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 inhibit our or our 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.
Our business operations and future relationships with investigators, healthcare professionals, consultants, third-party payors, patient organizations and customers will be subject to applicable healthcare regulatory laws, which could expose us to penalties.
Our business operations and future arrangements with investigators, healthcare professionals, consultants, third-party payors, patient organizations and customers, may expose us to broadly applicable fraud and abuse and other healthcare laws and regulations. These laws may constrain the business or financial arrangements and relationships through which we will conduct our operations, including how we research, market, sell and distribute our product candidates, if approved. Such laws include:
the U.S. federal Anti-Kickback Statute, which prohibits, among other things, persons or entities from knowingly and willfully soliciting, offering, receiving or providing any remuneration (including any kickback, bribe, or certain rebate), directly or indirectly, overtly or covertly, in cash or in kind, to induce or reward, or in return for, either the referral of an individual for, or the purchase, lease, order or recommendation of, any good, facility, item or service, for which payment may be made, in whole or in part, under U.S. federal and state healthcare programs such as Medicare and Medicaid. A person or entity does not need to have actual knowledge of the statute or specific intent to violate it in order to have committed a violation;
the U.S. federal false claims laws, including the civil False Claims Act, which, among other things, impose criminal and civil penalties, including through civil whistleblower or qui tam actions, against individuals or entities for knowingly presenting, or causing to be presented, to the U.S. federal government, claims for payment or approval that are false or fraudulent, knowingly making, using or causing to be made or used, a false record or statement material to a false or fraudulent claim, or from knowingly making a false statement to avoid, decrease or conceal an obligation to pay money to the U.S. federal government. In addition, the government may assert that a claim including items and services resulting from a violation of the U.S. federal Anti-Kickback Statute constitutes a false or fraudulent claim for purposes of the False Claims Act;
the U.S. federal Health Insurance Portability and Accountability Act of 1996 (“HIPAA”), which imposes criminal and civil liability for, among other things, knowingly and willfully executing, or attempting to execute, a scheme to defraud any healthcare benefit program, or knowingly and willfully falsifying, concealing or covering up a material fact or making any materially false statement, in connection with the delivery of, or payment for, healthcare benefits, items or services; similar to the U.S. federal Anti-Kickback Statute, a person or entity does not need to have actual knowledge of the statute or specific intent to violate it in order to have committed a violation;
the U.S. federal Physician Payments Sunshine Act, which requires certain manufacturers of drugs, devices, biologics and medical supplies that are reimbursable under Medicare, Medicaid, or the Children’s Health Insurance Program to report annually to the government information related to certain payments and other transfers of value to physicians (defined to include doctors, dentists, optometrists, podiatrists and chiropractors), certain non-physician practitioners such as physician assistants and nurse practitioners, and teaching hospitals, as well as ownership and investment interests held by the physicians described above and their immediate family members; and
analogous U.S. state laws and regulations, including: state anti-kickback and false claims laws, which may apply to our future business practices, including but not limited to, research, distribution, sales and marketing arrangements and claims involving healthcare items or services reimbursed by any third-party payor, including private insurers; state laws that require pharmaceutical companies to comply with the pharmaceutical industry’s voluntary compliance guidelines and the relevant compliance guidance promulgated by the U.S. federal government, or otherwise restrict payments that may be made to healthcare providers and other potential referral sources; and state laws and regulations that require drug manufacturers to file reports relating to pricing and marketing information, which requires tracking gifts and other remuneration and items of value provided to healthcare professionals and entities.
54


Ensuring that our internal operations and future business arrangements with third parties comply with applicable healthcare laws and regulations will involve substantial costs. It is possible that governmental authorities will conclude that our business practices do not comply with current or future statutes, regulations, agency guidance or case law involving applicable fraud and abuse or other healthcare laws and regulations. If our operations are found to be in violation of any of the laws described above or any other governmental laws and regulations that may apply to us, we may be subject to significant penalties, including civil, criminal and administrative penalties, damages, fines, exclusion from government-funded healthcare programs, such as Medicare and Medicaid or similar programs in other countries or jurisdictions, disgorgement, individual imprisonment, contractual damages, reputational harm, diminished profits and the curtailment or restructuring of our operations.
The successful commercialization of product candidates developed by us or our partners will depend in part on the extent to which governmental authorities and health insurers establish adequate coverage, reimbursement levels and pricing policies. Failure to obtain or maintain coverage and adequate reimbursement for such product candidates, if approved, could limit our or our partners’ ability to market those products and decrease our ability to generate revenue.
The availability and adequacy of coverage and reimbursement by governmental healthcare programs such as Medicare and Medicaid, private health insurers and other third-party payors are essential for most patients to be able to afford prescription medications such as our product candidates, assuming FDA approval. Our ability to achieve acceptable levels of coverage and reimbursement for products by governmental authorities, private health insurers and other organizations will have an effect on our ability to successfully commercialize our product candidates. Assuming we obtain coverage for our product candidates by a third-party payor, the resulting reimbursement payment rates may not be adequate or may require co-payments that patients find unacceptably high. We cannot be sure that coverage and reimbursement in the United States, the EU or elsewhere will be available for our product candidates or any product that we may develop, and any reimbursement that may become available may be decreased or eliminated in the future.
Third-party payors increasingly are challenging prices charged for pharmaceutical products and services, and many third-party payors may refuse to provide coverage and reimbursement for particular drugs or biologics when an equivalent generic drug, biosimilar or a less expensive therapy is available. It is possible that a third-party payor may consider our product candidates as substitutable and only offer to reimburse patients for the less expensive product. Even if we show improved efficacy or improved convenience of administration with our product candidates, pricing of existing third-party therapeutics may limit the amount we will be able to charge for our product candidates. These payors may deny or revoke the reimbursement status of a given product or establish prices for new or existing marketed products at levels that are too low to enable us to realize an appropriate return on our investment in our product candidates. For products administered under the supervision of a physician, obtaining coverage and adequate reimbursement may be particularly difficult because of the higher prices often associated with such drugs. Additionally, separate reimbursement for the product itself or the treatment or procedure in which the product is used may not be available, which may impact physician utilization. If reimbursement is not available or is available only at limited levels, we may not be able to successfully commercialize our product candidates, and may not be able to obtain a satisfactory financial return on our product candidates.
No uniform policy for coverage and reimbursement for products exists among third-party payors in the United States. Therefore, coverage and reimbursement for products can differ significantly from payor to payor. As a result, the coverage determination process is often a time-consuming and costly process that will require us to provide scientific and clinical support for the use of our product candidates to each payor separately, with no assurance that coverage and adequate reimbursement will be applied consistently or obtained in the first instance. Furthermore, rules and regulations regarding reimbursement change frequently, in some cases on short notice, and we believe that changes in these rules and regulations are likely.
Outside the United States, international operations are generally subject to extensive governmental price controls and other market regulations, and we believe the increasing emphasis on cost-containment initiatives in Europe and other countries have and will continue to put pressure on the pricing and usage of our product candidates. In many countries, the prices of medical products are subject to varying price control mechanisms as part of national health systems. Other countries allow companies to fix their own prices for medical products, but monitor and control company profits. Additional foreign price controls or other changes in pricing regulation could restrict the amount that we are able to charge for our product candidates. Accordingly, in markets outside the United States, the reimbursement for our product candidates may be reduced compared with the United States and may be insufficient to generate commercially-reasonable revenue and profits.
55


Moreover, increasing efforts by governmental and third-party payors in the United States and abroad to cap or reduce healthcare costs may cause such organizations to limit both coverage and the level of reimbursement for newly approved products and, as a result, they may not cover or provide adequate payment for our product candidates. We expect to experience pricing pressures in connection with the sale of our product candidates due to the trend toward managed health care, the increasing influence of health maintenance organizations and additional legislative changes. The downward pressure on healthcare costs in general, particularly prescription drugs and biologics and surgical procedures and other treatments, has become intense. As a result, increasingly high barriers are being erected to the entry of new products.
Recently enacted legislation, future legislation and healthcare reform measures may increase the difficulty and cost for our partners to obtain marketing approval for and commercialize product candidates developed by us.
In the United States and some foreign jurisdictions, there have been, and we expect there will continue to be, a number of legislative and regulatory changes to the healthcare system, including cost-containment measures that may reduce or limit coverage and reimbursement for newly approved drugs and affect our ability to profitably sell any product candidates for which we develop and our partners obtain marketing approval. In particular, there have been and continue to be a number of initiatives at the U.S. federal and state levels that seek to reduce healthcare costs and improve the quality of healthcare.
For example, in March 2010, the Affordable Care Act (the “ACA”) was enacted in the United States. The ACA established an annual, nondeductible fee on any entity that manufactures or imports specified branded prescription drugs and biologic agents; extended manufacturers’ Medicaid rebate liability to covered drugs dispensed to individuals who are enrolled in Medicaid managed care organizations; expanded eligibility criteria for Medicaid programs; expanded the entities eligible for discounts under the 340B drug pricing program; increased the statutory minimum rebates a manufacturer must pay under the Medicaid Drug Rebate Program; established a new Patient-Centered Outcomes Research Institute to oversee, identify priorities in and conduct comparative clinical effectiveness research, along with funding for such research; and establishes a Center for Medicare & Medicaid Innovation at the Centers for Medicare & Medicaid Services to test innovative payment and service delivery models to lower Medicare and Medicaid spending.
Since its enactment, there have been executive, judicial and Congressional challenges to certain aspects of the ACA, and on June 17, 2021, the U.S. Supreme Court dismissed the most recent judicial challenge to the ACA brought by several states without specifically ruling on the constitutionality of the ACA. Prior to the Supreme Court’s decision, President Biden had issued an executive order to initiate a special enrollment period from February 15, 2021 through August 15, 2021 for purposes of obtaining health insurance coverage through the ACA marketplace. The executive order also instructed certain governmental agencies to review and reconsider their existing policies and rules that limit access to healthcare, including among others, reexamining Medicaid demonstration projects and waiver programs that include work requirements, and policies that create unnecessary barriers to obtaining access to health insurance coverage through Medicaid or the ACA. It is unclear how the healthcare reform measures will impact our business.
In addition, other legislative changes have been proposed and adopted since the ACA was enacted. In March 2021, the American Rescue Plan Act of 2021 was signed into law, which eliminates the statutory cap on the Medicaid drug rebate, currently set at 100% of a drug’s average manufacturer price, beginning January 1, 2024. Further, there has been heightened governmental scrutiny in the United States of pharmaceutical pricing practices in light of the rising cost of prescription drugs. Such scrutiny has resulted in several recent congressional inquiries and proposed and enacted federal and state legislation designed to, among other things, bring more transparency to product pricing, review the relationship between pricing and manufacturer patient assistance programs, and reform government program reimbursement methodologies for products. Most recently, the Inflation Reduction Act of 2022 (the “IRA”), included a number of significant drug pricing reforms, which include the establishment of a drug price negotiation program within the U.S. Department of Health and Human Services (“HHS”) (beginning in 2026) that requires manufacturers to charge a negotiated “maximum fair price” for certain selected drugs or pay an excise tax for noncompliance, the establishment of rebate payment requirements on manufacturers under Medicare Parts B and D to penalize price increases that outpace inflation (first due in 2023), and a redesign of the Part D benefit, as part of which manufacturers are required to provide discounts on Part D drugs (beginning in 2025). The IRA permits the HHS Secretary to implement many of these provisions through guidance, as opposed to regulation, for the initial years. Additional drug pricing proposals could appear in future legislation. Further, it is possible that additional governmental action is taken in response to the COVID-19 pandemic.
56


At the state level, legislatures have increasingly passed legislation and implemented regulations designed to control pharmaceutical and biological product pricing, including price or reimbursement constraints, discounts, restrictions on certain product access and marketing cost disclosure and transparency measures, and, in some cases, designed to encourage importation from other countries and bulk purchasing. Legally mandated price controls on payment amounts by third-party payors or other restrictions could harm our business, results of operations, financial condition and prospects. In addition, regional healthcare authorities and individual hospitals are increasingly using bidding procedures to determine what pharmaceutical products and which suppliers will be included in their prescription drug and other healthcare programs. This could reduce the ultimate demand for any product candidate we develop, if approved, or put pressure on our product pricing, which could negatively affect our business, results of operations, financial condition and prospects.
We expect that these new laws and other healthcare reform measures that may be adopted in the future may result in additional reductions in Medicare and other healthcare funding, more rigorous coverage criteria, new payment methodologies and additional downward pressure on the price that we receive for any approved product. Any reduction in reimbursement from Medicare or other government programs may result in a similar reduction in payments from private payors. The implementation of cost containment measures or other healthcare reforms may prevent us from being able to generate revenue, attain profitability or commercialize any product candidates we develop, if approved.
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 our Dependence on Third Parties
We rely on third parties to conduct our clinical trials and perform some of our research and preclinical studies. If these third parties do not satisfactorily carry out their contractual duties or fail to meet expected deadlines, our development programs may be delayed or subject to increased costs, each of which may have an adverse effect on our business and prospects.
We do not have the ability to conduct all aspects of our preclinical testing or clinical trials ourselves. As a result, we are and expect to remain dependent on third parties to conduct clinical trials of our product candidates. Specifically, we expect CROs, clinical investigators, and consultants to play a significant role in the conduct of these trials and the subsequent collection and analysis of data. However, we will not be able to control all aspects of their activities. Nevertheless, we are responsible for ensuring that each of our trials is conducted in accordance with the applicable protocol and legal, regulatory and scientific standards, and our reliance on the CROs and other third parties does not relieve us of our regulatory responsibilities. We and our CROs are required to comply with GCP requirements, which are regulations and guidelines enforced by the FDA and comparable foreign regulatory authorities for all of our product candidates in clinical development. Regulatory authorities enforce these GCP requirements through periodic inspections of trial sponsors, clinical trial investigators and clinical trial sites. If we or any of our CROs or clinical trial sites fail to comply with applicable GCP requirements, the data generated in our clinical trials may be deemed unreliable, and the FDA or comparable foreign regulatory authorities may require us to perform additional clinical trials before approving our marketing applications. In addition, our clinical trials must be conducted with product produced under cGMP regulations. Our failure to comply with these regulations may require us to stop and/or repeat clinical trials, which would delay the marketing approval process.
57


There is no guarantee that any such CROs, clinical trial investigators or other third parties on which we rely will devote adequate time and resources to our development activities or perform as contractually required. If any of these third parties fail to meet expected deadlines, adhere to our clinical protocols or meet regulatory requirements, otherwise performs in a substandard manner, or terminates its engagement with us, the timelines for our development programs may be extended or delayed or our development activities may be suspended or terminated. If any of our clinical trial sites terminates for any reason, we may experience the loss of follow-up information on subjects enrolled in such clinical trials unless we are able to transfer those subjects to another qualified clinical trial site, which may be difficult or impossible. In addition, clinical trial investigators for our clinical trials may serve as scientific advisors or consultants to us from time to time and may receive cash or equity compensation in connection with such services. If these relationships and any related compensation result in perceived or actual conflicts of interest, or the FDA or comparable foreign regulatory authorities concludes that the financial relationship may have affected the interpretation of the trial, the integrity of the data generated at the applicable clinical trial site may be questioned and the utility of the clinical trial itself may be jeopardized, which could result in the delay or rejection of any marketing application we submit by the FDA or any comparable foreign regulatory authority. Any such delay or rejection could prevent us from commercializing our product candidates.
We contract with third parties for the manufacturing and supply of product candidates for use in preclinical testing and clinical trials and related services, which supply may become limited or interrupted or may not be of satisfactory quality and quantity.
We do not have any manufacturing facilities. We produce in our laboratory relatively small quantities of products for evaluation in our research programs. We rely, and expect to continue to rely, on third parties for the manufacture of our product candidates for preclinical and clinical testing, as well as for commercial manufacture if any of our product candidates are approved. We currently have limited manufacturing arrangements and expect that each of our product candidates will only be covered by single source suppliers for the foreseeable future. This reliance increases the risk that we will not have sufficient quantities of our product candidates or products, if approved, or such quantities at an acceptable cost or quality, which could delay, prevent or impair our development or commercialization efforts.
Furthermore, all entities involved in the preparation of therapeutics for clinical trials or commercial sale, including our existing contract manufacturers for our product candidates, are subject to extensive regulation. Components of a finished therapeutic product approved for commercial sale or used in clinical trials must be manufactured in accordance with cGMP requirements. These regulations govern manufacturing processes and procedures, including record keeping, and the implementation and operation of quality systems to control and assure the quality of investigational products and products approved for sale. Poor control of production processes can lead to the introduction of contaminants, or to inadvertent changes in the properties or stability of our product candidates that may not be detectable in final product testing. We or our contract manufacturers must supply all necessary documentation in support of a BLA on a timely basis and must adhere to the FDA’s cGMP regulations enforced by the FDA through its facilities inspection program. Comparable foreign regulatory authorities may require compliance with similar requirements. The facilities and quality systems of our third-party contractor manufacturers must pass a pre-approval inspection for compliance with the applicable regulations as a condition of marketing approval of our product candidates. We do not control the manufacturing activities of, and are completely dependent on, our contract manufacturers for compliance with cGMP regulations.
In the event that any of our manufacturers fails to comply with such requirements or to perform its obligations to us in relation to quality, timing or otherwise, or if our supply of components or other materials becomes limited or interrupted for other reasons, we may be forced to manufacture the materials ourselves, for which we currently do not have the capabilities or resources, or enter into an agreement with another third party, which we may not be able to do on commercially reasonable terms, if at all. In particular, any replacement of our manufacturers could require significant effort and expertise because there may be a limited number of qualified replacements. In some cases, the technical skills or technology required to manufacture our product candidates may be unique or proprietary to the original manufacturer and we may have difficulty transferring such skills or technology to another third party and a feasible alternative may not exist. In addition, certain of our product candidates and our own proprietary methods have never been produced or implemented outside of our company, and we may therefore experience delays to our development programs if and when we attempt to establish new third party manufacturing arrangements for these product candidates or methods. These factors would increase our reliance on such manufacturer or require us to obtain a license from such manufacturer in order to have another third party manufacture our product candidates. If we are required to change manufacturers for any reason, we will be required to verify that the new manufacturer maintains facilities and procedures that comply with quality standards and with all applicable regulations and guidelines. The delays associated with the verification of a new manufacturer could negatively affect our ability to develop product candidates in a timely manner or within budget.
58


Our or a third party’s failure to execute on our manufacturing requirements, do so on commercially reasonable terms and comply with cGMP could adversely affect our business in a number of ways, including:
an inability to initiate or continue clinical trials of our product candidates under development;
delay in submitting regulatory applications, or receiving marketing approvals, for our product candidates;
loss of the cooperation of future collaborators;
subjecting third-party manufacturing facilities or our manufacturing facilities to additional inspections by regulatory authorities;
requirements to cease development or to recall batches of our product candidates; and
in the event of approval to market and commercialize our product candidates, an inability to meet commercial demands for our product or any other future product candidates.
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.
59


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 March 31, 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 March 31, 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 biotherapeutics, pharma manufacturing, life sciences, food 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.
60


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


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


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, product candidates, 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 ob 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 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.
63


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 relationships with, and dependence on, collaborators in our principal markets;
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 ability to develop and successfully commercialize new products for the markets we serve;
our ability to obtain additional development partners for our novel biotherapeutic programs;
potential of Nestlé Health Science or Takeda terminating any development program under their license agreements with us;
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 or our customers’ ability to obtain regulatory approval for the sale and manufacturing of food products using our enzymes;
our ability to deploy our technology platform in life science tools markets;
our ability to successfully achieve domestic and foreign regulatory approval for product candidates;
our ability to successfully design and execute clinical testing at a reasonable cost and on an acceptable time-frame;
our dependence on product candidates which could unexpectedly fail at any stage of preclinical or clinical development;
our dependence on product candidates which may lack the ability to work as intended or cause undesirable side effects;
our dependency on third parties to conduct clinical trials, research, and preclinical studies;
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;
64


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


At our 2023 Annual Meeting of Stockholders, we are asking our stockholders to approve various proposals including increasing the number of authorized shares of our common stock and the shares available for equity awards under our equity incentive plan, as well as adopting an Employee Stock Purchase Plan (“ESPP”). If any of these proposals are not approved, our competitive position, business and prospects could be seriously harmed.
As included in the definitive proxy statement we filed with the SEC on April 27, 2023, at our 2023 Annual Meeting of Stockholders, our board of directors and management is requesting our stockholders approve three proposals that relate to our ability to raise capital and attract and retain talent.
We are actively soliciting proxies from our stockholders and encouraging our stockholders to vote for these three proposals. However, our stockholders may not vote for one or more of these proposals. If our stockholders do not approve the proposed amendment to our certificate of incorporation to increase our authorized common stock, we may not be able to access the capital markets, which could impede our ability to finance our operations including the ongoing and planned research and development and clinical and regulatory activities necessary to advance our biotherapeutic candidates and performance enzymes. Further, if our authorized number of common stock is not increased, it may inhibit or even prevent us from being able to complete future corporate collaborations and partnerships. In addition, if we do not have sufficient shares of common stock reserved for issuance upon the exercise of equity awards, we may not be able to offer such awards which could adversely impact our ability to attract, retain and motivate employees, officers, directors, consultants and/or advisers. Likewise, if our stockholders do not approve the proposed amendment to our 2019 Incentive Award Plan and or the ESPP, our ability to attract, retain and motivate employees, officers, directors, consultants and/or advisers will be hindered. As a result of the foregoing, the failure of any of these three proposals to gain enough stockholder votes to be approved could have a material adverse effect on our competitive position, business and prospects.
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 foreign 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 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 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;
66


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


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 counter-parties 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 COVID-19 pandemic, and 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.
68


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 individually identifiable health information. Certain states have also adopted comparable 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 that has increased the likelihood of, and risks associated with data breach litigation. Further, the California Privacy Rights Act (“CPRA”) significantly amends the CCPA, and generally went into effect in January 2023. It imposes additional data protection 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 has also created a new California data 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 have passed in Virginia, Colorado, Connecticut, Iowa and Utah 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.

69


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 and 4% of the total worldwide annual turnover of the preceding financial year and other administrative penalties. If 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 March 2022, the United States and EU announced a new regulatory regime intended to replace the invalidated regulations; however, this new EU-US Data Privacy Framework has not been implemented beyond an executive order signed by President Biden on October 7, 2022 on Enhancing Safeguards for United States Signals Intelligence Activities. 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 which are perceived to have not responded appropriately, may suffer from reputational damage and result in the business, financial condition and/or stock price of a company being materially and adversely affected. 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.
ITEM 2.UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS
None.
70


ITEM 3.
DEFAULTS UPON SENIOR SECURITIES
None.
ITEM 4.MINE SAFETY DISCLOSURES
Not applicable.
ITEM 5.OTHER INFORMATION
Not applicable.
71


ITEM 6.EXHIBITS
3.1
3.2
3.3
4.1Reference is made to Exhibits 3.1 through 3.3.
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 March 31, 2022, formatted in Inline Extensible Business Reporting Language (iXBRL) includes: (i) Unaudited Condensed Consolidated Balance Sheets at March 31, 2023 and December 31, 2022 (ii) Unaudited Condensed Consolidated Statements of Operations for the Three Months Ended March 31, 2023 and 2022, (iii) Unaudited Condensed Consolidated Statements of Stockholders' Equity for the three months ended March 31, 2023 and 2022, (iv) Unaudited Condensed Consolidated Statements of Cash Flows for the Three Months Ended March 31, 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 March 31, 2023, formatted in Inline XBRL and contained in Exhibit 101.
*Portions of the exhibit, marked by brackets, have been omitted because the omitted information is (i) not
material and (ii) would be competitively harmful if publicly disclosed.

72


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:May 4, 2023By:/s/ Stephen Dilly
Stephen Dilly
President and Chief Executive Officer
(principal executive officer)
Date:May 4, 2023By:/s/ Sriram Ryali
Sriram Ryali
Chief Financial Officer
(principal financial and accounting officer)

73
EX-10.1 2 westernalliancebridgebankt.htm EX-10.1 Document
image_0a.jpg
March 13, 2023

CODEXIS, INC.
200 Penobscot Drive
Redwood City, CA 94063
Attn: Sri Ryali, CFO
FAX: [***]
EMAIL: [***]
Loan Number:    121143260
Borrower:        Codexis, Inc.
Reference is made to that certain Loan and Security Agreement, dated June 30, 2017, by and between Western Alliance Bank, an Arizona corporation (“Bank”) and Codexis, Inc., a Delaware corporation ("Borrower") (as amended from time to time, the “Loan Agreement”). Capitalized terms used but not otherwise defined herein shall have the meanings given them in the Loan Agreement.
Borrower has advised Bank that it intends to terminate the Loan Agreement. Upon Bank’s receipt of a countersigned copy of this letter (the date of such receipt, the “Termination Date”), without further action on the part of the parties hereto (i) all Obligations (as defined in the Loan Agreement) owing from Borrower to Bank under the Loan Documents (other than contingent or indemnification obligations which expressly survive the termination of the applicable documents and obligations owing with respect to credit cards and letter of credit reimbursement obligations) shall be deemed satisfied and terminated in full; (ii) all unfunded commitments to make credit extensions or financial accommodations to Borrower or any other person under the Loan Agreement shall be terminated; (iii) all guarantees, security interests and other liens of every type at any time granted to or held by Bank as security shall be automatically and immediately terminated, released and discharged (other than any security in Borrower’s accounts maintained with the Bank provided with respect to credit cards obligations and letter of credit reimbursement obligations), and (iv) all other obligations of Borrower under the Loan Documents shall be deemed terminated; provided, however, (i) all obligations of Borrower pursuant to any credit cards issues by Bank (or any of its affiliates) to Borrower, (ii) all letters of credit reimbursement obligations of Borrower to Bank, if any and (iii) all obligations pursuant to the Loan Documents that are expressly specified in any Loan Document as surviving that respective agreement’s termination, including without limitation, Borrower’s indemnity obligations set forth in the Loan Agreement, shall survive and continue in accordance with their respective terms.
From and after the Termination Date, Bank (at Borrower's sole cost and expense) (i) authorizes Borrower or Borrower's designee to file any UCC3 termination statements necessary to terminate all UCC financing statements in Bank's favor with respect to Borrower and any other releases, termination statements or intellectual property security releases, account control agreement,
ACTIVE 685964196v1

image_0a.jpg
landlord consents or bailee waivers necessary or desirable to terminate or evidence the termination of any other security interest or other lien held by Bank under the Loan Documents), (ii) shall execute and deliver to Borrower or Borrower's designee all collateral with respect to the Loan Documents which are in the possession of Bank, and (iii) shall deliver to Borrower or Borrower's designee any other documents, instruments, releases or other agreements necessary or reasonably requested by Borrower or Borrower’s designee to release or terminate any security interest or lien with respect to Borrower's assets or to evidence the release or termination of any guarantee, security interest or lien thereto. All such agreements, documents, and instruments which are requested by Borrower to be delivered by Bank on or after the Termination Date shall be prepared at Borrower's expense and any costs or expenses incurred by Bank with respect to such items (including all reasonable and documented out-of-pocket attorneys' fees) shall be reimbursed promptly by Borrower on demand. Borrower hereby waives any and all claims and releases Bank and its parents, subsidiaries, affiliates, officers, directors, employees, attorneys, and representatives and agents harmless from all claims, liabilities, damages, fees, costs and expenses associated with, caused by, or arising from Bank’s preparation of any the aforementioned documents (except, in any case, to the extent resulting from negligence, bad faith or willful misconduct of Bank).
This letter agreement shall be governed by the laws of the State of California and shall become effective only when signed by Bank and accepted by Borrower by its due execution in the space provided below.
WESTERN ALLIANCE BANK, AN ARIZONA CORPORATION
By
Name:
Title:
Acknowledged and Agreed:
CODEXIS, INC., A DELAWARE CORPORATION
By
Name:
Title:

ACTIVE 685964196v1
EX-10.2 3 pfizercodexisenzymesupplya.htm EX-10.2 Document

AMENDMENT NO. 3 TO ENZYME SUPPLY AGREEMENT

This Amendment No. 3 to Enzyme Supply Agreement (this “Amendment”) is made as of March 30, 2023 (the “Amendment Effective Date”), between Codexis, Inc., a Delaware corporation having its principal offices at 200 Penobscot Drive, Redwood City, California 94063 (“Codexis”) and Pfizer Ireland Pharmaceuticals, an Ireland corporation, with its principal place of business at Operations Support Group, Ringaskiddy, Cork, Ireland, and its Affiliates (“Pfizer”). Codexis and Pfizer may each be referred to herein individually as a “Party” or collectively, as the “Parties.”

RECITALS
WHEREAS, Pfizer and Codexis are parties to that certain Enzyme Supply Agreement dated as of October 30, 2021 (as amended, the “Agreement”); and
WHEREAS, Pfizer and Codexis desire to amend the Agreement in the manner specified in this Amendment;
NOW THEREFORE, in consideration of the promises and undertakings set forth herein, the Agreement is hereby amended as follows:
1.All defined terms shall, unless defined or modified herein, have the meaning set forth in the Agreement.
2.Section 2.5(d)(ii)(b) of the Agreement is deleted in its entirety and replaced with the following:
“(b)    100% of any fees invoiced by Codexis to Pfizer during the period January 1, 2022 through December 31, 2023 under mutually acceptable, executed, written definitive collaborative development/licensing agreement(s) (not including this Agreement) executed by Codexis and Pfizer from the Effective Date through April 4, 2023. For clarity, such agreements may include standalone purchase orders.”
3.All other terms and conditions of the Agreement remain unchanged.


1




IN WITNESS WHEREOF, a duly authorized representative of each Party has executed this Amendment as of the dates identified below, but this Amendment shall become effective on the Amendment Effective Date.

Codexis, Inc.Pfizer Ireland Pharmaceuticals


Name: Kevin Norrett
Title: Chief Operating Officer
Date:


Name:
Title:
Date:

For Codexis, Inc. use only

Reviewed by



Legal

2

EX-31.1 4 cdxs_20230331xex311sp.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: May 4, 2023
/s/ Stephen Dilly
Stephen Dilly
President and Chief Executive Officer
(principal executive officer)


EX-31.2 5 cdxs_20230331xex312sp.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: May 4, 2023
/s/ Sriram Ryali
Sriram Ryali
Chief Financial Officer
(principal financial and accounting officer)


EX-32.1 6 cdxs_20230331xex321sp.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 March 31, 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: May 4, 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-20230331.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 link:presentationLink link:calculationLink link:definitionLink 0000009 - Statement - Condensed Consolidated Statements of Cash Flows (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 - Basis of Presentation and Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 0000025 - Disclosure - Revenue Recognition (Tables) link:presentationLink link:calculationLink link:definitionLink 0000026 - Disclosure - Net Loss per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 0000027 - Disclosure - Investments in Non-Marketable Securities (Tables) link:presentationLink link:calculationLink link:definitionLink 0000028 - Disclosure - Fair Value Measurements (Tables) link:presentationLink link:calculationLink link:definitionLink 0000029 - Disclosure - Balance Sheets Details (Tables) link:presentationLink link:calculationLink link:definitionLink 0000030 - Disclosure - Stock-based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 0000031 - Disclosure - Commitments and Contingencies (Tables) link:presentationLink link:calculationLink link:definitionLink 0000032 - Disclosure - Segment, Geographical and Other Revenue Information (Tables) link:presentationLink link:calculationLink link:definitionLink 0000033 - Disclosure - Allowance for Credit Losses (Tables) link:presentationLink link:calculationLink link:definitionLink 0000034 - Disclosure - Description of Business (Details) link:presentationLink link:calculationLink link:definitionLink 0000035 - Disclosure - Revenue Recognition - Disaggregation of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 0000036 - Disclosure - Revenue Recognition - Contracts with Customer (Details) link:presentationLink link:calculationLink link:definitionLink 0000037 - Disclosure - Revenue Recognition - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 0000038 - Disclosure - Revenue Recognition - Revenue Recognized During Period (Details) link:presentationLink link:calculationLink link:definitionLink 0000039 - Disclosure - Revenue Recognition - Performance Obligation (Details) link:presentationLink link:calculationLink link:definitionLink 0000039 - Disclosure - Revenue Recognition - Performance Obligation (Details) link:presentationLink link:calculationLink link:definitionLink 0000040 - Disclosure - Net Loss per Share - Shares Not Included in Computation of Diluted Net Loss Per Share (Details) link:presentationLink link:calculationLink link:definitionLink 0000041 - Disclosure - Investments in Non-Marketable Securities - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 0000042 - Disclosure - Investments in Non-Marketable Securities - Carrying Value of Non-marketable Equity Securities (Details) link:presentationLink link:calculationLink link:definitionLink 0000043 - Disclosure - Fair Value Measurements (Details) link:presentationLink link:calculationLink link:definitionLink 0000044 - Disclosure - Balance Sheets Details - Cash and Cash Equivalents (Details) link:presentationLink link:calculationLink link:definitionLink 0000045 - Disclosure - Balance Sheets Details - Inventories (Details) link:presentationLink link:calculationLink link:definitionLink 0000046 - Disclosure - Balance Sheets Details - Property and Equipment, net (Details) link:presentationLink link:calculationLink link:definitionLink 0000047 - Disclosure - Balance Sheets Details - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 0000048 - Disclosure - Balance Sheets Details - Other Accrued Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 0000049 - Disclosure - Stock-based Compensation - Equity Incentive Plans (Details) link:presentationLink link:calculationLink link:definitionLink 0000050 - Disclosure - Stock-based Compensation - Stock Options (Details) link:presentationLink link:calculationLink link:definitionLink 0000051 - Disclosure - Stock-based Compensation - Restricted Stock Units (Details) link:presentationLink link:calculationLink link:definitionLink 0000052 - Disclosure - Stock-based Compensation - PSUs and PBOs (Details) link:presentationLink link:calculationLink link:definitionLink 0000053 - Disclosure - Stock-based Compensation - Stock-based Compensation Expense (Details) link:presentationLink link:calculationLink link:definitionLink 0000054 - Disclosure - Capital Stock (Details) link:presentationLink link:calculationLink link:definitionLink 0000055 - Disclosure - Commitments and Contingencies - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 0000056 - Disclosure - Commitments and Contingencies - Lease Cost (Details) link:presentationLink link:calculationLink link:definitionLink 0000057 - Disclosure - Commitments and Contingencies - Other Lease Information (Details) link:presentationLink link:calculationLink link:definitionLink 0000058 - Disclosure - Commitments and Contingencies - Cash Paid for Lease Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 0000059 - Disclosure - Commitments and Contingencies - Maturity Analysis of Operating Lease (Details) link:presentationLink link:calculationLink link:definitionLink 0000059 - Disclosure - Commitments and Contingencies - Maturity Analysis of Operating Lease (Details) link:presentationLink link:calculationLink link:definitionLink 0000060 - Disclosure - Commitments and Contingencies - Other Commitments (Details) link:presentationLink link:calculationLink link:definitionLink 0000061 - Disclosure - Related Party Transactions - Molecular Assemblies, Inc. (Details) link:presentationLink link:calculationLink link:definitionLink 0000062 - Disclosure - Segment, Geographical and Other Revenue Information - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 0000063 - Disclosure - Segment, Geographical and Other Revenue Information - Segment Reporting (Details) link:presentationLink link:calculationLink link:definitionLink 0000064 - Disclosure - Segment, Geographical and Other Revenue Information - Concentration Risk (Details) link:presentationLink link:calculationLink link:definitionLink 0000065 - Disclosure - Segment, Geographical and Other Revenue Information - Revenues by Geographic Area (Details) link:presentationLink link:calculationLink link:definitionLink 0000066 - Disclosure - Segment, Geographical and Other Revenue Information - Long-Lived Assets by Geographic Area (Details) link:presentationLink link:calculationLink link:definitionLink 0000067 - Disclosure - Segment, Geographical and Other Revenue Information - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 0000068 - Disclosure - Allowance for Credit Losses - Analysis of Allowance for Credit Losses (Details) link:presentationLink link:calculationLink link:definitionLink 0000069 - Disclosure - Allowance for Credit Losses - Summary of Finance Receivables by Aging Category (Details) link:presentationLink link:calculationLink link:definitionLink 0000070 - Disclosure - Restructuring Charges - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 8 cdxs-20230331_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 9 cdxs-20230331_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 10 cdxs-20230331_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Indemnification Agreement Indemnification Agreement [Member] Increase (Decrease) in Stockholders' Equity [Roll Forward] Increase (Decrease) in Stockholders' Equity [Roll Forward] Total minimum lease payments Lessee, Operating Lease, Liability, to be Paid Schedule of cash and cash equivalents Schedule of Cash and Cash Equivalents [Table Text Block] Related Party Transactions [Abstract] Other long-term liabilities Increase (Decrease) in Other Noncurrent Liabilities Customer E Customer E [Member] Customer E Entity Address, Postal Zip Code Entity Address, Postal Zip Code Area of real estate property (in square feet) Area of Real Estate Property Preferred stock, shares outstanding (in shares) Preferred Stock, Shares Outstanding Schedule of Commitments and Contingencies [Table] Schedule of Commitments and Contingencies [Table] Schedule of commitments and contingencies. Property and equipment Property, Plant and Equipment, Gross Borrowing capacity Line of Credit Facility, Maximum Borrowing Capacity Schedule of Inventory Components Inventory, Net [Abstract] Total revenues Contract with Customer, Liability, Change in Timeframe, Performance Obligation Satisfied, Revenue Recognized Office equipment and furniture Office Equipment and Furniture [Member] Office Equipment and Furniture [Member] Additional paid-in capital Additional Paid in Capital Financial Asset, Period Past Due [Domain] Financial Asset, Aging [Domain] 2024 and Thereafter Other Commitment, To Be Paid, Year One And Thereafter Other Commitment, To Be Paid, Year One And Thereafter Statistical Measurement [Domain] Statistical Measurement [Domain] Depreciation Depreciation expense Unallocated depreciation and amortization Depreciation Exercise of stock options (in shares) Stock options exercised (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period Weighted-average discount rate Operating Lease, Weighted Average Discount Rate, Percent Share-based Payment Arrangement [Abstract] Share-Based Payment Arrangement [Abstract] 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 Long-lived assets Long-Lived Assets San Carlos San Carlos [Member] San Carlos Sale of stock, maximum selling period Sale Of Stock, Maximum Selling Period Sale Of Stock, Maximum Selling Period Accounts receivable, before allowance for credit loss Accounts Receivable, before Allowance for Credit Loss Income taxes paid Income Taxes Paid Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Net loss Net loss Net loss Net Income (Loss) Attributable to Parent Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] Total shares excluded as anti-dilutive (in shares) Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Operating Leases Lessee, Operating Lease, Liability, to be Paid [Abstract] Accounts receivable Accounts Receivable, before Allowance for Credit Loss, Current Equity Component [Domain] Equity Component [Domain] Scenario [Axis] Scenario [Axis] RSUs and RSAs RSAs and RSUs [Member] RSAs and RSUs [Member] Award vesting rights Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Percentage Investment, Name [Domain] Investment, Name [Domain] Lease term Lessee, Operating Lease, Lease Not yet Commenced, Term of Contract Costs incurred in connection with issuance of common stock at public offering Payments of Financing Costs Related Party [Domain] Related Party [Domain] Plan Name [Axis] Plan Name [Axis] Supplemental disclosure of cash flow information: Supplemental Cash Flow Information [Abstract] Number of operating segments Number of Operating Segments Compensation not yet recognized, share-based awards other than options Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount Plan Name [Domain] Plan Name [Domain] 2023 (remaining 9 months) Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] Entity Address, State or Province Entity Address, State or Province Level 1 Fair Value, Inputs, Level 1 [Member] Award Type [Axis] Award Type [Axis] Net cash used in operating activities Net Cash Provided by (Used in) Operating Activities Current portion of lease obligations - Operating leases Operating Lease, Liability, Current Geographic Areas, Long-Lived Assets [Abstract] Geographic Areas, Long-Lived Assets [Abstract] Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table] Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table] Schedule of stock-based compensation expense by security types Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block] Lease, Cost [Abstract] Lease, Cost [Abstract] Related Party Transaction [Domain] Related Party Transaction [Domain] Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table] Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table] Receivables [Abstract] Other Commitments [Domain] Other Commitments [Domain] Facility maintenance agreement Facility Maintenance Agreement [Member] Facility Maintenance Agreement Legal Entity [Axis] Legal Entity [Axis] Schedule of Cash and Cash Equivalents [Table] Schedule of Cash and Cash Equivalents [Table] Total liabilities Liabilities Weighted-average remaining lease term (in years) Operating Lease, Weighted Average Remaining Lease Term Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Geographical [Axis] Geographical [Axis] Geographical [Axis] Investing activities: Net Cash Provided by (Used in) Investing Activities [Abstract] Issuance of common stock, net of issuance costs of $390 Stock Issued During Period, Value, New Issues Series A And B Preferred Stock Series A And B Preferred Stock [Member] Series A And B Preferred Stock Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Fair Value, Measurements, Fair Value Hierarchy [Domain] Fair Value Hierarchy and NAV [Domain] Revolving Credit Facility Revolving Credit Facility [Member] Schedule of property and equipment, net Property, Plant and Equipment [Table Text Block] Loss contingency accrual Loss Contingency, Accrual, Current Preferred stock, shares issued (in shares) Preferred Stock, Shares Issued Document Type Document Type 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 Financial Asset, Period Past Due [Axis] Financial Asset, Aging [Axis] Piper Sandler & Co 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 Concentration Risk Benchmark [Domain] Concentration Risk Benchmark [Domain] Balance Sheet Details [Abstract] Balance Sheet Details [Abstract] Balance Sheet Details [Abstract] Performance Enzymes Performance Enzymes [Member] Performance Enzymes [Member] Restructuring Type [Axis] Restructuring Type [Axis] Segments [Axis] Segments [Axis] Product and Service [Domain] Product and Service [Domain] Entity Shell Company Entity Shell Company 2022 PSU and 2022 PBO 2022 PSU And 2022 PBO [Member] 2022 PSU And 2022 PBO Concentration Risk [Table] Concentration Risk [Table] 2023 (Remaining 9 Months) Other Commitment, to be Paid, Remainder of Fiscal Year 2024 Lessee, Operating Lease, Liability, to be Paid, Year One 91 Days and over Financial Asset, Equal to or Greater than 90 Days Past Due [Member] Affiliated Entity Affiliated Entity [Member] Consolidation Items [Domain] Consolidation Items [Domain] Contract with customer Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block] Document Period End Date Document Period End Date Tranche One Share-Based Payment Arrangement, Tranche One [Member] Adjustment to the existing allowance Allowance For Credit Loss, Adjustment Allowance For Credit Loss, Adjustment Total assets Assets Novel Biotherapeutics Novel Biotherapeutics [Member] Novel Biotherapeutics [Member] Incentive Stock Options Incentive Stock Options [Member] Incentive Stock Options [Member] Earnings Per Share [Abstract] Earnings Per Share [Abstract] Income Statement Location [Axis] Income Statement Location [Axis] Performance Shares Performance Shares [Member] Antidilutive Securities [Axis] Antidilutive Securities [Axis] Other accrued liabilities Total other accrued liabilities Accrued Liabilities, Current seqWell seqWell [Member] seqWell Schedule of Restructuring and Related Costs [Table] Schedule of Restructuring and Related Costs [Table] 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 Net cash provided by (used in) financing activities Net Cash Provided by (Used in) Financing Activities Accounting Policies [Abstract] Accounting Policies [Abstract] Accrued compensation Employee-related Liabilities, Current Other Commitments [Axis] Other Commitments [Axis] Finance lease costs Finance Lease, Cost Finance Lease, Cost Analysis of allowance for credit losses Financing Receivable, Allowance for Credit Loss [Table Text Block] Allowance for Credit Losses Credit Loss, Financial Instrument [Text Block] Total financial assets Financing Receivable, before Allowance for Credit Loss Loss before income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Stockholders' equity: Stockholders' Equity Attributable to Parent [Abstract] Prepaid expenses and other current assets Prepaid Expense and Other Assets, Current Contract assets Contract with Customer, Asset, before Allowance for Credit Loss, Current Segments [Domain] Segments [Domain] Net Loss per Share Earnings Per Share [Text Block] Customer [Axis] Customer [Axis] Related Party Transaction [Line Items] Related Party Transaction [Line Items] Award Type [Domain] Award Type [Domain] Series C Preferred Stock Series C Preferred Stock [Member] Sale of stock, period Sale Of Stock, Period Sale Of Stock, Period Computer equipment and software Computer Equipment [Member] Investment in non-marketable securities Payments to acquire other investments Payments to Acquire Other Investments Finished goods Inventory, Finished Goods, Gross Write-offs Allowance For Credit Loss, Write Off Allowance For Credit Loss, Write Off 501 Chesapeake 501 Chesapeake [Member] 501 Chesapeake Entity Registrant Name Entity Registrant Name Issuance of common stock, net of issuance costs (in shares) Stock Issued During Period, Shares, New Issues Entity Address, City or Town Entity Address, City or Town EMEA EMEA [Member] Geographic Distribution [Domain] Geographic Distribution [Domain] Renewal term Lessee, Operating Lease, Lease Not yet Commenced, Renewal Term Balance Sheets Details Balance Sheets Details [Text Block] Balance sheets details. Statement of Financial Position [Abstract] Statement of Financial Position [Abstract] Entity Emerging Growth Entity Emerging Growth Company Common stock, par value (in dollars per share) Common Stock, Par or Stated Value Per Share Commitments and Contingencies Disclosure [Abstract] Commitments and Contingencies Disclosure [Abstract] Schedule of Segment Reporting Information, by Segment [Table] Schedule of Segment Reporting Information, by Segment [Table] Investment, Name [Axis] Investment, Name [Axis] Trading Symbol Trading Symbol Entity File Number Entity File Number Deferred revenue, net of current portion Contract with Customer, Liability, Noncurrent Research and development Research and Development Expense 2022 Inducement Plan 2022 Inducement Plan [Member] 2022 Inducement Plan Marketable Securities [Line Items] Marketable Securities [Line Items] Restricted cash, current and non-current Restricted Cash and Cash Equivalents Grants in period (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period RSUs Restricted Stock Units (RSUs) [Member] Carrying Value of Non-marketable Equity Securities Equity Securities without Readily Determinable Fair Value [Table Text Block] Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Axis] Term Loan Term Loan [Member] Term Loan [Member] Use of Estimates Use of Estimates, Policy [Policy Text Block] Money market funds Estimated Fair Value Cash and Cash Equivalents, Fair Value Disclosure Raw materials Inventory, Raw Materials, Gross Accounts payable Increase (Decrease) in Accounts Payable Concentration risk, percentage Concentration Risk, Percentage Revenue from related parties Revenue from Related Parties Security Owned Not Readily Marketable, Name [Domain] Security Owned Not Readily Marketable, Name [Domain] Credit Facility [Domain] Credit Facility [Domain] Thereafter Lessee, Operating Lease, Liability, to be Paid, After Year Four Lessee, Operating Lease, Liability, to be Paid, After Year Four Interest paid Interest Paid, Excluding Capitalized Interest, Operating Activities Performance Based Options (PBOs) PBOs Performance Based Options (PBOs) [Member] Performance Based Options (PBOs) [Member] Net loss per share, basic (in dollars per share) Earnings Per Share, Basic 2026 Lessee, Operating Lease, Liability, to be Paid, Year Three Corporate Corporate, Non-Segment [Member] Concentration Risk Type [Domain] Concentration Risk Type [Domain] Counterparty Name [Domain] Counterparty Name [Domain] Total stockholders' equity Beginning balance Ending balance Stockholders' Equity Attributable to Parent Performance obligation, expected timing of satisfaction Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block] Vesting [Domain] Vesting [Domain] Entity Interactive Data Current Entity Interactive Data Current Schedule of Property, Plant and Equipment [Table] Property, Plant and Equipment [Table] Changes in operating assets and liabilities: Increase (Decrease) in Operating Capital [Abstract] Money market funds Money Market Funds [Member] Accumulated Deficit Retained Earnings [Member] Segment Reporting Information [Line Items] Segment Reporting Information [Line Items] Compensation not yet recognized, stock options Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount Cash and Cash Equivalents [Line Items] Cash and Cash Equivalents [Line Items] Total lease cost Lease, Cost Common Stock Common Stock [Member] Money market funds Money Market Funds, at Carrying Value Schedule of stock-based compensation expense Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] Number of reportable segments Number of Reportable Segments Lease cost Lease, Cost [Table Text Block] Number of shares available for grant Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant Class of Stock [Axis] Class of Stock [Axis] Statement [Table] Statement [Table] Renewal term Lessee, Operating Lease, Renewal Term Document Quarterly Report Document Quarterly Report Current assets: Assets, Current [Abstract] Development and manufacturing services agreements Development And Manufacturing Services Agreements [Member] Development And Manufacturing Services Agreements Long-term lease obligations - Operating leases Operating Lease, Liability, Noncurrent MCRA Master Collaboration & Research Agreement [Member] Master Collaboration & Research Agreement Unbilled receivables Unbilled Receivables, Current Statistical Measurement [Axis] Statistical Measurement [Axis] Related Party Transaction [Axis] Related Party Transaction [Axis] Leasehold improvements Leasehold Improvements [Member] Accumulated deficit Retained Earnings (Accumulated Deficit) Other non-cash items Other Operating Activities, Cash Flow Statement 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 Equity Components [Axis] Equity Components [Axis] Scenario [Domain] Scenario [Domain] Amounts included in contract liabilities at the beginning of the period: Change in Contract with Customer, Asset and Liability [Abstract] Performance Share Units (PSUs) Performance Share Units (PSUs) [Member] Performance Share Units (PSUs) Related Party Transactions Related Party Transactions Disclosure [Text Block] Segment Information Segment Reporting, Policy [Policy Text Block] Document Fiscal Year Focus Document Fiscal Year Focus Operating activities: Net Cash Provided by (Used in) Operating Activities [Abstract] Statement [Line Items] Statement [Line Items] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Selling, general and administrative Selling, General and Administrative Expense Sale of stock, consideration received on transaction, gross Sale of Stock, Consideration Received on Transaction, Gross Sale of Stock, Consideration Received on Transaction, Gross Right-of-use assets - Operating leases, net Operating Lease, Right-of-Use Asset Series A Preferred Stock Series A Preferred Stock [Member] Type of Restructuring [Domain] Type of Restructuring [Domain] Document Transition Report Document Transition Report Local Phone Number Local Phone Number Loss from operations Operating Income (Loss) Inventories Increase (Decrease) in Inventories Financing Receivable, Allowance for Credit Loss [Line Items] Financing Receivable, Allowance for Credit Loss [Line Items] Accounting Pronouncements New Accounting Pronouncements, Policy [Policy Text Block] Total non-marketable equity securities Equity Securities without Readily Determinable Fair Value, Amount Prepaid expenses and other assets Increase (Decrease) in Prepaid Expense and Other Assets Common stock, shares outstanding (in shares) Common Stock, Shares, Outstanding Goodwill Goodwill Goodwill Property, Plant and Equipment, Type [Axis] Long-Lived Tangible Asset [Axis] 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] Name of Property [Domain] Name of Property [Domain] Adjustments to reconcile net loss to net cash used in operating activities: Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Provision for income taxes Income Tax Expense (Benefit) Other-than-temporary impairment losses Debt Securities, Available-for-Sale, Unrealized Loss Geographical [Domain] Geographical [Domain] Series B Preferred Stock Series B Preferred Stock [Member] Preferred stock, par value (in dollars per share) Preferred Stock, Par or Stated Value Per Share 2027 Lessee, Operating Lease, Liability, to be Paid, Year Four Income Statement [Abstract] Income Statement [Abstract] Additional Paid-in Capital Additional Paid-in Capital [Member] Document Fiscal Period Focus Document Fiscal Period Focus Cost of product revenue Cost of Goods and Services Sold Asset retirement obligation Asset Retirement Obligation Weighted average common stock shares used in computing net loss per share, diluted (in shares) Weighted Average Number of Shares Outstanding, Diluted Less: accumulated depreciation and amortization Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment Loss Contingency, Nature [Domain] Loss Contingency, Nature [Domain] Schedule of inventory components Schedule of Inventory, Current [Table Text Block] 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 Less: allowances Balance at beginning of period Balance at end of period Financing Receivable, Allowance for Credit Loss, Current Accounts Receivable Accounts Receivable [Member] Common stock, $0.0001 par value per share; 100,000 shares authorized; 66,696 shares and 65,811 shares issued and outstanding as of March 31, 2023 and December 31, 2022, respectively Common Stock, Value, Issued Credit losses Debt Securities, Available-for-Sale, Allowance for Credit Loss, Writeoff Total Other Commitment 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] Operating Segments Operating Segments [Member] Convertible Debt Convertible Debt [Member] Security Owned Not Readily Marketable [Axis] Security Owned Not Readily Marketable [Axis] Short-term lease cost Short-Term Lease, Cost Preferred stock, shares authorized (in shares) Preferred Stock, Shares Authorized Impairment charges related to contract assets Contract with Customer, Asset, Credit Loss Expense (Reversal) 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 Number of shares purchased (in shares) Investment Owned, Balance, Shares Commitments and Contingencies Commitments and Contingencies Disclosure [Text Block] Current liabilities: Liabilities, Current [Abstract] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Proceeds from exercises of stock options Proceeds from exercises of stock options Proceeds from Stock Options Exercised Common stock, shares, issued (in shares) Common Stock, Shares, Issued Concentration Risk [Line Items] Concentration Risk [Line Items] Deferred revenue Contract with Customer, Liability, Current Sale of stock, securities registered aggregate amount Sale Of Stock, Securities Registered Aggregate Amount Sale Of Stock, Securities Registered Aggregate Amount Capital expenditures incurred but not yet paid Capital Expenditures Incurred but Not yet Paid Income Statement Location [Domain] Income Statement Location [Domain] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Amendment Flag Amendment Flag Net cash used in investing activities Net Cash Provided by (Used in) Investing Activities Operating lease cost Operating Lease, Cost 2021 PBO 2021 PBO [Member] 2021 PBO 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 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 Contract costs Capitalized Contract Cost, Net, Current Schedule of segment reporting Schedule of Segment Reporting Information, by Segment [Table Text Block] Construction in progress Construction in Progress [Member] Entity Current Reporting Status Entity Current Reporting Status Non-Statutory Stock Options Non-Statutory Stock Options [Member] Non-Statutory Stock Options [Member] Other non-current assets Other Assets, Noncurrent Security deposit Security Deposit Purchase price of common stock Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent Financial assets: Financing Receivable, before Allowance for Credit Loss [Abstract] Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] 2022 PSU 2022 PSU [Member] 2022 PSU Costs and operating expenses: Operating Costs and Expenses [Abstract] Counterparty Name [Axis] Counterparty Name [Axis] 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 Cash and Cash Equivalents [Axis] Cash and Cash Equivalents [Axis] 31-60 Days Financial Asset, 30 to 59 Days Past Due [Member] Schedule of Stock by Class [Table] Schedule of Stock by Class [Table] Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Basis of Presentation and Principles of Consolidation Basis of Accounting, Policy [Policy Text Block] Property and equipment, net Property and equipment, net Property, Plant and Equipment, Net Cash reconciliation: Cash and Cash Equivalents [Abstract] Operating cash flows from operating leases Operating Lease, Payments 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 Stock options Share-Based Payment Arrangement, Option [Member] Exercise of stock options Stock Issued During Period, Value, Stock Options Exercised Other expense, net Other Nonoperating Income (Expense) Restructuring Charges Restructuring and Related Activities Disclosure [Text Block] Common stock, shares authorized (in shares) Common Stock, Shares Authorized Schedule of Related Party Transactions, by Related Party [Table] Schedule of Related Party Transactions, by Related Party [Table] 200-220 Penobscot 200-220 Penobscot [Member] 200-220 Penobscot Maximum Maximum [Member] Shares issuable under the Equity Incentive Plan Share-Based Payment Arrangement [Member] Restricted cash Restricted Cash and Cash Equivalents, Noncurrent Cash and cash equivalents Adjusted Cost Cash and Cash Equivalents, at Carrying Value 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 Work in process Inventory, Work in Process, Gross Product revenue Product Sales [Member] Product Sales [Member] Deferred revenue Increase (Decrease) in Contract with Customer, Liability Total current assets Assets, Current Performance obligations satisfied Contract with Customer, Liability, Revenue Recognized Entity Small Business Entity Small Business Other Commitments [Table] Other Commitments [Table] Non-current restricted cash Restricted Cash and Investments, Noncurrent 400 Penobscot 400 Penoscot [Member] 400 Penoscot Beginning balance (in shares) Ending balance (in shares) Shares, Outstanding Capital Stock Stockholders' Equity Note Disclosure [Text Block] Amortization expense - right-of-use assets - operating and finance leases Operating Lease, Right-of-Use Asset, Amortization Expense Revenues: Revenues [Abstract] Restricted cash, current Restricted Cash Expected timing of satisfaction, period Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Summary of financial instruments measured at fair value on a recurring basis Fair Value, Assets Measured on Recurring Basis [Table Text Block] Basis of Presentation and Summary of Significant Accounting Policies Significant Accounting Policies [Text Block] Equity securities earned from research and development activities ($0 and ($245) from a related party) Equity securities earned from research and development activities Other Noncash Income Schedule of customers that contributed 10% or more of total accounts receivable Schedules of Concentration of Risk, by Risk Factor [Table Text Block] Balance Sheets Details [Abstract] Balance Sheets Details [Abstract] -- None. No documentation exists for this element. -- 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 Accrued professional and outside service fees Accrued Professional Fees Property, Plant and Equipment, Type [Domain] Long-Lived Tangible Asset [Domain] Title of 12(b) Security Title of 12(b) Security Changes in the period: Change in Contract with Customer, Liability [Abstract] Schedule of supply and service commitments Supply Commitment [Table Text Block] Total costs and operating expenses Costs and Expenses Non-marketable equity securities purchased (in shares) Equity Securities Without Readily Determinable Fair Value, Shares Equity Securities Without Readily Determinable Fair Value, Shares Other Other Accrued Liabilities Class of Stock [Line Items] Class of Stock [Line Items] Research and development revenue ($0 and $245 from a related party) Research and development revenue Research and Development Revenue [Member] Research and Development Revenue [Member] Lease obligations Operating Lease, Liability MAI Molecular Assemblies, Inc. [Member] Molecular Assemblies, Inc. Segment, Geographical and Other Revenue Information Segment Reporting Disclosure [Text Block] Selling, general and administrative Selling, General and Administrative Expenses [Member] Schedule of intangible assets and goodwill Schedule of Intangible Assets and Goodwill [Table Text Block] Investments, Debt and Equity Securities [Abstract] Financing Receivable, Allowance for Credit Loss [Table] Financing Receivable, Allowance for Credit Loss [Table] Financing Receivable, Allowance for Credit Loss [Roll Forward] Financing Receivable, Allowance for Credit Loss [Roll Forward] Liabilities and Stockholders' Equity Liabilities and Equity [Abstract] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Table] Fair Value, Recurring and Nonrecurring [Table] Net proceeds received Sale of Stock, Consideration Received on Transaction Inventories Total Inventories Inventory, Net 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 Accounts payable Accounts Payable, Current Restructuring charges Restructuring Charges Current Financial Receivables Not Past Due [Member] Financial Receivables Not Past Due Summary of accounts receivable by aging Financing Receivable, Past Due [Table Text Block] Revenue Revenue, Product and Service Benchmark [Member] Description of Business Nature of Operations [Text Block] Entity Filer Category Entity Filer Category Proceeds from issuance of common stock in connection with public offering Proceeds from Issuance of Common Stock Weighted average common stock shares used in computing net loss per share, basic (in shares) Weighted Average Number of Shares Outstanding, Basic Restricted Cash and Cash Equivalents [Axis] Restricted Cash and Cash Equivalents [Axis] United States UNITED STATES 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 Supplemental non-cash investing and financing activities: Noncash Investing and Financing Items [Abstract] Commitments and Contingencies (Note 10) Commitments and Contingencies Security Exchange Name Security Exchange Name Schedule of Commitments and Contingencies [Line Items] Schedule of Commitments and Contingencies [Line Items] Schedule of Commitments and Contingencies [Line Items] Preferred stock, $0.0001 par value per share; 5,000 shares authorized, none issued and outstanding Preferred Stock, Value, Issued Schedule of revenues by geographical area Reconciliation of Revenue from Segments to Consolidated [Table Text Block] 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 Property, Plant and Equipment [Line Items] Property, Plant and Equipment [Line Items] 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] Total revenues Revenue from Contract with Customer, Excluding Assessed Tax 2022 PBO 2022 PBO [Member] 2022 PBO 61-90 Days Financial Asset, 60 to 89 Days Past Due [Member] Maximum number of shares to be issued upon exercise of stock options Common Stock, Capital Shares Reserved for Future Issuance Cover page. Cover [Abstract] Level 3 Fair Value, Inputs, Level 3 [Member] Geographic Distribution [Axis] Geographic Distribution [Axis] Loss before income taxes Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest Restructuring and Related Activities [Abstract] Stock-based Compensation Share-Based Payment Arrangement [Text Block] Customer B Customer B [Member] Customer B [Member] Revenue Recognition Revenue from Contract with Customer [Text Block] Segment Reporting [Abstract] Segment Reporting [Abstract] Customer G Customer G [Member] Customer G Forecast Forecast [Member] Taxes paid related to net share settlement of equity awards Payment, Tax Withholding, Share-Based Payment Arrangement Total liabilities and stockholders' equity Liabilities and Equity Related Party [Axis] Related Party [Axis] Percent of voting interests Percent of Voting Interests Threshold to trigger higher exercise price Percent of Voting Interests Threshold to trigger higher exercise price Cash Cash Organization, Consolidation and Presentation of Financial Statements [Abstract] Organization, Consolidation and Presentation of Financial Statements [Abstract] Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] Level 2 Fair Value, Inputs, Level 2 [Member] Demand Deposits Demand Deposits [Member] Current Fiscal Year End Date Current Fiscal Year End Date Less: imputed interest Lessee, Operating Lease, Liability, Undiscounted Excess Amount Vesting [Axis] Vesting [Axis] Net loss per share, diluted (in dollars per share) Earnings Per Share, Diluted Research and development revenue from transactions with MAI Nonmonetary Transaction, Gross Operating Revenue Recognized Tranche Two Share-Based Payment Arrangement, Tranche Two [Member] Proceeds from sale of property and equipment Proceeds from Sale of Property, Plant, and Equipment Award vesting period Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period Customer A Customer A [Member] Customer A [Member] Costs incurred in connection with offering Payments of Stock Issuance Costs Employee stock-based compensation APIC, Share-Based Payment Arrangement, Increase for Cost Recognition Consolidation Items [Axis] Consolidation Items [Axis] Concentration Risk Type [Axis] Concentration Risk Type [Axis] Total current liabilities Liabilities, Current 2025 Lessee, Operating Lease, Liability, to be Paid, Year Two Customer Concentration Risk Customer Concentration Risk [Member] Marketable Securities [Table] Marketable Securities [Table] Restructuring Cost and Reserve [Line Items] Restructuring Cost and Reserve [Line Items] Provision for credit losses Financing Receivable, Credit Loss, Expense (Reversal) Number of shares received in exchange for services (in shares) Noncash or Part Noncash Acquisition, Noncash Financial or Equity Instrument Consideration, Shares Issued Accounts receivable, borrowing base percentage Line of Credit Facility, Accounts Receivable Borrowing Base Percentage Line of Credit Facility, Accounts Receivable Borrowing Base Percentage Shares issued in exchange for service (in shares) Stock Issued During Period, Shares, Issued for Services Performance obligation Revenue, Remaining Performance Obligation, Amount 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 Expiration period Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Period Americas Americas [Member] Financial assets Increase (Decrease) in Finance Receivables Operating lease maturity Lessee, Operating Lease, Liability, Maturity [Table Text Block] Entity Address, Address Line One Entity Address, Address Line One Investments in Non-Marketable Securities Investments in Debt and Equity Instruments, Cash and Cash Equivalents, Unrealized and Realized Gains (Losses) [Text Block] Contract liabilities: deferred revenue Contract with Customer, Liability Product and Service [Axis] Product and Service [Axis] Summary of financial instruments measured at fair value on a recurring basis Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract] Class of Stock [Domain] Class of Stock [Domain] Fair Value Disclosures [Abstract] Fair Value Disclosures [Abstract] Credit Facility [Axis] Credit Facility [Axis] Schedule of other accrued liabilities Schedule of Accrued Liabilities [Table Text Block] Inventory net of reserves Inventory Valuation Reserves Cash and Cash Equivalents [Domain] Cash and Cash Equivalents [Domain] Equity [Abstract] Equity [Abstract] PSUs Performance Stock Units [Member] Performance Stock Units [Member] Entity Tax Identification Number Entity Tax Identification Number Customer F Customer F [Member] Customer F Number of shares authorized Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized Other investments in non-marketable equity securities Other Security Investments [Member] Disaggregation of revenue Disaggregation of Revenue [Table Text Block] Revenue from Contract with Customer [Abstract] Revenue from Contract with Customer [Abstract] Non-employee stock-based compensation APIC, Share-Based Payment Arrangement, Option, Increase for Cost Recognition Taxes paid related to net share settlement of equity awards (in shares) Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation Release of stock awards (in shares) Stock Issued During Period, Shares, Other 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 Entity Central Index Key Entity Central Index Key Antidilutive Securities, Name [Domain] Antidilutive Securities, Name [Domain] Interest income Investment Income, Interest Investment in non-marketable equity securities ($0 and $13,921 with a related party) Investment at cost basis Investments and Other Noncurrent Assets Name of Property [Axis] Name of Property [Axis] Taxes paid related to net share settlement of equity awards Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Fair Value Measurements Fair Value Measurement and Measurement Inputs, Recurring and Nonrecurring [Text Block] One-time Termination Benefits One-time Termination Benefits [Member] Loss Contingency Nature [Axis] Loss Contingency Nature [Axis] Entity [Domain] Entity [Domain] 2021 PSU 2021 PSU [Member] 2021 PSU City Area Code City Area Code Assets Assets [Abstract] Customer C Customer C [Member] Customer C [Member] Laboratory equipment Laboratory Equipment [Member] Laboratory Equipment [Member] Other Commitments [Line Items] Other Commitments [Line Items] Accrued purchases Purchase Obligation Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Financing activities: Net Cash Provided by (Used in) Financing Activities [Abstract] Series B-2 Preferred Stock Series B-2 Preferred Stock [Member] Series B-2 Preferred Stock Stock-based compensation Share-Based Payment Arrangement, Noncash Expense 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 Other long-term liabilities Other Liabilities, Noncurrent Purchase of property and equipment Payments to Acquire Property, Plant, and Equipment Total financial assets, net Accounts and Financing Receivable, after Allowance for Credit Loss, Current Research and development Research and Development Expense [Member] Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] APAC APAC [Member] Regions of Australia, New Zealand, Southeast Asia and China Customer D Customer D [Member] Customer D [Member] Cost of product revenue Cost of Sales [Member] Restructuring and related cost, number of positions eliminated, period percent Restructuring and Related Cost, Number of Positions Eliminated, Period Percent Customer [Domain] Customer [Domain] EX-101.PRE 11 cdxs-20230331_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT GRAPHIC 12 image_0a.jpg begin 644 image_0a.jpg M_]C_X 02D9)1@ ! 0$ 8 !@ #_X0'X:'1T<#HO+VYS+F%D;V)E+F-O;2]X M87 O,2XP+P \/WAP86-K970@8F5G:6X])^^[OR<@:60])UG)E4WI.5&-Z:V,Y9"<_/@T*/'@Z>&UP;65T82!X;6QN&UL;G,Z"UN&UL.FQA;F<](G@M9&5F875L="(^/"]R9&8Z;&D^/"]R9&8Z06QT/@T* M"0D)/"]D8SIR:6=H=',^/"]R9&8Z1&5S8W)I<'1I;VX^/"]R9&8Z4D1&/CPO M>#IX;7!M971A/@T*/#]X<&%C:V5T(&5N9#TG=R<_/O_A ")%>&EF !-30 J M " !@I@ @ $ /_; $, P(" P(" P,# P0# P0%" 4% M! 0%"@<'!@@,"@P,"PH+"PT.$A -#A$."PL0%A 1$Q05%14,#Q<8%A08$A05 M%/_; $,! P0$!00%"04%"10-"PT4%!04%!04%!04%!04%!04%!04%!04%!04 M%!04%!04%!04%!04%!04%!04%!04%!04%/_ !$( #@!, ,!(@ "$0$#$0'_ MQ ? !!0$! 0$! 0 0(#! 4&!P@)"@O_Q "U$ " 0,# @0# M!04$! 7T! @, !!$%$B$Q008346$'(G$4,H&1H0@C0K'!%5+1\"0S8G*" M"0H6%Q@9&B4F)R@I*C0U-C+CY.7FY^CIZO'R\_3U]O?X^?K_Q ? 0 # 0$! M 0$! 0$! 0(#! 4&!P@)"@O_Q "U$0 " 0($! ,$!P4$! ! G< M 0(#$00%(3$&$D%1!V%Q$R(R@0@40I&AL<$)(S-2\!5B7J" M@X2%AH>(B8J2DY25EI>8F9JBHZ2EIJ>HJ:JRL[2UMK>XN;K"P\3%QL?(RKR\_3U]O?X^?K_V@ , P$ A$#$0 _ /U3HHHH M **** "BBB@ HHHH **** "BBB@ HHHH ^;/VI/'WQ$^%LEEKGA^\MO^$:G_ M '4J/9J[V\O^]_=>I?V;_C]<_%O2]1T/7;R.'Q5 K2Q2PQ*OFQ?WU3^\E>Y> M*O"^G^,_#NH:-JD7G6%]%Y4Z>U?F[KVC^(?V=_BUMBEV:GIZ+\$_#%U\6?B7?E/$?B) MV>QCF7=<.C?/\J_WG_\ '5VU5.#J2Y8J[,:E6%*//-V1SUQ^U)\3_ /CQM+\ M3M:3+IUYY5]90V:IYJ=?D?\ W?NU]L^'=>L?%6AV6K:9.MSI]Y$LL$J?QK7Y MS_$[Q5XC_:>O-0\8>$? \NF:+HL&V[UF=@SRJO\ L#[S)_L[_EJ]^S?X@\17 MFN6O@V7XDZMX9T^]W?8?[/M;5D\]OX/G1_O?^A5VU,)['2K)*7;7YB,?C3'N=KNH^^!TIWM?R5 MR>=:>;L7>,4'I40S_=Q2G..F:HT'_E15:5%1@>M J;EC^@KQ M#]I7X'GXO^&89],2)?$NG-OM'9]GFK_%$S5[/& .<8_&FS,B@_-BGKLMR>9: M-O1GPQI'[*_Q7&F_\(U/=6EAXJ[/XMG^?X*U/BM^Q?K*>)-_@ M6*";1)8D_=7=YL>)_P"+_>_O5]K<8CYI HR_-',M?(=_^!YGR5:_ GXC_$3Q M7X:F^)367RHHDU!&2QMM_RHB_["_P#?5?HLV.*=VKKPF+G@Y>TIK7S/.QN#ACH\ ME1Z=D'QQ>W7 M@R"T;1I7^U6V^[\IX'_N_P# /X:^X/3FCO7-*;G/F;U.R%-4X\B;2]3DOAO) MXE?P=8)XN@CAU^)/*N?L\F])-O\ '_P*NOSQ3%7:,4F[@U&G0T3=U?J2T57# M@=Q3_,SW_2F]-QJ_8FZBCH*C[<?6@8J&-U=?EYIW/9*3TW!/FU6Q(>U'K49.2/2@MU%%RNQ)FC^50=?QH; M'-9\S6ZZV#K8GS1MI@QVI]::]0TZ'Q?^V9IVM?"_QUX1^+WA^XN?*L+J.UU* MTAG;9*/X=R?[2[T_[XIG[84TY\/^ _C+X/U25?L<\!V0S;$N+=_GB^7_ 'OE M_P"!U]0?$[P-8_$;P/K7AV_4&VU&V:W9MOW6_@?_ ("WS5\>>$?V3_B3KJ^$ M/"/Q FL4\!Z#+/(JV-X[S7&[[B?Y^ZN^O?PM6E*,'4=N7\5V/D\;1K4Y35!- M\VN^S[^GD?45Y\<_#]A\%%^),DGEZ0UBMZB;_G9F_P"67^]N^6OF'X81>,=- M^&?Q"_:#UR\D_P"$BO[.>XT6TNV9[>U3^_Y7_CB_["?[=5O#_P"R'\3;YM"\ M#>)+VQ_X5QINJRWK&WN?WTL7]S;_ +?_ ([YKU]/_'CX>:AXM^!^O^%/"L%O M#?7%HMG9Q.WE1(N]/_95J7]7P[4*;OS/?M'L./UK%1=6K&W(MN[[G@WP]^,G MCSQMX/TS6[[XS>"/#EU>1;VTV^TZ+S8OGV_-_I%=/^T5\8O'OPCM/ VGP7-G M9QZEM@UCQ=ZHOFRM_?;_ $>O6OB/??$:X@BLK'P!H/BO2+JQ7[=:WNI^5ME_B3YDVLE* MI[*->\4G'M=%4Z=:6'O)M2[V93\.Z!\3=2\'7LMO\2=!UJ\O!%+IFL+HJ>4D M7_+7Y4?:V[Y:\FT'XC?&KQ!\=-?^&D7C'0TETFS%V^I?V'\K?+%\FW?_ --: M[K]DWX*>*?A+:^)SKLEIIUEJEW]HL- L9WN(; ?-T=O]Y5_X!3_AE\&O$_AG M]J#Q_P".=5CMTT+5K7[/8.ESO<_-%]Y/X?N5E[2G"52+L^VAM*G6J1I23<>^ MK.&^,'QF^(_@#XD>!/!4WB[0;&74+'[1J>O7&GJENK^:_P VQW^1=JK_ !UZ M1\)M8\6>(/%>VX^*_A+QKID$#/-?%'[0.B M^-=)T#1_$>CZ9IBVG]GZM>*B2O\ O?O+Y3_\]:] ^%^F>,M-U2]^W?#;PKX- ML9;1O]+T>\1Y99<_*K;8D^6G44/8PY+7>_D94_:^WGSWM'\3QGX5_&3XF?$; M0/$6MW/Q#\->$['3]1ELHTU/2T_>;?FW;_-3^]5C3_VIO'6H?LO^*/'%S9V- MCK>EZA%96=_% WV>_3>FZ5$?_>>D\'?LAZSJ'[./B'PGXDCL[?Q4VL2ZSI%]II:U[?+N<].&-=O=;^;V^XN?LY_M&:YXHUB]\$?$&WAT M[QM JWELT,6R&_M77_@J+XX?LZ7/Q!\'>'[W0IETGQ[X;BB?2M05]N&7_EDS?W*?^R7 M\)?%/PJ\.^*5\7I9IK&K:P^H9M)=Z-N1?_9]U<]3ZO*C.<=)/IV.VC]:C6A3 MEK&/VN_R/:/$6O6/A?1[K5]2N4M+"SB:6>9_X$6OS>\8^-G_ &@+KQ[XTOO' M2>%_L,7E>&M#?51:/*J?-RF_^-/_ !YO]BOJ7]JCX9_$'XP)I'A/PX;33?"4 MLZ2:K>2S[7E^?[FS^ZOW_P#:;97HGAW]GGX>:#H=GIL?A#1;P6<2Q>9=Z=!+ M*W^T[;/F:C"U*.'@ISUD^A.-I8G'U'3AI&/7N8O[*?Q<_P"%O?![2]1N9O.U MNP_T#4?[WFK_ !_\#78__ JYG]F?XQ^)_BGX_P#B?9:S/:3:5HFH_9+"&W@V MLJ^;<+\[?Q?*B5B_ [X$>,_@C\Q?Q1?)_L;G3_ M ':P?@K\./C1\$[_ ,8W-AX2T'5SK^H_;6>36/**?,_^Q_MUI4A0?MG!K6UO MGO\ <80K8F/L%5C+W;WTO>VWWG>?M??&3Q/\)+#P=_PBTEM#=ZMJGV*7[1;^ M;\NROHA9-EKO_NK7R9\?/AC\4OC+9_#^]_L+1[?5]$OI;V^TM=5_=??3ROGV M?Q*K5ZGX=U_XOZI?+9:WX+T;2M-DCDWW=OJXG=6VMM^79_>VUSSHP]C3M)7Z MZG93KU/;U;QE;IH4> M.OVK/'^IW/B7QAX)CTZ;X<^';Z"U=9X"TVH_-^^=#_=Y7_OM:K^$OV=OC!X5 M^!VI^!]*ATVQU/6M5E;4;_\ M#_56>R)-J_[3_-_P'_>KVRQ_8N^%=GX8BTR M3PW%>W"6WD-J+N_G.VW_ %OWOO5VR^J4:DI2U3V2UM^1QQ6/KTXQBN5QZO2X MS]HKXZWGA'X Q>./!EW;^;>-9O9W$T'FH8I7'\'^[6?^SC^T-J_BS6-0\#?$ M*VATKQ_8?O=B+LAO(&^97B_X#7D\_P"S-\5[G]G^[^'$\.G7'V/64GT^X^VX M\VS^;>'W5]/O5.WS-O_+)V_\ M0?\ [*N=QP\8^SO?S*4L;.I[:UE'IW^9P7AO]KW5]%^&GQ"\7>*5@U&/3/$, MND:5:V<'E%V_@1F_]F_V:[+PE8_'SQ]HUOK5]XPT'P6N*\(_L?^(=:^ .O^#O&%S;:=KE_KCZO!<6C^:B-L54W?^/5W/AG5/CUX M/T6WT>]\'>'_ !7):Q+!'JEMK7V?SE7[KNCI55O8Z_5[?,BC[=V^M/?A/,M-\76S7OPO\ "7A;36B99]2T MF_26X7Y?N;5MT_BVU$N14-+7^1M2]I]8L[\O8]IUZX\K0+^7^[ S?^.U^8_P M UCX?:EH6JS_ !+UGQ/]L^TK]F^P75^R>5M_Z=_]JOTH\86EYJ7A+6K.QVM? M7%G+% K-M^=E;;7R9\ ?AY\;?@'X7NM$L/!>@ZJ]U>?;&EFUO9M^1%V_<_V* MO!2IQH5.:W-T5PS*-6IB*3@VH]="K^Q--J^K?$;QI=Z3KFH7/P\7=;V=KJE] MYMQOW_*VW=N3Y=WS5W'QE^-/C'5_BF? /PMOK*WU#2[.2\UG4+U5E1&V_);J M&_C^[_WW[-7+^#O@+\5?"/BCQQ\2#%HI\::S;2VMCH^GS[;2)Y'3]Z[O_=V? M=_B:NN^$/[&?AG3_ ;%+\1M(MO$WC*^E>]U&[N9&EVRM_"CUM6J4%6]K)JW M9:G-0IXJ5'V4$T^[=CJOV>_CE)\4/@:^OW(M,@E@U%$CV[9U7=NV_P"T MNQ_^!5X/\!OVNO&EKJVBWWQ+>";PCXG9K>QUBW@2)(+I'VMNV_P__M?WJ['P M_P#L^^+OA?\ $OQ]'X-LK1O /B/2I88+=[S8]O=>4^SY&_NMN7_=?_8KI?A9 M^S1YW[,L/PY\3?:2^;Y#M*[K*C_WOGI-X2'/UYK?*^_W%+Z[4Y.G M+?YVV^\TM8^*WB1/VOM$\#6=["OAJ717U"YA\A2[/\_\?_?%><:'^UY?>%_B M)\5Y?%^I03>&?#]T]KI>GPVRI-+)YKJB(_\ '\J58_9]_9[^)7@SXT6^O>,I M;34M,TS1Y=&L]0BN=SO$K_NOD^]]W=5CX7?LJ7VI7?Q:MOB%I=I]@\47_P!J ML7MYUEEC_>W#[E_NLN]*?^RQ;3U227S[F7-CYU7?:Q?PM++][=_LU[D>E?/G[.?A7XE_#W[7X5\6 MI!K7A^S+)I>NI=?O3%_ CI][_P")KZ "]:\>NES^[L?3X5S=.\U9A^%'WJ** MY^AV/1Z!S1Q@]Z**7I=M%%/DZW)YNEAX/R4^BBEV*Z#!TXY%.Y]: M**I15@CJ-VC=[T-C!!HHJ>5#6NX^BBBH\P(,OZ\4YL 9S@445I%*2C)C?O/E M>Q7!$FE2E0^&/)%%%8[6MYA;EO9CP4B&#Q1Y8/;]:**%*[M8;CL[A&@'0 M8I6C'<9HHK2W;0B2[Z@.V>M&W[]%%: XML 13 R1.htm IDEA: XBRL DOCUMENT v3.23.1
Cover Page - shares
3 Months Ended
Mar. 31, 2023
May 01, 2023
Cover [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Mar. 31, 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   66,767,717
Entity Central Index Key 0001200375  
Amendment Flag false  
Document Fiscal Year Focus 2023  
Document Fiscal Period Focus Q1  
Current Fiscal Year End Date --12-31  
XML 14 R2.htm IDEA: XBRL DOCUMENT v3.23.1
Condensed Consolidated Balance Sheets (Unaudited) - USD ($)
$ in Thousands
Mar. 31, 2023
Dec. 31, 2022
Current assets:    
Cash and cash equivalents $ 102,831 $ 113,984
Restricted cash, current 525 521
Financial assets:    
Accounts receivable 9,934 31,904
Contract assets 2,449 2,116
Unbilled receivables 7,797 7,016
Total financial assets 20,180 41,036
Less: allowances (163) (163)
Total financial assets, net 20,017 40,873
Inventories 1,996 2,029
Prepaid expenses and other current assets 4,585 5,487
Total current assets 129,954 162,894
Restricted cash 1,526 1,521
Investment in non-marketable equity securities ($0 and $13,921 with a related party) 21,310 20,510
Right-of-use assets - Operating leases, net 38,013 39,263
Property and equipment, net 23,609 22,614
Goodwill 3,241 3,241
Other non-current assets 415 350
Total assets 218,068 250,393
Current liabilities:    
Accounts payable 4,494 3,246
Accrued compensation 6,611 11,453
Other accrued liabilities 8,340 15,279
Current portion of lease obligations - Operating leases 5,492 5,360
Deferred revenue 13,374 13,728
Total current liabilities 38,311 49,066
Deferred revenue, net of current portion 15,508 16,881
Long-term lease obligations - Operating leases 36,845 38,278
Other long-term liabilities 1,388 1,371
Total liabilities 92,052 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; 100,000 shares authorized; 66,696 shares and 65,811 shares issued and outstanding as of March 31, 2023 and December 31, 2022, respectively 6 6
Additional paid-in capital 569,917 566,081
Accumulated deficit (443,907) (421,290)
Total stockholders' equity 126,016 144,797
Total liabilities and stockholders' equity $ 218,068 $ 250,393
XML 15 R3.htm IDEA: XBRL DOCUMENT v3.23.1
Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical) - USD ($)
$ in Thousands
Mar. 31, 2023
Dec. 31, 2022
Investment at cost basis $ 21,310 $ 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) 100,000,000 100,000,000
Common stock, shares, issued (in shares) 66,696,000 65,811,000
Common stock, shares outstanding (in shares) 66,696,000 65,811,000
Affiliated Entity    
Investment at cost basis $ 0 $ 13,921
XML 16 R4.htm IDEA: XBRL DOCUMENT v3.23.1
Condensed Consolidated Statements of Operations (Unaudited) - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended
Mar. 31, 2023
Mar. 31, 2022
Revenues:    
Total revenues $ 12,982 $ 35,340
Costs and operating expenses:    
Cost of product revenue 4,521 8,521
Research and development 16,655 19,500
Selling, general and administrative 15,399 15,705
Restructuring charges 72 0
Total costs and operating expenses 36,647 43,726
Loss from operations (23,665) (8,386)
Interest income 1,089 42
Other expense, net (25) (3)
Loss before income taxes (22,601) (8,347)
Provision for income taxes 16 9
Net loss $ (22,617) $ (8,356)
Net loss per share, basic (in dollars per share) $ (0.34) $ (0.13)
Net loss per share, diluted (in dollars per share) $ (0.34) $ (0.13)
Weighted average common stock shares used in computing net loss per share, basic (in shares) 65,931 65,096
Weighted average common stock shares used in computing net loss per share, diluted (in shares) 65,931 65,096
Product revenue    
Revenues:    
Total revenues $ 8,364 $ 30,690
Research and development revenue ($0 and $245 from a related party)    
Revenues:    
Total revenues $ 4,618 $ 4,650
XML 17 R5.htm IDEA: XBRL DOCUMENT v3.23.1
Condensed Consolidated Statements of Operations (Unaudited) (Parenthetical) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2023
Mar. 31, 2022
Research and development revenue | Affiliated Entity    
Revenue from related parties $ 0 $ 245
XML 18 R6.htm IDEA: XBRL DOCUMENT v3.23.1
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) 77,600 78,000    
Exercise of stock options $ 181   181  
Release of stock awards (in shares)   190,000    
Employee stock-based compensation 3,777   3,777  
Non-employee stock-based compensation 61   61  
Taxes paid related to net share settlement of equity awards (in shares)   (73,000)    
Taxes paid related to net share settlement of equity awards (1,419)   (1,419)  
Net loss (8,356)     (8,356)
Ending balance (in shares) at Mar. 31, 2022   65,304,000    
Ending balance at Mar. 31, 2022 158,635 $ 6 554,683 (396,054)
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) 142,856 143,000    
Exercise of stock options $ 281   281  
Release of stock awards (in shares)   479,000    
Employee stock-based compensation 2,809   2,809  
Issuance of common stock, net of issuance costs (in shares)   328,000    
Issuance of common stock, net of issuance costs of $390 1,150   1,150  
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 (22,617)     (22,617)
Ending balance (in shares) at Mar. 31, 2023   66,696,000    
Ending balance at Mar. 31, 2023 $ 126,016 $ 6 $ 569,917 $ (443,907)
XML 19 R7.htm IDEA: XBRL DOCUMENT v3.23.1
Condensed Consolidated Statements of Stockholders' Equity (Unaudited) (Parenthetical) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2023
Mar. 31, 2022
Statement of Stockholders' Equity [Abstract]    
Costs incurred in connection with offering $ 390  
Net loss $ (22,617) $ (8,356)
XML 20 R8.htm IDEA: XBRL DOCUMENT v3.23.1
Condensed Consolidated Statements of Cash Flows
$ in Thousands
3 Months Ended
Mar. 31, 2023
USD ($)
Mar. 31, 2022
USD ($)
Operating activities:    
Net loss $ (22,617) $ (8,356)
Adjustments to reconcile net loss to net cash used in operating activities:    
Depreciation 1,466 1,215
Amortization expense - right-of-use assets - operating and finance leases 1,249 1,200
Stock-based compensation 2,809 3,838
Equity securities earned from research and development activities ($0 and ($245) from a related party) (50) (245)
Other non-cash items (5) (7)
Changes in operating assets and liabilities:    
Financial assets 20,856 (6,463)
Inventories 33 (400)
Prepaid expenses and other assets 586 1,397
Accounts payable 694 (1,029)
Accrued compensation and other accrued liabilities (11,091) (121)
Other long-term liabilities (1,415) (1,192)
Deferred revenue (1,727) (1,023)
Net cash used in operating activities (9,212) (11,186)
Investing activities:    
Purchase of property and equipment (2,539) (5,089)
Proceeds from sale of property and equipment 5 7
Investment in non-marketable securities (750) (5,000)
Net cash used in investing activities (3,284) (10,082)
Financing activities:    
Proceeds from exercises of stock options 281 181
Proceeds from issuance of common stock in connection with public offering 1,540 0
Costs incurred in connection with issuance of common stock at public offering (65) (42)
Taxes paid related to net share settlement of equity awards (404) (1,419)
Net cash provided by (used in) financing activities 1,352 (1,280)
Net decrease in cash, cash equivalents and restricted cash (11,144) (22,548)
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 104,882 96,347
Supplemental disclosure of cash flow information:    
Interest paid 7 5
Income taxes paid 193 0
Supplemental non-cash investing and financing activities:    
Capital expenditures incurred but not yet paid 819 789
Cash reconciliation:    
Cash and cash equivalents 102,831 94,260
Restricted cash, current and non-current 2,051 2,087
Total cash, cash equivalents and restricted cash $ 104,882 $ 96,347
XML 21 R9.htm IDEA: XBRL DOCUMENT v3.23.1
Condensed Consolidated Statements of Cash Flows (Parenthetical) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2023
Mar. 31, 2022
Equity securities earned from research and development activities $ 50 $ 245
Affiliated Entity    
Equity securities earned from research and development activities $ 0 $ 245
XML 22 R10.htm IDEA: XBRL DOCUMENT v3.23.1
Description of Business
3 Months Ended
Mar. 31, 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 are a leading enzyme engineering company leveraging our CodeEvolver® technology platform to discover, develop, enhance, and commercialize novel, high performance enzymes and other classes of proteins.
We report our financial results based on two reportable segments: Performance Enzymes and Novel Biotherapeutics. Our Novel Biotherapeutics business includes a diverse pipeline of product candidates in clinical and preclinical development. Our Performance Enzymes business consists primarily of two focus areas: i) biocatalysts for the sustainable manufacturing of pharmaceuticals and ii) enzymes for life science applications, including genomic sequencing and nucleic acid synthesis. The segment information aligns with how the chief operating decision maker (CODM), who is our Chief Executive Officer (CEO), reviews and manages the business.
XML 23 R11.htm IDEA: XBRL DOCUMENT v3.23.1
Basis of Presentation and Summary of Significant Accounting Policies
3 Months Ended
Mar. 31, 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 months ended March 31, 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 March 31, 2023, results of our operations for the three months ended March 31, 2023 and 2022, changes in stockholders' equity for the three months ended March 31, 2023 and 2022, and cash flows for the three months ended March 31, 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, inventories, valuation of equity investments, 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. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition, including sales, expenses, reserves and allowances, manufacturing, research and development costs and employee-related amounts, will depend on future developments that are highly uncertain, and may not be accurately predicted, including as a result of new information that may emerge concerning COVID-19 and the actions taken to contain or treat COVID-19, as well as the economic impact on local, regional, national and international customers, markets and economies.
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 months ended March 31, 2023, that are of significance or potential significance to us.
XML 24 R12.htm IDEA: XBRL DOCUMENT v3.23.1
Revenue Recognition
3 Months Ended
Mar. 31, 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 March 31, 2023Three Months Ended March 31, 2022
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Major products and service:
Product revenue$8,364 $— $8,364 $30,690 $— $30,690 
Research and development revenue1,122 3,496 4,618 2,409 2,241 4,650 
Total revenues$9,486 $3,496 $12,982 $33,099 $2,241 $35,340 
Primary geographical markets:
Americas$918 $1,666 $2,584 $2,553 $1,179 $3,732 
EMEA1,259 1,830 3,089 3,065 1,062 4,127 
APAC7,309 — 7,309 27,481 — 27,481 
Total revenues$9,486 $3,496 $12,982 $33,099 $2,241 $35,340 
Contract Balances
The following table presents balances of contract assets, unbilled receivables, contract costs, and contract liabilities (in thousands):
March 31, 2023December 31, 2022
Contract assets$2,449 $2,116 
Unbilled receivables$7,797 $7,016 
Contract costs$$19 
Contract liabilities: deferred revenue$28,882 $30,609 
We had no asset impairment charges related to financial assets in the three months ended March 31, 2023 and 2022.
The increase in contract assets was primarily due to increases in product revenue from contracts subject to over time revenue recognition. The increase 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.
We recognized the following revenues (in thousands):
Three Months Ended March 31,
Revenue recognized in the period for:20232022
Amounts included in contract liabilities at the beginning of the period:
Performance obligations satisfied$1,602 $1,094 
Changes in the period:
Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods(216)215 
Performance obligations satisfied from new activities in the period - contract revenue11,596 34,031 
Total revenues$12,982 $35,340 
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 March 31, 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 March 31, 2023 (in thousands):
Remainder of 2023
20242025
2026 and Thereafter
Total
Product revenue$5,891 $12,050 $100 $3,339 $21,380 
Research and development revenue7,480 22 — — 7,502 
Total revenues$13,371 $12,072 $100 $3,339 $28,882 
XML 25 R13.htm IDEA: XBRL DOCUMENT v3.23.1
Net Loss per Share
3 Months Ended
Mar. 31, 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 March 31,
 20232022
Shares issuable under the Equity Incentive Plan9,3975,899
XML 26 R14.htm IDEA: XBRL DOCUMENT v3.23.1
Investments in Non-Marketable Securities
3 Months Ended
Mar. 31, 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 Molecular Assemblies, Inc. (“MAI”) Series B preferred stock for $0.8 million. As of March 31, 2023, we hold 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 biotechnology 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. We received 47,933 shares of seqWell's common stock from research and development services with seqWell and we recognized $50 thousand in research and development revenue from these services with seqWell during the three months ended March 31, 2023.
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 because 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. 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.
There was no remeasurement event for our investments in MAI, seqWell, Arzeda, and other non-marketable equity securities that occurred during the three months ended March 31, 2023 and 2022. We recognized no realized gains or losses during the three months ended March 31, 2023 and 2022.
The following table presents the carrying value of our non-marketable equity securities (in thousands):
 March 31, 2023December 31, 2022
MAI
$14,671 $13,921 
seqWell5,050 5,000 
Arzeda1,289 1,289 
Other investments in non-marketable equity securities300 300 
Total non-marketable equity securities$21,310 $20,510 
XML 27 R15.htm IDEA: XBRL DOCUMENT v3.23.1
Fair Value Measurements
3 Months Ended
Mar. 31, 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):
 March 31, 2023
 Level 1Level 2Level 3Total
Money market funds $100,165 $— $— $100,165 
 December 31, 2022
 Level 1Level 2Level 3Total
Money market funds $77,309 $— $— $77,309 
During the three months ended March 31, 2023 and 2022, we did not recognize any significant credit losses nor other-than-temporary impairment losses on non-marketable securities.
XML 28 R16.htm IDEA: XBRL DOCUMENT v3.23.1
Balance Sheets Details
3 Months Ended
Mar. 31, 2023
Balance Sheets Details [Abstract]  
Balance Sheets Details Balance Sheets Details
Cash Equivalents
Cash equivalents consisted of the following (in thousands):
 March 31, 2023December 31, 2022
 Adjusted CostEstimated Fair ValueAdjusted CostEstimated Fair Value
Money market funds (1)
$100,165 $100,165 $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 March 31, 2023, the total cash and cash equivalents balance of $102.8 million consisted of money market funds of $100.2 million and cash of $2.6 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):
March 31, 2023December 31, 2022
Raw materials$108 $108 
Work in process36 91 
Finished goods1,852 1,830 
Total Inventories$1,996 $2,029 
Inventories are recorded net of reserves of $1.2 million as of March 31, 2023 and December 31, 2022.
Property and Equipment, net
Property and equipment, net consisted of the following (in thousands):
March 31, 2023December 31, 2022
Laboratory equipment$40,489 $39,679 
Leasehold improvements16,694 16,633 
Computer equipment and software3,039 3,039 
Office equipment and furniture1,360 1,345 
Construction in progress3,189 1,739 
Property and equipment64,771 62,435 
Less: accumulated depreciation and amortization(41,162)(39,821)
Property and equipment, net$23,609 $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 March 31,
20232022
Depreciation expense$1,466 $1,215 
Goodwill
Goodwill had a carrying value of $3.2 million as of March 31, 2023 and December 31, 2022.
Other Accrued Liabilities
Other accrued liabilities consisted of the following (in thousands):
March 31, 2023December 31, 2022
Accrued professional and outside service fees$4,256 $3,495 
Accrued purchases 2,896 10,852 
Other1,188 932 
Total other accrued liabilities$8,340 $15,279 
XML 29 R17.htm IDEA: XBRL DOCUMENT v3.23.1
Stock-based Compensation
3 Months Ended
Mar. 31, 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 2019, the Board and stockholders approved the 2019 Incentive Award Plan (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 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 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; provided that no more than 14,000,000 shares may be issued upon the exercise of incentive stock options (“ISOs”). 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”).
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.
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")
The compensation committee of the Board approved, solely in respect of non-executive employees, delegated to our CEO the authority to approve grants of PSUs. The compensation committee of the Board also approved grants of PBOs and PSUs to our executives. 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 first quarter of 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 March 31,
 20232022
Cost of product revenue$129 $100 
Research and development 722 1,039 
Selling, general and administrative1,958 2,699 
Total$2,809 $3,838 
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 March 31,
 20232022
Stock options$922 $806 
RSUs and RSAs1,126 1,162 
PSUs837 872 
PBOs(76)998 
Total$2,809 $3,838 
As of March 31, 2023, unrecognized stock-based compensation expense, net of expected forfeitures, was $11.9 million related to unvested stock options, $8.6 million related to unvested RSUs and RSAs, $1.1 million related to unvested PSUs, and $0.2 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 30 R18.htm IDEA: XBRL DOCUMENT v3.23.1
Capital Stock
3 Months Ended
Mar. 31, 2023
Equity [Abstract]  
Capital Stock Capital Stock
Exercise of Options
For the three months ended March 31, 2023 and March 31, 2022, we issued 142,856 and 77,600 shares, respectively, upon option exercises at a weighted-average exercise price of $1.97 and $2.33 per share, respectively, with net cash proceeds of $0.3 million and $0.2 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 of 1933, as amended.
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.
During the three months ended March 31, 2023, 327,480 shares of our common stock were issued pursuant to the EDA. We received gross proceeds of $1.5 million, or $1.2 million in net proceeds after PSC's commissions and direct offering expenses of $0.4 million. As of March 31, 2023, $48.5 million worth of shares remained available for sale under the EDA. During the three months ended March 31, 2022, no shares of our common stock were issued pursuant to the EDA.
XML 31 R19.htm IDEA: XBRL DOCUMENT v3.23.1
Commitments and Contingencies
3 Months Ended
Mar. 31, 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 of 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 March 31, 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 consisted 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. We have provided ARE with a $0.5 million security deposit in the form of a letter of credit and is recorded as non-current restricted cash on the consolidated balance sheets.
We are required to restore certain areas of the Redwood City and San Carlos facilities that we are renting to their original form. We are expensing the asset retirement obligation over the terms of the respective leases. We review the estimated obligation each reporting period and make adjustments if our estimates change. We recorded asset retirement obligations of $0.5 million as of March 31, 2023 and December 31, 2022, 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 months ended March 31, 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 March 31,
 20232022
Finance lease costs$— $18 
Operating lease cost1,830 1,831 
Short-term lease costs (1)
— 30 
Total lease cost (2)
$1,830 $1,879 
(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)7.0 years
Weighted-average discount rate5.4 %
Three Months Ended March 31,
Cash paid (in thousands):
20232022
Operating cash flows from operating leases$1,882 $1,022 
As of March 31, 2023, our maturity analysis of annual undiscounted cash flows of the non-cancellable operating leases are as follows (in thousands):
Years Ending December 31,Operating Leases
2023 (remaining 9 months)$5,686 
20247,783 
20258,004 
20268,232 
20275,835 
Thereafter14,871 
Total minimum lease payments50,411 
Less: imputed interest8,074 
Lease obligations$42,337 
Reconciliation of operating lease liabilities as shown within the unaudited condensed consolidated balance sheets:
Current portion of lease obligations - Operating leases$5,492 
Long-term lease obligations - Operating leases36,845 
Total operating lease liabilities$42,337 
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 9 Months)2024 and
Thereafter
Development and manufacturing services agreements$3,734 $2,543 $1,191 
Facility maintenance agreement2,491 2,491 — 
Total other commitments$6,225 $5,034 $1,191 
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. We terminated the loan agreement with Western Alliance Bank in March 2023.
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 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 32 R20.htm IDEA: XBRL DOCUMENT v3.23.1
Related Party Transactions
3 Months Ended
Mar. 31, 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 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 months ended March 31, 2023, and subsequent to the related party period which ended in August 2022, are included in the condensed consolidated statement of operations. We recognized $0.2 million in research and development revenue from transactions with MAI in the three months ended March 31, 2022 and during the related party period.
XML 33 R21.htm IDEA: XBRL DOCUMENT v3.23.1
Segment, Geographical and Other Revenue Information
3 Months Ended
Mar. 31, 2023
Segment Reporting [Abstract]  
Segment, Geographical and Other Revenue Information Segment, Geographical and Other Revenue Information
Segment Information
We manage 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.
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 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 March 31, 2023Three Months Ended March 31, 2022
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Revenues:
Product revenue$8,364 $— $8,364 $30,690 $— $30,690 
Research and development revenue1,122 3,496 4,618 2,409 2,241 4,650 
Total revenues9,486 3,496 12,982 33,099 2,241 35,340 
Costs and operating expenses:
Cost of product revenue4,521 — 4,521 8,521 — 8,521 
Research and development (1)
8,099 7,312 15,411 6,122 12,346 18,468 
Selling, general and administrative (1)
2,798 951 3,749 3,541 720 4,261 
Restructuring charges— 72 72 — — — 
Total segment costs and operating expenses15,418 8,335 23,753 18,184 13,066 31,250 
Income (loss) from operations$(5,932)$(4,839)(10,771)$14,915 $(10,825)4,090 
Corporate costs (2)
(10,364)(11,205)
Unallocated depreciation and amortization(1,466)(1,232)
Loss before income taxes$(22,601)$(8,347)
(1) Research and development expenses and selling, general and administrative expenses exclude depreciation and amortization of finance leases.
(2) Corporate costs include unallocated selling, general and administrative expenses, interest income, and other expense, net.
The following table provides stock-based compensation expense included in income (loss) from operations (in thousands):
Three Months Ended March 31,
20232022
Performance EnzymesNovel BiotherapeuticsCorporate costTotalPerformance EnzymesNovel BiotherapeuticsCorporate costTotal
Stock-based compensation$1,035 $413 $1,361 $2,809 $1,690 $410 $1,738 $3,838 
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 March 31,
20232022
Customer A*61 %
Customer B23 %*
Customer C14 %*
Customer D13 %*
Customer E10 %*
* 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
March 31, 2023December 31, 2022
Customer A*53 %
Customer B21 %*
Customer C11 %10 %
Customer F14 %*
Customer G12 %*
* 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 March 31,
20232022
Revenues:
Americas$2,584 $3,732 
EMEA3,089 4,127 
APAC7,309 27,481 
Total revenues$12,982 $35,340 
Identifiable long-lived assets by location was as follows (in thousands):
March 31, 2023December 31, 2022
United States$61,622 $61,877 
Identifiable goodwill by reporting unit was as follows (in thousands):
As of March 31, 2023 and December 31, 2022
Performance EnzymesNovel BiotherapeuticsTotal
Goodwill$2,463 $778 $3,241 
XML 34 R22.htm IDEA: XBRL DOCUMENT v3.23.1
Allowance for Credit Losses
3 Months Ended
Mar. 31, 2023
Receivables [Abstract]  
Allowance for Credit Losses Allowance for Credit LossesThe following table summarizes the financial assets allowance for credit losses (in thousands):
Three Months Ended March 31,
20232022
Balance at beginning of period$163 $416 
Provision for credit losses— — 
Write-offs— — 
Adjustment to the existing allowance— — 
Balance at end of period$163 $416 
The following tables summarize accounts receivable by aging category (in thousands):
March 31, 2023
Current31-60 Days61-90 Days91 Days and overTotal over 31 DaysTotal balance
Accounts receivable$7,385 $508 $321 $1,720 $2,549 $9,934 
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 35 R23.htm IDEA: XBRL DOCUMENT v3.23.1
Restructuring Charges
3 Months Ended
Mar. 31, 2023
Restructuring and Related Activities [Abstract]  
Restructuring Charges Restructuring ChargesIn November 2022, we announced a plan for a workforce reduction of approximately 18% of our total employee 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 first quarter of 2023. During the three months ended March 31, 2023, we recorded an additional restructuring charge of $0.1 million related to severance, bonus and other termination benefits in connection with the workforce reduction, which is expected to be paid in the second quarter of 2023. We do not expect to record any significant future charges related to the restructuring plan initiated in 2022.
XML 36 R24.htm IDEA: XBRL DOCUMENT v3.23.1
Basis of Presentation and Summary of Significant Accounting Policies (Policies)
3 Months Ended
Mar. 31, 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 months ended March 31, 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 March 31, 2023, results of our operations for the three months ended March 31, 2023 and 2022, changes in stockholders' equity for the three months ended March 31, 2023 and 2022, and cash flows for the three months ended March 31, 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, inventories, valuation of equity investments, 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. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition, including sales, expenses, reserves and allowances, manufacturing, research and development costs and employee-related amounts, will depend on future developments that are highly uncertain, and may not be accurately predicted, including as a result of new information that may emerge concerning COVID-19 and the actions taken to contain or treat COVID-19, as well as the economic impact on local, regional, national and international customers, markets and economies.
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 months ended March 31, 2023, that are of significance or potential significance to us.
Segment Information
Segment Information
We manage 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.
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 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.
XML 37 R25.htm IDEA: XBRL DOCUMENT v3.23.1
Revenue Recognition (Tables)
3 Months Ended
Mar. 31, 2023
Revenue from Contract with Customer [Abstract]  
Disaggregation of revenue Segment information is as follows (in thousands):
Three Months Ended March 31, 2023Three Months Ended March 31, 2022
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Major products and service:
Product revenue$8,364 $— $8,364 $30,690 $— $30,690 
Research and development revenue1,122 3,496 4,618 2,409 2,241 4,650 
Total revenues$9,486 $3,496 $12,982 $33,099 $2,241 $35,340 
Primary geographical markets:
Americas$918 $1,666 $2,584 $2,553 $1,179 $3,732 
EMEA1,259 1,830 3,089 3,065 1,062 4,127 
APAC7,309 — 7,309 27,481 — 27,481 
Total revenues$9,486 $3,496 $12,982 $33,099 $2,241 $35,340 
Contract with customer The following table presents balances of contract assets, unbilled receivables, contract costs, and contract liabilities (in thousands):
March 31, 2023December 31, 2022
Contract assets$2,449 $2,116 
Unbilled receivables$7,797 $7,016 
Contract costs$$19 
Contract liabilities: deferred revenue$28,882 $30,609 
We recognized the following revenues (in thousands):
Three Months Ended March 31,
Revenue recognized in the period for:20232022
Amounts included in contract liabilities at the beginning of the period:
Performance obligations satisfied$1,602 $1,094 
Changes in the period:
Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods(216)215 
Performance obligations satisfied from new activities in the period - contract revenue11,596 34,031 
Total revenues$12,982 $35,340 
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 March 31, 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 March 31, 2023 (in thousands):
Remainder of 2023
20242025
2026 and Thereafter
Total
Product revenue$5,891 $12,050 $100 $3,339 $21,380 
Research and development revenue7,480 22 — — 7,502 
Total revenues$13,371 $12,072 $100 $3,339 $28,882 
XML 38 R26.htm IDEA: XBRL DOCUMENT v3.23.1
Net Loss per Share (Tables)
3 Months Ended
Mar. 31, 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 March 31,
 20232022
Shares issuable under the Equity Incentive Plan9,3975,899
XML 39 R27.htm IDEA: XBRL DOCUMENT v3.23.1
Investments in Non-Marketable Securities (Tables)
3 Months Ended
Mar. 31, 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):
 March 31, 2023December 31, 2022
MAI
$14,671 $13,921 
seqWell5,050 5,000 
Arzeda1,289 1,289 
Other investments in non-marketable equity securities300 300 
Total non-marketable equity securities$21,310 $20,510 
XML 40 R28.htm IDEA: XBRL DOCUMENT v3.23.1
Fair Value Measurements (Tables)
3 Months Ended
Mar. 31, 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):
 March 31, 2023
 Level 1Level 2Level 3Total
Money market funds $100,165 $— $— $100,165 
 December 31, 2022
 Level 1Level 2Level 3Total
Money market funds $77,309 $— $— $77,309 
XML 41 R29.htm IDEA: XBRL DOCUMENT v3.23.1
Balance Sheets Details (Tables)
3 Months Ended
Mar. 31, 2023
Balance Sheets Details [Abstract]  
Schedule of cash and cash equivalents
Cash equivalents consisted of the following (in thousands):
 March 31, 2023December 31, 2022
 Adjusted CostEstimated Fair ValueAdjusted CostEstimated Fair Value
Money market funds (1)
$100,165 $100,165 $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):
March 31, 2023December 31, 2022
Raw materials$108 $108 
Work in process36 91 
Finished goods1,852 1,830 
Total Inventories$1,996 $2,029 
Schedule of property and equipment, net
Property and equipment, net consisted of the following (in thousands):
March 31, 2023December 31, 2022
Laboratory equipment$40,489 $39,679 
Leasehold improvements16,694 16,633 
Computer equipment and software3,039 3,039 
Office equipment and furniture1,360 1,345 
Construction in progress3,189 1,739 
Property and equipment64,771 62,435 
Less: accumulated depreciation and amortization(41,162)(39,821)
Property and equipment, net$23,609 $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 March 31,
20232022
Depreciation expense$1,466 $1,215 
Schedule of other accrued liabilities Other accrued liabilities consisted of the following (in thousands):
March 31, 2023December 31, 2022
Accrued professional and outside service fees$4,256 $3,495 
Accrued purchases 2,896 10,852 
Other1,188 932 
Total other accrued liabilities$8,340 $15,279 
XML 42 R30.htm IDEA: XBRL DOCUMENT v3.23.1
Stock-based Compensation (Tables)
3 Months Ended
Mar. 31, 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 March 31,
 20232022
Cost of product revenue$129 $100 
Research and development 722 1,039 
Selling, general and administrative1,958 2,699 
Total$2,809 $3,838 
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 March 31,
 20232022
Stock options$922 $806 
RSUs and RSAs1,126 1,162 
PSUs837 872 
PBOs(76)998 
Total$2,809 $3,838 
XML 43 R31.htm IDEA: XBRL DOCUMENT v3.23.1
Commitments and Contingencies (Tables)
3 Months Ended
Mar. 31, 2023
Commitments and Contingencies Disclosure [Abstract]  
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 March 31,
 20232022
Finance lease costs$— $18 
Operating lease cost1,830 1,831 
Short-term lease costs (1)
— 30 
Total lease cost (2)
$1,830 $1,879 
(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)7.0 years
Weighted-average discount rate5.4 %
Three Months Ended March 31,
Cash paid (in thousands):
20232022
Operating cash flows from operating leases$1,882 $1,022 
Operating lease maturity
As of March 31, 2023, our maturity analysis of annual undiscounted cash flows of the non-cancellable operating leases are as follows (in thousands):
Years Ending December 31,Operating Leases
2023 (remaining 9 months)$5,686 
20247,783 
20258,004 
20268,232 
20275,835 
Thereafter14,871 
Total minimum lease payments50,411 
Less: imputed interest8,074 
Lease obligations$42,337 
Reconciliation of operating lease liabilities as shown within the unaudited condensed consolidated balance sheets:
Current portion of lease obligations - Operating leases$5,492 
Long-term lease obligations - Operating leases36,845 
Total operating lease liabilities$42,337 
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 9 Months)2024 and
Thereafter
Development and manufacturing services agreements$3,734 $2,543 $1,191 
Facility maintenance agreement2,491 2,491 — 
Total other commitments$6,225 $5,034 $1,191 
XML 44 R32.htm IDEA: XBRL DOCUMENT v3.23.1
Segment, Geographical and Other Revenue Information (Tables)
3 Months Ended
Mar. 31, 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 March 31, 2023Three Months Ended March 31, 2022
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Revenues:
Product revenue$8,364 $— $8,364 $30,690 $— $30,690 
Research and development revenue1,122 3,496 4,618 2,409 2,241 4,650 
Total revenues9,486 3,496 12,982 33,099 2,241 35,340 
Costs and operating expenses:
Cost of product revenue4,521 — 4,521 8,521 — 8,521 
Research and development (1)
8,099 7,312 15,411 6,122 12,346 18,468 
Selling, general and administrative (1)
2,798 951 3,749 3,541 720 4,261 
Restructuring charges— 72 72 — — — 
Total segment costs and operating expenses15,418 8,335 23,753 18,184 13,066 31,250 
Income (loss) from operations$(5,932)$(4,839)(10,771)$14,915 $(10,825)4,090 
Corporate costs (2)
(10,364)(11,205)
Unallocated depreciation and amortization(1,466)(1,232)
Loss before income taxes$(22,601)$(8,347)
(1) Research and development expenses and selling, general and administrative expenses exclude depreciation and amortization of finance leases.
(2) Corporate costs include unallocated selling, general and administrative expenses, interest income, and other expense, net.
The following table provides stock-based compensation expense included in income (loss) from operations (in thousands):
Three Months Ended March 31,
20232022
Performance EnzymesNovel BiotherapeuticsCorporate costTotalPerformance EnzymesNovel BiotherapeuticsCorporate costTotal
Stock-based compensation$1,035 $413 $1,361 $2,809 $1,690 $410 $1,738 $3,838 
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 March 31,
20232022
Customer A*61 %
Customer B23 %*
Customer C14 %*
Customer D13 %*
Customer E10 %*
* 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
March 31, 2023December 31, 2022
Customer A*53 %
Customer B21 %*
Customer C11 %10 %
Customer F14 %*
Customer G12 %*
* 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 March 31,
20232022
Revenues:
Americas$2,584 $3,732 
EMEA3,089 4,127 
APAC7,309 27,481 
Total revenues$12,982 $35,340 
Schedule of long-lived assets by geographical area Identifiable long-lived assets by location was as follows (in thousands):
March 31, 2023December 31, 2022
United States$61,622 $61,877 
Schedule of intangible assets and goodwill Identifiable goodwill by reporting unit was as follows (in thousands):
As of March 31, 2023 and December 31, 2022
Performance EnzymesNovel BiotherapeuticsTotal
Goodwill$2,463 $778 $3,241 
XML 45 R33.htm IDEA: XBRL DOCUMENT v3.23.1
Allowance for Credit Losses (Tables)
3 Months Ended
Mar. 31, 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 March 31,
20232022
Balance at beginning of period$163 $416 
Provision for credit losses— — 
Write-offs— — 
Adjustment to the existing allowance— — 
Balance at end of period$163 $416 
Summary of accounts receivable by aging The following tables summarize accounts receivable by aging category (in thousands):
March 31, 2023
Current31-60 Days61-90 Days91 Days and overTotal over 31 DaysTotal balance
Accounts receivable$7,385 $508 $321 $1,720 $2,549 $9,934 
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 46 R34.htm IDEA: XBRL DOCUMENT v3.23.1
Description of Business (Details)
3 Months Ended
Mar. 31, 2023
segment
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Number of reportable segments 2
XML 47 R35.htm IDEA: XBRL DOCUMENT v3.23.1
Revenue Recognition - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2023
Mar. 31, 2022
Disaggregation of Revenue [Line Items]    
Total revenues $ 12,982 $ 35,340
Americas    
Disaggregation of Revenue [Line Items]    
Total revenues 2,584 3,732
EMEA    
Disaggregation of Revenue [Line Items]    
Total revenues 3,089 4,127
APAC    
Disaggregation of Revenue [Line Items]    
Total revenues 7,309 27,481
Product revenue    
Disaggregation of Revenue [Line Items]    
Total revenues 8,364 30,690
Research and development revenue    
Disaggregation of Revenue [Line Items]    
Total revenues 4,618 4,650
Performance Enzymes    
Disaggregation of Revenue [Line Items]    
Total revenues 9,486 33,099
Performance Enzymes | Americas    
Disaggregation of Revenue [Line Items]    
Total revenues 918 2,553
Performance Enzymes | EMEA    
Disaggregation of Revenue [Line Items]    
Total revenues 1,259 3,065
Performance Enzymes | APAC    
Disaggregation of Revenue [Line Items]    
Total revenues 7,309 27,481
Performance Enzymes | Product revenue    
Disaggregation of Revenue [Line Items]    
Total revenues 8,364 30,690
Performance Enzymes | Research and development revenue    
Disaggregation of Revenue [Line Items]    
Total revenues 1,122 2,409
Novel Biotherapeutics    
Disaggregation of Revenue [Line Items]    
Total revenues 3,496 2,241
Novel Biotherapeutics | Americas    
Disaggregation of Revenue [Line Items]    
Total revenues 1,666 1,179
Novel Biotherapeutics | EMEA    
Disaggregation of Revenue [Line Items]    
Total revenues 1,830 1,062
Novel Biotherapeutics | APAC    
Disaggregation of Revenue [Line Items]    
Total revenues 0 0
Novel Biotherapeutics | Product revenue    
Disaggregation of Revenue [Line Items]    
Total revenues 0 0
Novel Biotherapeutics | Research and development revenue    
Disaggregation of Revenue [Line Items]    
Total revenues $ 3,496 $ 2,241
XML 48 R36.htm IDEA: XBRL DOCUMENT v3.23.1
Revenue Recognition - Contracts with Customer (Details) - USD ($)
$ in Thousands
Mar. 31, 2023
Dec. 31, 2022
Revenue from Contract with Customer [Abstract]    
Contract assets $ 2,449 $ 2,116
Unbilled receivables 7,797 7,016
Contract costs 2 19
Contract liabilities: deferred revenue $ 28,882 $ 30,609
XML 49 R37.htm IDEA: XBRL DOCUMENT v3.23.1
Revenue Recognition - Narrative (Details) - USD ($)
3 Months Ended
Mar. 31, 2023
Mar. 31, 2022
Revenue from Contract with Customer [Abstract]    
Impairment charges related to contract assets $ 0 $ 0
XML 50 R38.htm IDEA: XBRL DOCUMENT v3.23.1
Revenue Recognition - Revenue Recognized During Period (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2023
Mar. 31, 2022
Amounts included in contract liabilities at the beginning of the period:    
Performance obligations satisfied $ 1,602 $ 1,094
Changes in the period:    
Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods (216) 215
Performance obligations satisfied from new activities in the period - contract revenue 11,596 34,031
Total revenues $ 12,982 $ 35,340
XML 51 R39.htm IDEA: XBRL DOCUMENT v3.23.1
Revenue Recognition - Performance Obligation (Details)
$ in Thousands
Mar. 31, 2023
USD ($)
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Performance obligation $ 28,882
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-04-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Performance obligation $ 13,371
Expected timing of satisfaction, period 9 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Performance obligation $ 12,072
Expected timing of satisfaction, period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-01-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Performance obligation $ 100
Expected timing of satisfaction, period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Performance obligation $ 3,339
Expected timing of satisfaction, period
Product revenue  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Performance obligation $ 21,380
Product revenue | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-04-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Performance obligation $ 5,891
Expected timing of satisfaction, period 9 months
Product revenue | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Performance obligation $ 12,050
Expected timing of satisfaction, period 1 year
Product revenue | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-01-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Performance obligation $ 100
Expected timing of satisfaction, period 1 year
Product revenue | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Performance obligation $ 3,339
Expected timing of satisfaction, period
Research and development revenue  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Performance obligation $ 7,502
Research and development revenue | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-04-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Performance obligation $ 7,480
Expected timing of satisfaction, period 9 months
Research and development revenue | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Performance obligation $ 22
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  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [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  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Performance obligation $ 0
Expected timing of satisfaction, period
XML 52 R40.htm IDEA: XBRL DOCUMENT v3.23.1
Net Loss per Share - Shares Not Included in Computation of Diluted Net Loss Per Share (Details) - shares
shares in Thousands
3 Months Ended
Mar. 31, 2023
Mar. 31, 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 (in shares) 9,397 5,899
XML 53 R41.htm IDEA: XBRL DOCUMENT v3.23.1
Investments in Non-Marketable Securities - Narrative (Details) - USD ($)
1 Months Ended 3 Months Ended
Mar. 31, 2023
Sep. 30, 2021
Mar. 31, 2023
Mar. 31, 2022
Dec. 31, 2022
Marketable Securities [Line Items]          
Payments to acquire other investments     $ 750,000 $ 5,000,000  
Total non-marketable equity securities $ 21,310,000   21,310,000   $ 20,510,000
Total revenues     12,982,000 35,340,000  
Unrealized or realized gains or losses     0 0  
Research and development revenue ($0 and $245 from a related party)          
Marketable Securities [Line Items]          
Total revenues     4,618,000 4,650,000  
seqWell | Research and development revenue ($0 and $245 from a related party)          
Marketable Securities [Line Items]          
Total revenues     $ 50,000    
Common Stock | seqWell          
Marketable Securities [Line Items]          
Shares issued in exchange for service (in shares)     47,933    
seqWell          
Marketable Securities [Line Items]          
Total non-marketable equity securities 5,050,000   $ 5,050,000 $ 5,000,000 5,000,000
Arzeda          
Marketable Securities [Line Items]          
Total non-marketable equity securities $ 1,289,000   $ 1,289,000   $ 1,289,000
Series A And B Preferred Stock | MAI | MCRA          
Marketable Securities [Line Items]          
Number of shares received in exchange for services (in shares)     19,277,914    
Series C Preferred Stock | seqWell          
Marketable Securities [Line Items]          
Non-marketable equity securities purchased (in shares)       1,000,000  
Series B-2 Preferred Stock | Arzeda          
Marketable Securities [Line Items]          
Non-marketable equity securities purchased (in shares) 207,070   207,070    
MAI | Series B Preferred Stock          
Marketable Securities [Line Items]          
Number of shares purchased (in shares) 985,545 9,198,423 985,545    
Payments to acquire other investments $ 800,000 $ 7,000,000      
XML 54 R42.htm IDEA: XBRL DOCUMENT v3.23.1
Investments in Non-Marketable Securities - Carrying Value of Non-marketable Equity Securities (Details) - USD ($)
$ in Thousands
Mar. 31, 2023
Dec. 31, 2022
Mar. 31, 2022
Marketable Securities [Line Items]      
Total non-marketable equity securities $ 21,310 $ 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 5,050 5,000 $ 5,000
Arzeda      
Marketable Securities [Line Items]      
Total non-marketable equity securities 1,289 1,289  
Other investments in non-marketable equity securities      
Marketable Securities [Line Items]      
Total non-marketable equity securities $ 300 $ 300  
XML 55 R43.htm IDEA: XBRL DOCUMENT v3.23.1
Fair Value Measurements (Details) - USD ($)
3 Months Ended
Mar. 31, 2023
Mar. 31, 2022
Dec. 31, 2022
Convertible Debt      
Summary of financial instruments measured at fair value on a recurring basis      
Credit losses $ 0 $ 0  
Other-than-temporary impairment losses 0 $ 0  
Money market funds      
Summary of financial instruments measured at fair value on a recurring basis      
Money market funds 100,165,000   $ 77,309,000
Level 1 | Money market funds      
Summary of financial instruments measured at fair value on a recurring basis      
Money market funds 100,165,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
Level 3 | Money market funds      
Summary of financial instruments measured at fair value on a recurring basis      
Money market funds $ 0   $ 0
XML 56 R44.htm IDEA: XBRL DOCUMENT v3.23.1
Balance Sheets Details - Cash and Cash Equivalents (Details) - USD ($)
$ in Thousands
Mar. 31, 2023
Dec. 31, 2022
Mar. 31, 2022
Cash and Cash Equivalents [Line Items]      
Adjusted Cost $ 102,831 $ 113,984 $ 94,260
Money market funds 100,200 77,300  
Cash 2,600 36,700  
Money market funds      
Cash and Cash Equivalents [Line Items]      
Adjusted Cost 100,165 77,309  
Estimated Fair Value $ 100,165 $ 77,309  
XML 57 R45.htm IDEA: XBRL DOCUMENT v3.23.1
Balance Sheets Details - Inventories (Details) - USD ($)
$ in Thousands
Mar. 31, 2023
Dec. 31, 2022
Schedule of Inventory Components    
Raw materials $ 108 $ 108
Work in process 36 91
Finished goods 1,852 1,830
Total Inventories 1,996 2,029
Inventory net of reserves $ 1,200 $ 1,200
XML 58 R46.htm IDEA: XBRL DOCUMENT v3.23.1
Balance Sheets Details - Property and Equipment, net (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2023
Mar. 31, 2022
Dec. 31, 2022
Property, Plant and Equipment [Line Items]      
Property and equipment $ 64,771   $ 62,435
Less: accumulated depreciation and amortization (41,162)   (39,821)
Property and equipment, net 23,609   22,614
Depreciation expense 1,466 $ 1,215  
Laboratory equipment      
Property, Plant and Equipment [Line Items]      
Property and equipment 40,489   39,679
Leasehold improvements      
Property, Plant and Equipment [Line Items]      
Property and equipment 16,694   16,633
Computer equipment and software      
Property, Plant and Equipment [Line Items]      
Property and equipment 3,039   3,039
Office equipment and furniture      
Property, Plant and Equipment [Line Items]      
Property and equipment 1,360   1,345
Construction in progress      
Property, Plant and Equipment [Line Items]      
Property and equipment $ 3,189   $ 1,739
XML 59 R47.htm IDEA: XBRL DOCUMENT v3.23.1
Balance Sheets Details - Goodwill (Details) - USD ($)
$ in Thousands
Mar. 31, 2023
Dec. 31, 2022
Balance Sheet Details [Abstract]    
Goodwill $ 3,241 $ 3,241
XML 60 R48.htm IDEA: XBRL DOCUMENT v3.23.1
Balance Sheets Details - Other Accrued Liabilities (Details) - USD ($)
$ in Thousands
Mar. 31, 2023
Dec. 31, 2022
Balance Sheets Details [Abstract]    
Accrued professional and outside service fees $ 4,256 $ 3,495
Accrued purchases 2,896 10,852
Other 1,188 932
Total other accrued liabilities $ 8,340 $ 15,279
XML 61 R49.htm IDEA: XBRL DOCUMENT v3.23.1
Stock-based Compensation - Equity Incentive Plans (Details) - shares
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 2,000,000    
2019 Plan      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Number of shares authorized   8,100,000  
Number of shares available for grant     7,897,144
Maximum number of shares to be issued upon exercise of stock options     14,000,000
XML 62 R50.htm IDEA: XBRL DOCUMENT v3.23.1
Stock-based Compensation - Stock Options (Details)
3 Months Ended
Mar. 31, 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 63 R51.htm IDEA: XBRL DOCUMENT v3.23.1
Stock-based Compensation - Restricted Stock Units (Details) - RSUs
3 Months Ended
Mar. 31, 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 64 R52.htm IDEA: XBRL DOCUMENT v3.23.1
Stock-based Compensation - PSUs and PBOs (Details)
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
installment
shares
Mar. 31, 2022
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, threshold level, shares eligible to vest, multiplier   25.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   100.00%  
Grants in period (in shares)   0  
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)   0  
XML 65 R53.htm IDEA: XBRL DOCUMENT v3.23.1
Stock-based Compensation - Stock-based Compensation Expense (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2023
Mar. 31, 2022
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]    
Stock-based compensation $ 2,809 $ 3,838
Stock options    
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]    
Stock-based compensation 922 806
Compensation not yet recognized, stock options 11,900  
RSUs and RSAs    
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]    
Stock-based compensation 1,126 1,162
Compensation not yet recognized, share-based awards other than options 8,600  
PSUs    
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]    
Stock-based compensation 837 872
Compensation not yet recognized, share-based awards other than options 1,100  
PBOs    
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]    
Stock-based compensation (76) 998
Compensation not yet recognized, share-based awards other than options 200  
Cost of product revenue    
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]    
Stock-based compensation 129 100
Research and development    
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]    
Stock-based compensation 722 1,039
Selling, general and administrative    
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]    
Stock-based compensation $ 1,958 $ 2,699
XML 66 R54.htm IDEA: XBRL DOCUMENT v3.23.1
Capital Stock (Details) - USD ($)
$ / shares in Units, $ in Thousands
1 Months Ended 3 Months Ended
May 31, 2021
Mar. 31, 2023
Mar. 31, 2022
Feb. 27, 2023
Class of Stock [Line Items]        
Stock options exercised (in shares)   142,856 77,600  
Weighted average exercise price of stock options exercised (in dollars per share)   $ 1.97 $ 2.33  
Proceeds from exercises of stock options   $ 281 $ 181  
Sale of stock, securities registered aggregate amount       $ 200,000
Sale of stock, consideration received on transaction, gross   1,500    
Costs incurred in connection with offering   390    
Net proceeds received   1,200    
Piper Sandler & Co        
Class of Stock [Line Items]        
Sale of stock, period 3 years      
Sale of stock, value of shares for issuance   $ 48,500    
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 (in shares)   327,480 0  
Piper Sandler & Co | 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 67 R55.htm IDEA: XBRL DOCUMENT v3.23.1
Commitments and Contingencies - Narrative (Details)
Jun. 30, 2017
USD ($)
Mar. 31, 2023
USD ($)
ft²
renewal_option
Dec. 31, 2022
USD ($)
Mar. 31, 2022
USD ($)
Jan. 31, 2021
USD ($)
ft²
option
Schedule of Commitments and Contingencies [Line Items]          
Area of real estate property (in square feet) | ft²   77,300      
Number of options to extend | renewal_option   1      
Asset retirement obligation   $ 500,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    
200-220 Penobscot          
Schedule of Commitments and Contingencies [Line Items]          
Area of real estate property (in square feet) | ft²   28,200      
400 Penobscot          
Schedule of Commitments and Contingencies [Line Items]          
Area of real estate property (in square feet) | ft²   37,900      
Renewal term   5 years      
501 Chesapeake          
Schedule of Commitments and Contingencies [Line Items]          
Area of real estate property (in square feet) | ft²   11,200      
Number of options to extend | renewal_option   1      
Renewal term   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
Security deposit         $ 500,000
XML 68 R56.htm IDEA: XBRL DOCUMENT v3.23.1
Commitments and Contingencies - Lease Cost (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2023
Mar. 31, 2022
Lease, Cost [Abstract]    
Finance lease costs $ 0 $ 18
Operating lease cost 1,830 1,831
Short-term lease cost 0 30
Total lease cost $ 1,830 $ 1,879
XML 69 R57.htm IDEA: XBRL DOCUMENT v3.23.1
Commitments and Contingencies - Other Lease Information (Details)
Mar. 31, 2023
Commitments and Contingencies Disclosure [Abstract]  
Weighted-average remaining lease term (in years) 7 years
Weighted-average discount rate 5.40%
XML 70 R58.htm IDEA: XBRL DOCUMENT v3.23.1
Commitments and Contingencies - Cash Paid for Lease Obligations (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2023
Mar. 31, 2022
Commitments and Contingencies Disclosure [Abstract]    
Operating cash flows from operating leases $ 1,882 $ 1,022
XML 71 R59.htm IDEA: XBRL DOCUMENT v3.23.1
Commitments and Contingencies - Maturity Analysis of Operating Lease (Details) - USD ($)
$ in Thousands
Mar. 31, 2023
Dec. 31, 2022
Operating Leases    
2023 (remaining 9 months) $ 5,686  
2024 7,783  
2025 8,004  
2026 8,232  
2027 5,835  
Thereafter 14,871  
Total minimum lease payments 50,411  
Less: imputed interest 8,074  
Lease obligations 42,337  
Current portion of lease obligations - Operating leases 5,492 $ 5,360
Long-term lease obligations - Operating leases $ 36,845 $ 38,278
XML 72 R60.htm IDEA: XBRL DOCUMENT v3.23.1
Commitments and Contingencies - Other Commitments (Details)
$ in Thousands
Mar. 31, 2023
USD ($)
Other Commitments [Line Items]  
Total $ 6,225
2023 (Remaining 9 Months) 5,034
2024 and Thereafter 1,191
Development and manufacturing services agreements  
Other Commitments [Line Items]  
Total 3,734
2023 (Remaining 9 Months) 2,543
2024 and Thereafter 1,191
Facility maintenance agreement  
Other Commitments [Line Items]  
Total 2,491
2023 (Remaining 9 Months) 2,491
2024 and Thereafter $ 0
XML 73 R61.htm IDEA: XBRL DOCUMENT v3.23.1
Related Party Transactions - Molecular Assemblies, Inc. (Details) - USD ($)
$ in Thousands
1 Months Ended 3 Months Ended
Mar. 31, 2023
Sep. 30, 2021
Apr. 30, 2021
Jun. 30, 2020
Mar. 31, 2023
Mar. 31, 2022
Related Party Transaction [Line Items]            
Payments to acquire other investments         $ 750 $ 5,000
MAI | MCRA            
Related Party Transaction [Line Items]            
Research and development revenue from transactions with MAI           $ 200
MAI | Series A Preferred Stock            
Related Party Transaction [Line Items]            
Payments to acquire other investments     $ 600 $ 1,000    
Number of shares purchased (in shares)     1,000,000 1,587,050    
MAI | Series B Preferred Stock            
Related Party Transaction [Line Items]            
Payments to acquire other investments $ 800 $ 7,000        
Number of shares purchased (in shares) 985,545 9,198,423     985,545  
XML 74 R62.htm IDEA: XBRL DOCUMENT v3.23.1
Segment, Geographical and Other Revenue Information - Narrative (Details)
3 Months Ended
Mar. 31, 2023
segment
Segment Reporting [Abstract]  
Number of operating segments 2
Number of reportable segments 2
XML 75 R63.htm IDEA: XBRL DOCUMENT v3.23.1
Segment, Geographical and Other Revenue Information - Segment Reporting (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2023
Mar. 31, 2022
Segment Reporting Information [Line Items]    
Total revenues $ 12,982 $ 35,340
Cost of product revenue 4,521 8,521
Research and development 16,655 19,500
Selling, general and administrative 15,399 15,705
Restructuring charges 72 0
Total costs and operating expenses 36,647 43,726
Loss from operations (23,665) (8,386)
Unallocated depreciation and amortization (1,466) (1,215)
Stock-based compensation 2,809 3,838
Performance Enzymes    
Segment Reporting Information [Line Items]    
Total revenues 9,486 33,099
Novel Biotherapeutics    
Segment Reporting Information [Line Items]    
Total revenues 3,496 2,241
Operating Segments    
Segment Reporting Information [Line Items]    
Total revenues 12,982 35,340
Cost of product revenue 4,521 8,521
Research and development 15,411 18,468
Selling, general and administrative 3,749 4,261
Restructuring charges 72 0
Total costs and operating expenses 23,753 31,250
Loss from operations (10,771) 4,090
Operating Segments | Performance Enzymes    
Segment Reporting Information [Line Items]    
Total revenues 9,486 33,099
Cost of product revenue 4,521 8,521
Research and development 8,099 6,122
Selling, general and administrative 2,798 3,541
Restructuring charges 0 0
Total costs and operating expenses 15,418 18,184
Loss from operations (5,932) 14,915
Stock-based compensation 1,035 1,690
Operating Segments | Novel Biotherapeutics    
Segment Reporting Information [Line Items]    
Total revenues 3,496 2,241
Cost of product revenue 0 0
Research and development 7,312 12,346
Selling, general and administrative 951 720
Restructuring charges 72 0
Total costs and operating expenses 8,335 13,066
Loss from operations (4,839) (10,825)
Stock-based compensation 413 410
Corporate    
Segment Reporting Information [Line Items]    
Total costs and operating expenses (10,364) (11,205)
Unallocated depreciation and amortization (1,466) (1,232)
Loss before income taxes (22,601) (8,347)
Stock-based compensation 1,361 1,738
Product revenue    
Segment Reporting Information [Line Items]    
Total revenues 8,364 30,690
Product revenue | Performance Enzymes    
Segment Reporting Information [Line Items]    
Total revenues 8,364 30,690
Product revenue | Novel Biotherapeutics    
Segment Reporting Information [Line Items]    
Total revenues 0 0
Product revenue | Operating Segments    
Segment Reporting Information [Line Items]    
Total revenues 8,364 30,690
Product revenue | Operating Segments | Performance Enzymes    
Segment Reporting Information [Line Items]    
Total revenues 8,364 30,690
Product revenue | Operating Segments | Novel Biotherapeutics    
Segment Reporting Information [Line Items]    
Total revenues 0 0
Research and development revenue    
Segment Reporting Information [Line Items]    
Total revenues 4,618 4,650
Research and development revenue | Performance Enzymes    
Segment Reporting Information [Line Items]    
Total revenues 1,122 2,409
Research and development revenue | Novel Biotherapeutics    
Segment Reporting Information [Line Items]    
Total revenues 3,496 2,241
Research and development revenue | Operating Segments    
Segment Reporting Information [Line Items]    
Total revenues 4,618 4,650
Research and development revenue | Operating Segments | Performance Enzymes    
Segment Reporting Information [Line Items]    
Total revenues 1,122 2,409
Research and development revenue | Operating Segments | Novel Biotherapeutics    
Segment Reporting Information [Line Items]    
Total revenues $ 3,496 $ 2,241
XML 76 R64.htm IDEA: XBRL DOCUMENT v3.23.1
Segment, Geographical and Other Revenue Information - Concentration Risk (Details) - Customer Concentration Risk
3 Months Ended 12 Months Ended
Mar. 31, 2023
Mar. 31, 2022
Dec. 31, 2022
Revenue | Customer A      
Concentration Risk [Line Items]      
Concentration risk, percentage   61.00%  
Revenue | Customer B      
Concentration Risk [Line Items]      
Concentration risk, percentage 23.00%    
Revenue | Customer C      
Concentration Risk [Line Items]      
Concentration risk, percentage 14.00%    
Revenue | Customer D      
Concentration Risk [Line Items]      
Concentration risk, percentage 13.00%    
Revenue | Customer E      
Concentration Risk [Line Items]      
Concentration risk, percentage 10.00%    
Accounts Receivable | Customer A      
Concentration Risk [Line Items]      
Concentration risk, percentage     53.00%
Accounts Receivable | Customer B      
Concentration Risk [Line Items]      
Concentration risk, percentage 21.00%    
Accounts Receivable | Customer C      
Concentration Risk [Line Items]      
Concentration risk, percentage 11.00%   10.00%
Accounts Receivable | Customer F      
Concentration Risk [Line Items]      
Concentration risk, percentage 14.00%    
Accounts Receivable | Customer G      
Concentration Risk [Line Items]      
Concentration risk, percentage 12.00%    
XML 77 R65.htm IDEA: XBRL DOCUMENT v3.23.1
Segment, Geographical and Other Revenue Information - Revenues by Geographic Area (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2023
Mar. 31, 2022
Segment Reporting Information [Line Items]    
Total revenues $ 12,982 $ 35,340
Americas    
Segment Reporting Information [Line Items]    
Total revenues 2,584 3,732
EMEA    
Segment Reporting Information [Line Items]    
Total revenues 3,089 4,127
APAC    
Segment Reporting Information [Line Items]    
Total revenues $ 7,309 $ 27,481
XML 78 R66.htm IDEA: XBRL DOCUMENT v3.23.1
Segment, Geographical and Other Revenue Information - Long-Lived Assets by Geographic Area (Details) - USD ($)
$ in Thousands
Mar. 31, 2023
Dec. 31, 2022
United States    
Geographic Areas, Long-Lived Assets [Abstract]    
Long-lived assets $ 61,622 $ 61,877
XML 79 R67.htm IDEA: XBRL DOCUMENT v3.23.1
Segment, Geographical and Other Revenue Information - Goodwill (Details) - USD ($)
$ in Thousands
Mar. 31, 2023
Dec. 31, 2022
Segment Reporting Information [Line Items]    
Goodwill $ 3,241 $ 3,241
Operating Segments    
Segment Reporting Information [Line Items]    
Goodwill 3,241 3,241
Operating Segments | Performance Enzymes    
Segment Reporting Information [Line Items]    
Goodwill 2,463 2,463
Operating Segments | Novel Biotherapeutics    
Segment Reporting Information [Line Items]    
Goodwill $ 778 $ 778
XML 80 R68.htm IDEA: XBRL DOCUMENT v3.23.1
Allowance for Credit Losses - Analysis of Allowance for Credit Losses (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2023
Mar. 31, 2022
Dec. 31, 2022
Dec. 31, 2021
Financing Receivable, Allowance for Credit Loss [Roll Forward]        
Balance at beginning of period $ 163 $ 416 $ 163 $ 416
Provision for credit losses 0 0    
Write-offs 0 0    
Adjustment to the existing allowance 0 0    
Balance at end of period $ 163 $ 416    
XML 81 R69.htm IDEA: XBRL DOCUMENT v3.23.1
Allowance for Credit Losses - Summary of Finance Receivables by Aging Category (Details) - USD ($)
$ in Thousands
Mar. 31, 2023
Dec. 31, 2022
Financing Receivable, Allowance for Credit Loss [Line Items]    
Accounts receivable, before allowance for credit loss $ 9,934 $ 31,904
Current    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Accounts receivable, before allowance for credit loss 7,385 28,896
31-60 Days    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Accounts receivable, before allowance for credit loss 508 1,747
61-90 Days    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Accounts receivable, before allowance for credit loss 321 469
91 Days and over    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Accounts receivable, before allowance for credit loss 1,720 792
Total over 31 Days    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Accounts receivable, before allowance for credit loss $ 2,549 $ 3,008
XML 82 R70.htm IDEA: XBRL DOCUMENT v3.23.1
Restructuring Charges - Narrative (Details) - USD ($)
$ in Thousands
1 Months Ended 3 Months Ended
Nov. 30, 2022
Mar. 31, 2023
Mar. 31, 2022
Restructuring Cost and Reserve [Line Items]      
Restructuring charges   $ 72 $ 0
One-time Termination Benefits      
Restructuring Cost and Reserve [Line Items]      
Restructuring and related cost, number of positions eliminated, period percent 18.00%    
Restructuring charges   $ 100  
XML 83 cdxs-20230331_htm.xml IDEA: XBRL DOCUMENT 0001200375 2023-01-01 2023-03-31 0001200375 2023-05-01 0001200375 2023-03-31 0001200375 2022-12-31 0001200375 srt:AffiliatedEntityMember 2023-03-31 0001200375 srt:AffiliatedEntityMember 2022-12-31 0001200375 cdxs:ProductSalesMember 2023-01-01 2023-03-31 0001200375 cdxs:ProductSalesMember 2022-01-01 2022-03-31 0001200375 cdxs:ResearchandDevelopmentRevenueMember srt:AffiliatedEntityMember 2023-01-01 2023-03-31 0001200375 cdxs:ResearchandDevelopmentRevenueMember srt:AffiliatedEntityMember 2022-01-01 2022-03-31 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2023-01-01 2023-03-31 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2022-01-01 2022-03-31 0001200375 2022-01-01 2022-03-31 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-03-31 0001200375 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-03-31 0001200375 us-gaap:RetainedEarningsMember 2023-01-01 2023-03-31 0001200375 us-gaap:CommonStockMember 2023-03-31 0001200375 us-gaap:AdditionalPaidInCapitalMember 2023-03-31 0001200375 us-gaap:RetainedEarningsMember 2023-03-31 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-03-31 0001200375 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-03-31 0001200375 us-gaap:RetainedEarningsMember 2022-01-01 2022-03-31 0001200375 us-gaap:CommonStockMember 2022-03-31 0001200375 us-gaap:AdditionalPaidInCapitalMember 2022-03-31 0001200375 us-gaap:RetainedEarningsMember 2022-03-31 0001200375 2022-03-31 0001200375 srt:AffiliatedEntityMember 2023-01-01 2023-03-31 0001200375 srt:AffiliatedEntityMember 2022-01-01 2022-03-31 0001200375 cdxs:ProductSalesMember cdxs:PerformanceEnzymesMember 2023-01-01 2023-03-31 0001200375 cdxs:ProductSalesMember cdxs:NovelBiotherapeuticsMember 2023-01-01 2023-03-31 0001200375 cdxs:ProductSalesMember cdxs:PerformanceEnzymesMember 2022-01-01 2022-03-31 0001200375 cdxs:ProductSalesMember cdxs:NovelBiotherapeuticsMember 2022-01-01 2022-03-31 0001200375 cdxs:ResearchandDevelopmentRevenueMember cdxs:PerformanceEnzymesMember 2023-01-01 2023-03-31 0001200375 cdxs:ResearchandDevelopmentRevenueMember cdxs:NovelBiotherapeuticsMember 2023-01-01 2023-03-31 0001200375 cdxs:ResearchandDevelopmentRevenueMember cdxs:PerformanceEnzymesMember 2022-01-01 2022-03-31 0001200375 cdxs:ResearchandDevelopmentRevenueMember cdxs:NovelBiotherapeuticsMember 2022-01-01 2022-03-31 0001200375 cdxs:PerformanceEnzymesMember 2023-01-01 2023-03-31 0001200375 cdxs:NovelBiotherapeuticsMember 2023-01-01 2023-03-31 0001200375 cdxs:PerformanceEnzymesMember 2022-01-01 2022-03-31 0001200375 cdxs:NovelBiotherapeuticsMember 2022-01-01 2022-03-31 0001200375 srt:AmericasMember cdxs:PerformanceEnzymesMember 2023-01-01 2023-03-31 0001200375 srt:AmericasMember cdxs:NovelBiotherapeuticsMember 2023-01-01 2023-03-31 0001200375 srt:AmericasMember 2023-01-01 2023-03-31 0001200375 srt:AmericasMember cdxs:PerformanceEnzymesMember 2022-01-01 2022-03-31 0001200375 srt:AmericasMember cdxs:NovelBiotherapeuticsMember 2022-01-01 2022-03-31 0001200375 srt:AmericasMember 2022-01-01 2022-03-31 0001200375 us-gaap:EMEAMember cdxs:PerformanceEnzymesMember 2023-01-01 2023-03-31 0001200375 us-gaap:EMEAMember cdxs:NovelBiotherapeuticsMember 2023-01-01 2023-03-31 0001200375 us-gaap:EMEAMember 2023-01-01 2023-03-31 0001200375 us-gaap:EMEAMember cdxs:PerformanceEnzymesMember 2022-01-01 2022-03-31 0001200375 us-gaap:EMEAMember cdxs:NovelBiotherapeuticsMember 2022-01-01 2022-03-31 0001200375 us-gaap:EMEAMember 2022-01-01 2022-03-31 0001200375 cdxs:APACMember cdxs:PerformanceEnzymesMember 2023-01-01 2023-03-31 0001200375 cdxs:APACMember cdxs:NovelBiotherapeuticsMember 2023-01-01 2023-03-31 0001200375 cdxs:APACMember 2023-01-01 2023-03-31 0001200375 cdxs:APACMember cdxs:PerformanceEnzymesMember 2022-01-01 2022-03-31 0001200375 cdxs:APACMember cdxs:NovelBiotherapeuticsMember 2022-01-01 2022-03-31 0001200375 cdxs:APACMember 2022-01-01 2022-03-31 0001200375 cdxs:ProductSalesMember 2023-04-01 2023-03-31 0001200375 cdxs:ProductSalesMember 2024-01-01 2023-03-31 0001200375 cdxs:ProductSalesMember 2025-01-01 2023-03-31 0001200375 cdxs:ProductSalesMember 2026-01-01 2023-03-31 0001200375 cdxs:ProductSalesMember 2023-03-31 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2023-04-01 2023-03-31 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2024-01-01 2023-03-31 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2025-01-01 2023-03-31 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2026-01-01 2023-03-31 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2023-03-31 0001200375 2023-04-01 2023-03-31 0001200375 2024-01-01 2023-03-31 0001200375 2025-01-01 2023-03-31 0001200375 2026-01-01 2023-03-31 0001200375 us-gaap:StockCompensationPlanMember 2023-01-01 2023-03-31 0001200375 us-gaap:StockCompensationPlanMember 2022-01-01 2022-03-31 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 cdxs:SeriesAAndBPreferredStockMember 2023-01-01 2023-03-31 0001200375 cdxs:SeqWellMember us-gaap:SeriesCPreferredStockMember 2022-03-31 0001200375 cdxs:SeqWellMember 2022-03-31 0001200375 us-gaap:CommonStockMember cdxs:SeqWellMember 2023-01-01 2023-03-31 0001200375 cdxs:ResearchandDevelopmentRevenueMember cdxs:SeqWellMember 2023-01-01 2023-03-31 0001200375 cdxs:ArzedaMember cdxs:SeriesB2PreferredStockMember 2023-03-31 0001200375 cdxs:MolecularAssembliesIncMember 2023-03-31 0001200375 cdxs:MolecularAssembliesIncMember 2022-12-31 0001200375 cdxs:SeqWellMember 2023-03-31 0001200375 cdxs:SeqWellMember 2022-12-31 0001200375 cdxs:ArzedaMember 2023-03-31 0001200375 cdxs:ArzedaMember 2022-12-31 0001200375 us-gaap:OtherAggregatedInvestmentsMember 2023-03-31 0001200375 us-gaap:OtherAggregatedInvestmentsMember 2022-12-31 0001200375 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member 2023-03-31 0001200375 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member 2023-03-31 0001200375 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel3Member 2023-03-31 0001200375 us-gaap:MoneyMarketFundsMember 2023-03-31 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-01-01 2023-03-31 0001200375 us-gaap:ConvertibleDebtMember 2022-01-01 2022-03-31 0001200375 cdxs:LaboratoryEquipmentMember 2023-03-31 0001200375 cdxs:LaboratoryEquipmentMember 2022-12-31 0001200375 us-gaap:LeaseholdImprovementsMember 2023-03-31 0001200375 us-gaap:LeaseholdImprovementsMember 2022-12-31 0001200375 us-gaap:ComputerEquipmentMember 2023-03-31 0001200375 us-gaap:ComputerEquipmentMember 2022-12-31 0001200375 cdxs:OfficeEquipmentAndFurnitureMember 2023-03-31 0001200375 cdxs:OfficeEquipmentAndFurnitureMember 2022-12-31 0001200375 us-gaap:ConstructionInProgressMember 2023-03-31 0001200375 us-gaap:ConstructionInProgressMember 2022-12-31 0001200375 cdxs:A2022InducementPlanMember 2023-01-31 0001200375 cdxs:A2019PlanMember 2019-04-22 0001200375 cdxs:A2019PlanMember 2019-06-30 0001200375 cdxs:IncentiveStockOptionsMember 2023-01-01 2023-03-31 0001200375 cdxs:NonStatutoryStockOptionsMember 2023-01-01 2023-03-31 0001200375 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-03-31 0001200375 us-gaap:EmployeeStockOptionMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-01-01 2023-03-31 0001200375 us-gaap:EmployeeStockOptionMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2023-01-01 2023-03-31 0001200375 us-gaap:RestrictedStockUnitsRSUMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-01-01 2023-03-31 0001200375 us-gaap:RestrictedStockUnitsRSUMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2023-01-01 2023-03-31 0001200375 us-gaap:PerformanceSharesMember 2023-03-31 0001200375 us-gaap:PerformanceSharesMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-01-01 2023-03-31 0001200375 us-gaap:PerformanceSharesMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2023-01-01 2023-03-31 0001200375 cdxs:PerformanceShareUnitsPSUsMember 2023-01-01 2023-03-31 0001200375 us-gaap:PerformanceSharesMember 2023-01-01 2023-03-31 0001200375 cdxs:PerformanceBasedOptionsPBOsMember 2023-01-01 2023-03-31 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 2023-01-01 2023-03-31 0001200375 us-gaap:CostOfSalesMember 2023-01-01 2023-03-31 0001200375 us-gaap:CostOfSalesMember 2022-01-01 2022-03-31 0001200375 us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-03-31 0001200375 us-gaap:ResearchAndDevelopmentExpenseMember 2022-01-01 2022-03-31 0001200375 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2023-01-01 2023-03-31 0001200375 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2022-01-01 2022-03-31 0001200375 us-gaap:EmployeeStockOptionMember 2022-01-01 2022-03-31 0001200375 cdxs:RSAsandRSUsMember 2023-01-01 2023-03-31 0001200375 cdxs:RSAsandRSUsMember 2022-01-01 2022-03-31 0001200375 cdxs:PerformanceStockUnitsMember 2023-01-01 2023-03-31 0001200375 cdxs:PerformanceStockUnitsMember 2022-01-01 2022-03-31 0001200375 cdxs:PerformanceBasedOptionsPBOsMember 2022-01-01 2022-03-31 0001200375 us-gaap:EmployeeStockOptionMember 2023-03-31 0001200375 cdxs:RSAsandRSUsMember 2023-03-31 0001200375 cdxs:PerformanceStockUnitsMember 2023-03-31 0001200375 cdxs:PerformanceBasedOptionsPBOsMember 2023-03-31 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-01-01 2023-03-31 0001200375 cdxs:PiperSandlerCoMember 2023-03-31 0001200375 cdxs:PiperSandlerCoMember 2022-01-01 2022-03-31 0001200375 cdxs:A200220PenobscotMember 2023-03-31 0001200375 cdxs:A400PenoscotMember 2023-03-31 0001200375 cdxs:A501ChesapeakeMember 2023-03-31 0001200375 us-gaap:DemandDepositsMember 2023-03-31 0001200375 us-gaap:DemandDepositsMember 2022-12-31 0001200375 cdxs:SanCarlosMember 2021-01-31 0001200375 cdxs:DevelopmentAndManufacturingServicesAgreementsMember 2023-03-31 0001200375 cdxs:FacilityMaintenanceAgreementMember 2023-03-31 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 2022-03-31 0001200375 us-gaap:IndemnificationGuaranteeMember 2022-12-31 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-01-01 2022-03-31 0001200375 us-gaap:OperatingSegmentsMember cdxs:ProductSalesMember cdxs:PerformanceEnzymesMember 2023-01-01 2023-03-31 0001200375 us-gaap:OperatingSegmentsMember cdxs:ProductSalesMember cdxs:NovelBiotherapeuticsMember 2023-01-01 2023-03-31 0001200375 us-gaap:OperatingSegmentsMember cdxs:ProductSalesMember 2023-01-01 2023-03-31 0001200375 us-gaap:OperatingSegmentsMember cdxs:ProductSalesMember cdxs:PerformanceEnzymesMember 2022-01-01 2022-03-31 0001200375 us-gaap:OperatingSegmentsMember cdxs:ProductSalesMember cdxs:NovelBiotherapeuticsMember 2022-01-01 2022-03-31 0001200375 us-gaap:OperatingSegmentsMember cdxs:ProductSalesMember 2022-01-01 2022-03-31 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember cdxs:PerformanceEnzymesMember 2023-01-01 2023-03-31 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember cdxs:NovelBiotherapeuticsMember 2023-01-01 2023-03-31 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember 2023-01-01 2023-03-31 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember cdxs:PerformanceEnzymesMember 2022-01-01 2022-03-31 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember cdxs:NovelBiotherapeuticsMember 2022-01-01 2022-03-31 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember 2022-01-01 2022-03-31 0001200375 us-gaap:OperatingSegmentsMember cdxs:PerformanceEnzymesMember 2023-01-01 2023-03-31 0001200375 us-gaap:OperatingSegmentsMember cdxs:NovelBiotherapeuticsMember 2023-01-01 2023-03-31 0001200375 us-gaap:OperatingSegmentsMember 2023-01-01 2023-03-31 0001200375 us-gaap:OperatingSegmentsMember cdxs:PerformanceEnzymesMember 2022-01-01 2022-03-31 0001200375 us-gaap:OperatingSegmentsMember cdxs:NovelBiotherapeuticsMember 2022-01-01 2022-03-31 0001200375 us-gaap:OperatingSegmentsMember 2022-01-01 2022-03-31 0001200375 us-gaap:CorporateNonSegmentMember 2023-01-01 2023-03-31 0001200375 us-gaap:CorporateNonSegmentMember 2022-01-01 2022-03-31 0001200375 cdxs:CustomerAMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-03-31 0001200375 cdxs:CustomerBMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-03-31 0001200375 cdxs:CustomerCMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-03-31 0001200375 cdxs:CustomerDMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-03-31 0001200375 cdxs:CustomerEMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-03-31 0001200375 cdxs:CustomerAMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 0001200375 cdxs:CustomerBMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-03-31 0001200375 cdxs:CustomerCMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-03-31 0001200375 cdxs:CustomerCMember 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-03-31 0001200375 cdxs:CustomerGMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-03-31 0001200375 country:US 2023-03-31 0001200375 country:US 2022-12-31 0001200375 us-gaap:OperatingSegmentsMember cdxs:PerformanceEnzymesMember 2022-12-31 0001200375 us-gaap:OperatingSegmentsMember cdxs:PerformanceEnzymesMember 2023-03-31 0001200375 us-gaap:OperatingSegmentsMember cdxs:NovelBiotherapeuticsMember 2022-12-31 0001200375 us-gaap:OperatingSegmentsMember cdxs:NovelBiotherapeuticsMember 2023-03-31 0001200375 us-gaap:OperatingSegmentsMember 2022-12-31 0001200375 us-gaap:OperatingSegmentsMember 2023-03-31 0001200375 cdxs:FinancialReceivablesNotPastDueMember 2023-03-31 0001200375 us-gaap:FinancingReceivables30To59DaysPastDueMember 2023-03-31 0001200375 us-gaap:FinancingReceivables60To89DaysPastDueMember 2023-03-31 0001200375 us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember 2023-03-31 0001200375 cdxs:FinancialReceivablesPastDueMember 2023-03-31 0001200375 cdxs:FinancialReceivablesNotPastDueMember 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 2022-11-01 2022-11-30 0001200375 us-gaap:OneTimeTerminationBenefitsMember 2023-01-01 2023-03-31 shares iso4217:USD iso4217:USD shares cdxs:segment pure cdxs:installment utr:sqft cdxs:renewal_option cdxs:option 0001200375 false 2023 Q1 --12-31 P9M P1Y P1Y P9M P1Y P1Y P9M P1Y P1Y 0.5 1 1 0.25 1 10-Q true 2023-03-31 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 66767717 102831000 113984000 525000 521000 9934000 31904000 2449000 2116000 7797000 7016000 20180000 41036000 163000 163000 20017000 40873000 1996000 2029000 4585000 5487000 129954000 162894000 1526000 1521000 0 13921000 21310000 20510000 38013000 39263000 23609000 22614000 3241000 3241000 415000 350000 218068000 250393000 4494000 3246000 6611000 11453000 8340000 15279000 5492000 5360000 13374000 13728000 38311000 49066000 15508000 16881000 36845000 38278000 1388000 1371000 92052000 105596000 0.0001 0.0001 5000000 5000000 0 0 0 0 0 0 0.0001 0.0001 100000000 100000000 66696000 66696000 65811000 65811000 6000 6000 569917000 566081000 -443907000 -421290000 126016000 144797000 218068000 250393000 8364000 30690000 0 245000 4618000 4650000 12982000 35340000 4521000 8521000 16655000 19500000 15399000 15705000 72000 0 36647000 43726000 -23665000 -8386000 1089000 42000 -25000 -3000 -22601000 -8347000 16000 9000 -22617000 -8356000 -0.34 -0.34 -0.13 -0.13 65931000 65931000 65096000 65096000 65811000 6000 566081000 -421290000 144797000 143000 281000 281000 479000 2809000 2809000 390000 328000 1150000 1150000 65000 404000 404000 -22617000 -22617000 66696000 6000 569917000 -443907000 126016000 65109000 6000 552083000 -387698000 164391000 78000 181000 181000 190000 3777000 3777000 61000 61000 73000 1419000 1419000 -8356000 -8356000 65304000 6000 554683000 -396054000 158635000 -22617000 -8356000 1466000 1215000 1249000 1200000 2809000 3838000 0 245000 50000 245000 -5000 -7000 -20856000 6463000 -33000 400000 -586000 -1397000 694000 -1029000 11091000 121000 -1415000 -1192000 -1727000 -1023000 -9212000 -11186000 2539000 5089000 5000 7000 750000 5000000 -3284000 -10082000 281000 181000 1540000 0 65000 42000 404000 1419000 1352000 -1280000 -11144000 -22548000 116026000 118895000 104882000 96347000 7000 5000 193000 0 819000 789000 102831000 94260000 2051000 2087000 104882000 96347000 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 are a leading enzyme engineering company leveraging 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%"> technology platform to discover, develop, enhance, and commercialize novel, high performance enzymes and other classes of proteins.</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%">We report our financial results based o</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">n two r</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">eportable 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 Novel Biotherapeutics business includes a diverse pipeline of product candidates in clinical and preclinical development. Our Performance Enzymes business consists primarily of two focus areas: i) biocatalysts for the sustainable manufacturing of pharmaceuticals and ii) enzymes for life science applications, including genomic sequencing and nucleic acid synthesis. </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 (CODM), who is our Chief Executive Officer (CEO), reviews and manages the business.</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 months ended March 31, 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 March 31, 2023, results of our operations for the three months ended March 31, 2023 and 2022, changes in stockholders' equity for the three months ended March 31, 2023 and 2022, and cash flows for the three months ended March 31, 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, inventories, valuation of equity investments, 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. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition, including sales, expenses, reserves and allowances, manufacturing, research and development costs and employee-related amounts, will depend on future developments that are highly uncertain, and may not be accurately predicted, including as a result of new information that may emerge concerning COVID-19 and the actions taken to contain or treat COVID-19, as well as the economic impact on local, regional, national and international customers, markets and economies.</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 months ended March 31, 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 months ended March 31, 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 March 31, 2023, results of our operations for the three months ended March 31, 2023 and 2022, changes in stockholders' equity for the three months ended March 31, 2023 and 2022, and cash flows for the three months ended March 31, 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, inventories, valuation of equity investments, 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. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition, including sales, expenses, reserves and allowances, manufacturing, research and development costs and employee-related amounts, will depend on future developments that are highly uncertain, and may not be accurately predicted, including as a result of new information that may emerge concerning COVID-19 and the actions taken to contain or treat COVID-19, as well as the economic impact on local, regional, national and international customers, markets and economies.</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 months ended March 31, 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="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 style="width:27.993%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.018%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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 March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><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 March 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size: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 #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></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%">8,364 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">8,364 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,690 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,690 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">1,122 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,496 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,618 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,409 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,241 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,650 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 #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:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,486 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,496 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">12,982 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,099 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,241 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,340 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></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%">Primary geographical markets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></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%">918 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,666 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">2,584 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">2,553 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,179 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">3,732 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">1,259 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,089 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,065 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,062 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,127 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">7,309 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,309 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,481 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,481 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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,486 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">3,496 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">12,982 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">33,099 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">2,241 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">35,340 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><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:top"><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%">2,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><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%">7,797 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><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%">2 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><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%">28,882 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"/></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 ha</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 a</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">sset impairment charges related to financial assets in the three months ended March 31, 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 increase in contract assets was primarily due to increases in product revenue from contracts subject to over time revenue recognition. The increase in unbilled receivables was primarily due to the timing of billings. 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 deferred revenue was primarily due to timing of recognition 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%">We recognized 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 following revenues (</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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 March 31,</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 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:top"><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 #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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,602 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,094 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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%">(216)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">215 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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%">11,596 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,031 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><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 #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:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,982 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,340 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></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 March 31, 2023.</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%">Th</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">e balances in the table below </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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 March 31, 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 style="width:38.081%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:10.603%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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 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 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 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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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 #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%">5,891 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">12,050 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,339 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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%">21,380 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">7,480 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,502 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 revenues</span></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%">13,371 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">12,072 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">3,339 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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%">28,882 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:6pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr></table></div> <span style="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 style="width:27.993%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.018%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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 March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><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 March 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size: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 #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></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%">8,364 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">8,364 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,690 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,690 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">1,122 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,496 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,618 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,409 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,241 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,650 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 #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:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,486 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,496 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">12,982 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,099 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,241 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,340 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></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%">Primary geographical markets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></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%">918 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,666 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">2,584 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">2,553 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,179 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">3,732 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">1,259 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,089 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,065 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,062 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,127 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">7,309 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,309 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,481 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,481 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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,486 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">3,496 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">12,982 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">33,099 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">2,241 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">35,340 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr></table> 8364000 0 8364000 30690000 0 30690000 1122000 3496000 4618000 2409000 2241000 4650000 9486000 3496000 12982000 33099000 2241000 35340000 918000 1666000 2584000 2553000 1179000 3732000 1259000 1830000 3089000 3065000 1062000 4127000 7309000 0 7309000 27481000 0 27481000 9486000 3496000 12982000 33099000 2241000 35340000 <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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><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:top"><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%">2,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><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%">7,797 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><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%">2 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><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%">28,882 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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"/></tr></table><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognized 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 following revenues (</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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 March 31,</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 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:top"><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 #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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,602 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,094 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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%">(216)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">215 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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%">11,596 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,031 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><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 #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:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,982 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,340 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr></table> 2449000 2116000 7797000 7016000 2000 19000 28882000 30609000 0 0 1602000 1094000 -216000 215000 11596000 34031000 12982000 35340000 <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 March 31, 2023.</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%">Th</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">e balances in the table below </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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 March 31, 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 style="width:38.081%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:10.603%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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 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 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 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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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 #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%">5,891 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">12,050 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,339 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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%">21,380 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">7,480 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,502 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 revenues</span></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%">13,371 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">12,072 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">3,339 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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%">28,882 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:6pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr></table></div> 5891000 12050000 100000 3339000 21380000 7480000 22000 0 0 7502000 13371000 12072000 100000 3339000 28882000 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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></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="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 March 31,</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:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><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%">9,397</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">5,899</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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></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="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 March 31,</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:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><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%">9,397</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">5,899</span></td></tr></table> 9397000 5899000 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 </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”) </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Series B preferred stock for $0.8 million. As of March 31, 2023, we hold 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 biotechnology 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. We received 47,933 shares of seqWell's common stock from research and development services with seqWell and we recognized $50 thousand in research and development revenue from these services with seqWell during the three months ended March 31, 2023.</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 because 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. 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%">There was no remeasurement event for our investments in MAI, seqWell, Arzeda, and other non-marketable equity securities that occurred during the three months ended March 31, 2023 and 2022. We recognized</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> 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 months ended March 31, 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></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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></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:8pt;font-weight:400;line-height:100%"> </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%">March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><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"><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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"/></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%">5,050 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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"/></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%">1,289 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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"/></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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;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%">Total non-marketable equity securities</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%">21,310 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">20,510 </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"/></tr></table></div> 985545 800000 19277914 1000000 5000000 47933 50000 207070 0 0 <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></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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></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:8pt;font-weight:400;line-height:100%"> </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%">March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><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"><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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"/></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%">5,050 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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"/></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%">1,289 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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"/></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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;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%">Total non-marketable equity securities</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%">21,310 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">20,510 </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"/></tr></table></div> 14671000 13921000 5050000 5000000 1289000 1289000 300000 300000 21310000 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 style="width:34.572%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/></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:8pt;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%">March 31, 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:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><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:bottom"><span style="color:#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%">100,165 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">100,165 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></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 style="width:34.572%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/></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:8pt;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%">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:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><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:bottom"><span style="color:#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"/></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></tr></table></div>During the three months ended March 31, 2023 and 2022, we did not recognize any significant credit losses nor other-than-temporary impairment losses on 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-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 style="width:34.572%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/></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:8pt;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%">March 31, 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:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><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:bottom"><span style="color:#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%">100,165 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">100,165 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></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 style="width:34.572%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/></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:8pt;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%">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:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><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:bottom"><span style="color:#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"/></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></tr></table></div> 100165000 0 0 100165000 77309000 0 0 77309000 0 0 0 0 0 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 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 style="width:34.426%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/></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:8pt;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%">March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Adjusted Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Adjusted Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;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:middle"><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%">100,165 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">100,165 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></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%"> 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="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> As of March 31, 2023, the total cash and cash equivalents balance of $102.8 million consisted of money market funds of $100.2 million and cash of $2.6 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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><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:top"><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 #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%">108 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">108 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><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="padding:2px 0 2px 1pt;text-align: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 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align: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="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><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%">1,852 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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="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="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%">1,996 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="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="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%">2,029 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></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 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.2 million a</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">s of March 31, 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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><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 #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%">40,489 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">39,679 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">16,694 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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"/></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,039 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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"/></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,360 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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"/></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%">3,189 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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"/></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 #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,771 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">62,435 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">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%">(41,162)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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"/></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, net</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,609 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,614 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></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%">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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 March 31,</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:8.5pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td 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:8.5pt;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,466 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,215 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></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%">Goodwill</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%">Goodwill had a carrying value </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of $3.2 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> as of March 31, 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%">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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#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,256 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,495 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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,896 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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"/></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,188 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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"/></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,340 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,279 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></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 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 style="width:34.426%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/></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:8pt;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%">March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Adjusted Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Adjusted Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;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:middle"><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%">100,165 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">100,165 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></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%"> 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> 100165000 100165000 77309000 77309000 102800000 100200000 2600000 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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><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:top"><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 #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%">108 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">108 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><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="padding:2px 0 2px 1pt;text-align: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 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align: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="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><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%">1,852 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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="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="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%">1,996 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="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="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%">2,029 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr></table> 108000 108000 36000 91000 1852000 1830000 1996000 2029000 1200000 1200000 <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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><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 #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%">40,489 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">39,679 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">16,694 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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"/></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,039 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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"/></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,360 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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"/></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%">3,189 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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"/></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 #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,771 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">62,435 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">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%">(41,162)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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"/></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, net</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,609 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,614 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></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%">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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 March 31,</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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:8.5pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td 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:8.5pt;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,466 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,215 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table></div> 40489000 39679000 16694000 16633000 3039000 3039000 1360000 1345000 3189000 1739000 64771000 62435000 41162000 39821000 23609000 22614000 1466000 1215000 3200000 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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#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,256 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,495 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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,896 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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"/></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,188 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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"/></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,340 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,279 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr></table> 4256000 3495000 2896000 10852000 1188000 932000 8340000 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.</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 Incentive Award Plan (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 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 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; provided that no more than 14,000,000 shares may be issued upon the exercise of incentive stock options (“ISOs”). 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”).</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 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.</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%">The compensation committee of the Board approved, solely in respect of non-executive employees, delegated to our CEO the authority to approve grants of PSUs. The compensation committee of the Board also approved grants of PBOs and PSUs to our executives. 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 first quarter of 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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></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 March 31,</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 #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><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%">129 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><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%">722 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><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,958 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,699 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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 #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,809 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,838 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></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 March 31,</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 #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><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 #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%">922 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">806 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><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%">1,126 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,162 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><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%">837 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">872 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><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%">(76)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">998 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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 #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,809 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,838 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 March 31, 2023, unr</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ecognized stock-based compensation expense, net of expected forfeitures, was $11.9 million related to unvested stock options, $8.6 million related to unvested RSUs and RSAs, $1.1 million </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">related to unvested PSUs, 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%">$0.2 million </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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 14000000 8100000 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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></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 March 31,</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 #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><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%">129 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><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%">722 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><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,958 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,699 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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 #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,809 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,838 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table> 129000 100000 722000 1039000 1958000 2699000 2809000 3838000 <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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></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 March 31,</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 #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><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 #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%">922 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">806 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><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%">1,126 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,162 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><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%">837 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">872 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><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%">(76)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">998 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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 #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,809 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,838 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table> 922000 806000 1126000 1162000 837000 872000 -76000 998000 2809000 3838000 11900000 8600000 1100000 200000 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 three months ended March 31, 2023 and March 31, 2022, we issued 142,856 and 77,600 shares, respectively, upon option exercises at a weighted-average exercise price of $1.97 and $2.33 per share, respectively, with net cash proceeds of $0.3 million and $0.2 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 of 1933, as amended. </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%">During the three months ended March 31, 2023, 327,480 shares of our common stock were issued pursuant to the EDA. We received gross proceeds of $1.5 million, or $1.2 million in net proceeds after PSC's commissions and direct offering expenses of $0.4 million. As of March 31, 2023, $48.5 million worth of shares remained available for sale under the EDA. During the three months ended March 31, 2022, no shares of our common stock were issued pursuant to the EDA.</span></div> 142856 77600 1.97 2.33 300000 200000 200000000 P3Y 50000000 P3Y 0.03 0.08 327480 1500000 1200000 400000 48500000 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 of 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</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$1.1 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%"> a</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">s of March 31, 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 consisted 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. We have provided ARE with a $0.5 million security deposit in the form of a letter of credit and is recorded as non-current restricted cash on the 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%">We are required to restore certain areas of the Redwood City and San Carlos facilities that we are renting to their original form. We are expensing the asset retirement obligation over the terms of the respective leases. 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.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 March 31, 2023 and December 31, 2022, 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 months ended March 31, 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;text-indent:18pt"><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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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 March 31,</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="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"/></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 cost</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,830 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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"/></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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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"/></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 cost</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 #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:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,830 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,879 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></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%"> Short-term lease costs on leases with terms of over one month and less than one year.</span></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">(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 style="width:82.379%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.421%"/><td style="width:0.1%"/></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%">7.0 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%">5.4 </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></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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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 March 31,</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><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">:</span></div></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><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%">1,882 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,022 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 March 31, 2023, our maturity analysis of annual undiscounted cash flows of the non-cancellable operating leases are as follows (in thousands):</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 style="width:81.794%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></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 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 #000000;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023 (remaining 9 months)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">5,686 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,783 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,004 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,232 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,835 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,871 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,411 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,074 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><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 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%">42,337 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></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 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%">5,492 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,845 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">42,337 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></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 style="width:48.169%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.423%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:10pt;font-weight:700;line-height:100%">Payments Due by Period</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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 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 9 Months)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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<br/>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%">Development and manufacturing services agreements</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%">3,734 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,543 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,191 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">Facility maintenance agreement</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,491 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,491 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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"/></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 other commitments</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%">6,225 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">5,034 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">1,191 </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"/></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. We terminated the loan agreement with Western Alliance Bank in March 2023. </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 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 500000 500000 <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%">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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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 March 31,</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="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"/></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 cost</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,830 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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"/></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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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"/></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 cost</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 #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:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,830 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,879 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></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%"> Short-term lease costs on leases with terms of over one month and less than one year.</span></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">(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 style="width:82.379%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.421%"/><td style="width:0.1%"/></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%">7.0 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%">5.4 </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></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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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 March 31,</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><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">:</span></div></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><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%">1,882 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,022 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table> 0 18000 1830000 1831000 0 30000 1830000 1879000 P7Y 0.054 1882000 1022000 <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 March 31, 2023, our maturity analysis of annual undiscounted cash flows of the non-cancellable operating leases are as follows (in thousands):</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 style="width:81.794%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></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 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 #000000;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023 (remaining 9 months)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">5,686 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,783 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,004 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,232 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,835 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,871 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,411 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,074 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><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 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%">42,337 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></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 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%">5,492 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,845 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">42,337 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></tr></table></div> 5686000 7783000 8004000 8232000 5835000 14871000 50411000 8074000 42337000 5492000 36845000 42337000 <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 style="width:48.169%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.423%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:10pt;font-weight:700;line-height:100%">Payments Due by Period</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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 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 9 Months)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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<br/>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%">Development and manufacturing services agreements</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%">3,734 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,543 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,191 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">Facility maintenance agreement</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,491 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,491 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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"/></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 other commitments</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%">6,225 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">5,034 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">1,191 </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"/></tr></table> 3734000 2543000 1191000 2491000 2491000 0 6225000 5034000 1191000 10000000 5000000 0.80 0 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 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 months ended March 31, 2023, and subsequent to the related party period which ended in August 2022, are included in the condensed consolidated statement of operations. 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 $0.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 months ended March 31, 2022 and during the related party period</span>. 1587050 1000000 1000000 600000 9198423 7000000 200000 Segment, Geographical and Other Revenue Information<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%">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%">We manage 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.</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 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. </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="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 style="width:33.256%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.703%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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 March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><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 March 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><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 #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><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 #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><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 colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><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 #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><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 #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><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:9pt;font-weight:700;line-height:100%">Revenues:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">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%">8,364 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">8,364 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,690 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,690 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">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%">1,122 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,496 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,618 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,409 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,241 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,650 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total revenues</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,486 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,496 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,982 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,099 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,241 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,340 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Costs and operating expenses:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">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%">4,521 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,521 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,521 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,521 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;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,099 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,312 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,411 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,122 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,346 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,468 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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:9pt;font-weight:400;line-height:100%">Selling, general and administrative </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;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%">2,798 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">951 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,749 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,541 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">720 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,261 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">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%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">72 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">72 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total segment costs and operating expenses</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%">15,418 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,335 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">23,753 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">18,184 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">13,066 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,250 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Income (loss) from operations</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,932)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,839)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">(10,771)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,915 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">(10,825)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">4,090 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate costs </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline">(2)</span></div></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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%">(10,364)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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%">(11,205)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/></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:9pt;font-weight:400;line-height:100%">Unallocated depreciation and amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,466)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,232)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Loss before income taxes</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(22,601)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8,347)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></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.</span></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">(2)</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, interest income, and other expense, 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%">The following table provides stock-based compensation expense included in income (loss) from operations (in thousands):</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 style="width:14.543%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.572%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.572%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.704%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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 March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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 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 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 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 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 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 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 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 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 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:9pt;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%">1,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">413 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,361 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">2,809 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">410 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,738 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">3,838 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></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%">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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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 Total Revenues for the</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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 March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">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%">Customer A</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;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;border-top:1pt solid #000000;padding:0 1pt"/><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%">61 </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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer B</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%">23 </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 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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer C</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%">14 </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 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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer D</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%">13 </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 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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer E</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%">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 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 2px 23.5pt;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="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">March 31, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;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%">Customer A</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%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer B</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%">21 </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 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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer C</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%">11 </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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer F</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%">14 </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 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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer G</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 </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 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 2px 23.5pt;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="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr></table></div><div style="margin-top:9pt;padding-left:18pt;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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></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 March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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%">2,584 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">3,732 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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,089 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,127 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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%">7,309 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,481 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 #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%">12,982 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">35,340 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><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%">61,622 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"/></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></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 style="width:48.169%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.423%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" 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%">As of March 31, 2023 and December 31, 2022</span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">Performance Enzymes</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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%">Novel Biotherapeutics</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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%">Goodwill</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,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">3,241 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:0.584%"><tr><td style="width:1.0%"/><td style="width:98.900%"/><td style="width:0.1%"/></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"/></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%">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%">We manage 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.</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 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. </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="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 style="width:33.256%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.703%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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 March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><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 March 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><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 #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><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 #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><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 colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><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 #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><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 #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><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:9pt;font-weight:700;line-height:100%">Revenues:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">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%">8,364 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">8,364 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,690 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,690 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">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%">1,122 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,496 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,618 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,409 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,241 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,650 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total revenues</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,486 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,496 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,982 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,099 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,241 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,340 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Costs and operating expenses:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">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%">4,521 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,521 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,521 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,521 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;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,099 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,312 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,411 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,122 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,346 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,468 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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:9pt;font-weight:400;line-height:100%">Selling, general and administrative </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;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%">2,798 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">951 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,749 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,541 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">720 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,261 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">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%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">72 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">72 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total segment costs and operating expenses</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%">15,418 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,335 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">23,753 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">18,184 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">13,066 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,250 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Income (loss) from operations</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,932)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,839)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">(10,771)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,915 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">(10,825)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">4,090 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate costs </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline">(2)</span></div></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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%">(10,364)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;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%">(11,205)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/></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:9pt;font-weight:400;line-height:100%">Unallocated depreciation and amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,466)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,232)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Loss before income taxes</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(22,601)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8,347)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></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.</span></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">(2)</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, interest income, and other expense, 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%">The following table provides stock-based compensation expense included in income (loss) from operations (in thousands):</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 style="width:14.543%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.572%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.572%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.704%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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 March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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 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 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 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 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 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 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 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 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 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:9pt;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%">1,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">413 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,361 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">2,809 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">410 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,738 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">3,838 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></tr></table></div> 8364000 0 8364000 30690000 0 30690000 1122000 3496000 4618000 2409000 2241000 4650000 9486000 3496000 12982000 33099000 2241000 35340000 4521000 0 4521000 8521000 0 8521000 8099000 7312000 15411000 6122000 12346000 18468000 2798000 951000 3749000 3541000 720000 4261000 0 72000 72000 0 0 0 15418000 8335000 23753000 18184000 13066000 31250000 -5932000 -4839000 -10771000 14915000 -10825000 4090000 -10364000 -11205000 1466000 1232000 -22601000 -8347000 1035000 413000 1361000 2809000 1690000 410000 1738000 3838000 <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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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 Total Revenues for the</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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 March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">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%">Customer A</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;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;border-top:1pt solid #000000;padding:0 1pt"/><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%">61 </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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer B</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%">23 </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 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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer C</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%">14 </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 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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer D</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%">13 </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 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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer E</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%">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 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 2px 23.5pt;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="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr></table></div><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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">March 31, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;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%">Customer A</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%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer B</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%">21 </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 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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer C</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%">11 </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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer F</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%">14 </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 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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer G</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 </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 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 2px 23.5pt;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="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr></table> 0.61 0.23 0.14 0.13 0.10 0.53 0.21 0.11 0.10 0.14 0.12 <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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></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 March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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%">2,584 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">3,732 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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,089 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,127 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><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%">7,309 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,481 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 #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%">12,982 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">35,340 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr></table> 2584000 3732000 3089000 4127000 7309000 27481000 12982000 35340000 <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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><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%">61,622 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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"/></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table> 61622000 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 style="width:48.169%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.423%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" 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%">As of March 31, 2023 and December 31, 2022</span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">Performance Enzymes</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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%">Novel Biotherapeutics</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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%">Goodwill</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,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">3,241 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table> 2463000 2463000 778000 778000 3241000 3241000 Allowance for Credit Losses<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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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 March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><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%">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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">416 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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"/></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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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"/></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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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"/></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%">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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">416 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/></tr></table><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 style="width:19.660%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.625%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">March 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">Current</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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%">31-60 Days</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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%">61-90 Days</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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%">91 Days and over</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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 over 31 Days</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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 balance</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%">Accounts receivable</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #000000;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%">7,385 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #000000;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%">508 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #000000;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%">321 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #000000;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%">1,720 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #000000;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%">2,549 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">9,934 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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 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%">Current</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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%">31-60 Days</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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%">61-90 Days</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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%">91 Days and over</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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 over 31 Days</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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 balance</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%">Accounts receivable</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #000000;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%">28,896 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #000000;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%">1,747 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #000000;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%">469 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #000000;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%">792 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #000000;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%">3,008 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">31,904 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table> <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 style="width:65.274%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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 March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><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%">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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">416 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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"/></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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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"/></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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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"/></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%">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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">416 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/></tr></table> 163000 416000 0 0 0 0 0 0 163000 416000 <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 style="width:19.660%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.625%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">March 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">Current</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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%">31-60 Days</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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%">61-90 Days</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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%">91 Days and over</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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 over 31 Days</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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 balance</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%">Accounts receivable</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #000000;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%">7,385 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #000000;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%">508 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #000000;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%">321 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #000000;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%">1,720 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #000000;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%">2,549 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">9,934 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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 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%">Current</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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%">31-60 Days</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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%">61-90 Days</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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%">91 Days and over</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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 over 31 Days</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><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 balance</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%">Accounts receivable</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #000000;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%">28,896 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #000000;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%">1,747 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #000000;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%">469 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #000000;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%">792 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #000000;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%">3,008 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">31,904 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table> 7385000 508000 321000 1720000 2549000 9934000 28896000 1747000 469000 792000 3008000 31904000 Restructuring Charges<span style="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 approximat</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ely 18% of our total employee 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 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">first quarter of 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%">During the </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">three months ended March 31, 2023, we recorded an additional restructuring charge of $0.1 million related to severance, bonus and other termination benefits in connection with the workforce reduction, which is expected to be paid in the second quarter of 2023. We do not expect to record any significant future charges related to the restructuring plan initiated in 2022.</span> 0.18 100000 EXCEL 84 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( $.#I%8'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 " !#@Z16@1$@Z^\ K @ $0 &1O8U!R;W!S+V-O&ULS9)1 M2\,P$,>_BN2]O33=1$+7%\4G!<&!XEM(;EM8TX3DI-VWMXU;A^@'\#%W__SN M=W"-#E+[B"_1!XQD,=V,KNN3U&'##D1! B1]0*=2.27ZJ;GST2F:GG$/0>FC MVB,(SF_!(2FC2,$,+,)"9&UCM-01%?EXQAN]X,-G[#+,:, .'?:4H"HK8.T\ M,9S&KH$K8(811I>^"V@68J[^BHU3K^2E70*N&&7R6_U_&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R M> +]O6N[!3+ MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,! M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2 MBW A(5M>5 TR M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$ MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH] M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2.FJW"$2M"/F(9 M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+ MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+ M.7\N?<^E[[GT/:'2MSAD6R4)RU3393>* M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.WF)&Y M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_# M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0 MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYNTB42%(JP# 4A M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.' MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_ M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]! MU4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04 M" !#@Z16>E;V2,8% #!'@ & 'AL+W=O,O%%[EF3*'G)$[E=6^M5/;.<62P9@F5YSQC M*;Q9]W#O<.#QVBU5OJ!,QEG=,7F3/V:S03<.95*&"4LE1%/D6#+Z]X4O_,] MH@.*+WZ+V%:^N$8:9<'Y%WWS$%[W7%TB%K- :0D*_S;,9W&LE: <_^Y%>]5O MZL"7UP?U^P(>8!94,I_'OT>A6E_W+GLH9$N:Q^J1;W]F>Z +K1?P6!9_T;;\ M=C#HH2"7BB?[8"A!$J7E?_J\KXB7 :0A@.P#R)L [#4$>/L KP M2U9@W5)% M)V/!MTCHKT%-7Q1U4T0#393J-,Z5@+<1Q*F)SS=,H!ED#/617%/!Y-A1(*Q? M.\%>Y*84(0TB'OK 4[66Z"X-6?@ZWH$"5:4BAU+=$*O@!RK.D8?/$'&)9RB/ M?RQ\AUQC]*O2>%4=>86<9ZVCOZ<+J00TNW],%50J#,P*NB^^DQD-V'4/.IMD M8L-ZD^^^P4/W1Q/=5Q)[!3NH8 J( M=%$A7;1#^IQ3H9B(=^B195PH$YY=2HG<5"F^-:HCWK#"&[;#FS$1\5!W0@1C M@3%Y=J6JVS7V.VM\1\Y1Q3EJV3(%A6FDF 6:\VC76M)8&A-I#>L(>%D!7EH+ M=9>J2.W0?10S]#%/%DR8P.P:KHO[WF#D7IC@K*$=X:XJN*LV<(]L%>EA%-+X MD2;&-FK7\7G(GB-Y5A;L(0W.3:16C8ZDV*WG5+<-*Q2."VB?5#?5,S17T"D1 M%\CG>:K$#FD4XV1K5[^],Q';@[HBO[ 1N WR$WU&#R%TTF@9!06WI24?D1SA MOGLY(E=75T9>:W!77E+SDC:\TS $=7EVN$#OX3OT*37GU2X)SAN&\)0O9, 5 MNA5@;XW@5I6NX+47PE;W\3]P7]]!HW[BV]0(;9=[9.&6PZ2E98RTI_!"N#9# MV&YGWM)6?7@F^"9* W.>[9K^U AZ"H>$:XN$[<;F+>B,2T5C]%>4-0]3=L6K M@3LT>@A[7%?2VBUAN\DI&NP4EKS-8':!X85KQ#J%-\*U.<)V1_.>!Y"OV9JG M-O-P1&1 X'K&\8I2LT MWR4+'AOAC]BGVS_F1JY3."92.R9B]S2'=**[YV!-TQ5K=(='A#Y.Y[=3XPK4 M'MB5L#9(I)5!\G,A]!JF7+@4J80I)3=NNAQ1_-.X5>/;H[IRUL:(M#)&#RDL MM,L].KT8I0=P(Z==L8GS%#Z(U#Z(M/)!>K$&CAYUY6O-C^DE?FY2YA8Z2[Y M$RBHM1'0+M0,> K/0VK/0^R6Y9# -8,$POR7T=3<5NTRS7BG\#ZD]C[$;EL. M8^NKB7U>;&:C3[D")YOJ6=-(_)52K6+0DV?H&PFP^%H.!KAT=C9F!AK M_T-:;0[Y,(8*,'H/:T2_,G,9C>T0NAL6F-S)N$MF#N^:R=CC$;E"F"4O# M8IOO/J;FE-D%FAOI*2R.5UL<[\BVS6'[\CZ2VJK_R MUI6Q-CF>W9*\9=SO2#=3VN4^8R/C*0R.5QL M&?2K.ASGQ2&AGNB*LU.) KT969X75D^K\]EI<2KIU)^7A[L?J)XG)8K9$D+= M\Q$,>*(\+RUO%,^*(\<%5XHGQ>6:T9 )_0&\7W*N#C?Z!ZI3Z\E_4$L#!!0 M ( $.#I%9X&#D#8 < $@ 8 >&PO=V]R:W-H965T&ULM9EO_BLHW=;=3Y8SU!S!D$E?-)+5[6W6[FYKLW+U6L!Q3 \B+ M1#*Y3W\M3(R-&B6[E7N3@&F)7S=-/RUQ\:B;;V:KE"7?J[(VE[.MM;OSQ<+D M6U5)\T'O5 U7-KJII(73YGYA=HV2ZVY052XXI#ECL^W2K[=7?3P-GB,,NZJ%1M M"EV31FTN9Y_8^55$W8#.XM^%>C1'Q\2Y4LG9&UVLBVM%_T MXS]5[U#LYLMU:;J_Y+&WI3.2M\;JJA\,"JJBWO^7W_M ' U@T<0 W@_@KQT@ M^@&B]; MW1I9K\W%PH(>-^LB[^_]>7]O/G'O7V3S@0@V)YQR@0R_"@^_5OEA.#\=OH H M'$+!#Z'@W7QB*A1MTZC:$FD,^'R.^;.?(,(G<&_?XGZJI)O*E86' M%:,\%>QB\7#L#V+&1)9&![,3I=%!:114^D49VQ2Y2TJG=0XO1?>8,*'[F>(C M!3&/1RHQ&X9+C \2XV#B_%C4\+(4L@RE3OR6J?-&DYUXFQR\38(/Y%.>ZQ8R M!8IXKB!M[DJ%^9MX<AF\D6$8G,F9Y$+@,Y[:N;0-XZ)\&)F[IW9=' M4382AQ@QEN#:TH.V-*CM:WU7E"7D\A \5&#JW7NYS)8C@8@1G1*8'01F08&_ M:PMYO!EE-"8Q\\-#64I'&GVKB%$Q(9+1@5HT*/-?RIAS(DOH0ARGV2Y!T3\XPSZ*@M-#M0<298..:AIG1 M^,CLU,V!6RP,KFX-=:8W9ZU1?;I M_W;3C72%O4]*16L5P(UQ >62"GS"AYB MEO')BC>0C871=M/ VA(BVX7>/92=>V#3:GUZ<9'0,80Q,YZPJ90?,,?"G/M) MZ_4CH!B5YD-+\&C<[KYD=;H&&8<06*4C5F#6$%V3_1M?$ B#R,1!#:MPXRN',VEV\I! M1?JH2Q(V?@41*\:B>"IW!A[R, _W[Z#LM1YE$"K59UXJHC$S$"L@XW*B.^(# M&GD8C<]IOM--MRVF-WM,$'U7%O==?#&(H([X6(NCC(\=0:R@;D_X,;"/A]EW MK38*/'$+(VA%6SQS?7(Q(99>ZF)F2YY.2!P Q\. .VWG7LH*GULB%7X&^V91 M1I.I]VS &P_C;1S.#L,N.?+3?$&E^V!C<4R]RHV8)6DZ 4 Q %"\L+33]?V9 M54WUEQ-9(,1+TF@,1LPLY5:->8?_6H' M[61$$+U_MI-YJ]E.O1X0+,((AE5_7\&,\W].WM$/E%+F5F_D09:M(E )B-G* M1GTD\1RN[4\@15J[U4WQ7[6>NSY:D<(8Q_%NWZ"UQL(!I \:0I_28Y '34Z= M'2 N7H X)#BP^S6>,DIQ7S^2))DG67*X MXF\3QE[/D7/ S0PSLN_"*;?+M_ M?L]?9#K+:Y6KZDXU)Y?X'+AB=JK[!%<^H9'TVX3Q9D'0Y#220QLAPFW$I_6Z M<*B HN8VC4,R0,YY-I>C04(C7[ L;I!:A@I'>@"?'F].]7L0N MBHYWND^_&0U-1!1N(CRN=?LM#%*V:'+5X71]]GW<=Q>-GN"VAG M2K6!@?3#$@+0[+\W[T^LWG6?;.^TM;KJ#K=*@FQG -O_JO_ M 5!+ P04 " !#@Z16RQOOU3H# "U"P & 'AL+W=O^;Z*$ MI=1\9X&OO%58MV /YMD=,5NF+W-%AIZ?ATEYBF3ABN)-%M.O0_D M:S9D0+A)P_*J">O4[ MG6.S_13]4R$>Q-Q1P^9*_.2Q3:;>R$,Q6])*"BHCAFY<8(-. M;R7-8PXS9^AT0363-F&61U2J-Q0&9N);X'/O<6/ M*I:KDB5XA>4KU1>H1\Y1@(->A_M\M_LUBVKWH.WNPZK42Q/42Q,4\?JOQ/LB MU\Q82%F+J$61,M8E#.\45D8*BTCNY*QG >D1//'73?X.*SQH6+4P>S5F;R?F M O*>:0V;!LD2W9^CC&JTIB)GZ!3V(U9"4&U0QN#P)K!U9UW\Y2N)\@3$F M+P3L-6LIZ-<*^L_%_S[[5H"!K6 MP5\)X,;D^^$'6U OL7=9M(##&CC\*V#XSAL+AY?+U3[J<"_U+HL6];"F'NZD MGJLTA2__/Z3Y\+ TWVO6PA_5^*,C\(_.\='616>X.>K#A^_ 4>D?!7^ U=EKM%-.YKLE/$A^62 M"UYUGF%XS;_;V#0GQ^\YK]S]%:RM^OH;) M_[N'R?85N[4WVR:D-PY>'FZ_45.Y@A:*DQ67!@FV!#]\,83-U66-6':LRHHR MZTY9*-J*9@)U-=/. .:72MFGCJO,O8DNI1*]IDHF;R5;*_'HZ%>&6ID1$HDW/+-5.2< MDJAT2I,IMBQ_FI(XFRP7Y;-[OERP0B9Q1N\Y$D6:$O[SEB9L?S.Q)\<'#_%F M*]6#Z7*1DPU]I/(IO^=P-ZVC1'%*,Q&S#'&ZOIE\MJ]7V%<.I<4_,=V+UC52 M5)X9>U$W7Z.;B:40T82&4H4@\+>C*YHD*A+@^/<0=%)_4SFVKX_1_RC) YEG M(NB*)3_B2&YO)L$$171-BD0^L/V?]$#(4_%"EHCR%^T/MM8$A860+#TX X(T MSJI_\GI(1,L!XN@=\,$!]QW<$0?GX."41"MD):TO1)+E@K,]XLH:HJF+,C>E M-["),U7&1\GA;0Q^+J02XZJ/3\ #M MMH*&1Z YZ(YE#9_5^=VR MX]2I=\IXSDB\![JC64'%M2XUE:NK=U5C^UKD)*0W$QB\@O(=G2Q__<7VK=]T MO$X4K,/2K5FZINC+[TR2! 9\Q55'M?+W2W\UZ^R6-IX'D.%=F\/0RO$AP:$_$JA;/-HB^YFI Z,OBG;(L)PK68>[7S'UC611S-;1S MSJ(BE,<"Z3A7@;Q6YET/V[WR#(V"ME$'XZS&.#-B? #6A(?;LD 1 $Q8KN8D M'#Z7&:NY9(TT4U# #(\Q'T"!HG$NTH1DT45+")1%,UK&0JJEV MVK0&0RR>,Y_W$.NL9I:G1SRO$<_?2JSD4/6"JX8/8?+>Z(?F?/#U67]<#DU& MTFE;C219[Y@R0L/8U(J)-4#B^+X[Z^'5F+G.#/LCH%LZ:AM!_\6$0&O.TB-< M4$LM3'OP_4\8@/9;56<7.,$83MS@Q$:<7S-)83J1(,XA2[6=>8C0:3HKZ'>F MQLK%(^@:2;2-6K3\)K>4'\M\B3*J'>R'(-T<#A*H,7)&\#5B9IO5K*SR,X7E M,STD$$GR.M*0K@8E]JW^U*FS"YQ6XW:Q-MIF&P5D><_9+BZ7VP#W;;2>9@;M M(QW:S$=0-CIDFX7H;]BJ))!5+29_(/HJ@_9@3&OL L<;&RN-_MAF 3IB0S"B MJS7NI=HSQ"$ZAZ5MQ)*$\-;+"RV'ZA-!&YMUY;A]"EHS>ZQA&VVRS>*DHQ#% M2:$6^1\@$;R/A-9LE$0C5[99KWZ4FS% 3'8PM6XH:$.:0E_#[BA\.6X^"K6) M 4;P+B]*MDVRZU@3 >BJ*. ML-9LG'"CG=BLG?=O+T+-$3ZZ\CY5M"[?1H,Q_O\[/VS4[P\S/5&T+M-&S[%9 MS]_>_1T"M.?NP/'[,XO&RK'\^X,NUZUO"/P M+BD/27+"Y4_]>#)^]<,U/%&T;HZ:=00V;Y+-W7K2'?&IHG69-FL1;%Z+O*-; MARL-U[>#?K?JK+Q^LTY;IW8IA2V8.LP4,*$7F:P.M>JG]8'IY_*8L/?\UKY> M5<>>39CJ%/8.=G9Q)E!"UQ#2NII!?GEUL%G=2):79X//3$J6EI=;2B+*E0&\ M7S,FCS?J _7Q\O(_4$L#!!0 ( $.#I%8T&C'*@0( .L% 8 >&PO M=V]R:W-H965T&ULK51=;],P%/TK5V%"FP1-FG0#E332V@W! MPT2U,GCVDIO&FF,'VVDWB1_/M9.&;G2#!U[BC]QS?,^Q[TVW2M^9"M'"?2VD MF065M85=1MAEC9LC2NT-\U2TRH<6 I>HS1< M2=!8SH+S\70QNVDY9897"CQG1>VF@7O RBP9*VPUVK["7L]IXXO5\+X M+VS[V"B O#56U3V8,JBY[$9VW_NP!R">PX"X!\1/ 9-G $D/2+S0+C,OZX)9 MEJ5:;4&[:&)S$^^-1Y,:+MTMKJRFOYQP-ELH6="=8 $T,TKP@EE:K"P-=%G6 M@"KA2X.:.=<-'-](UA:<8D[@>,DTA51H><[$";R%F]4%'!^=P!%P"5\KU1HF M"Y.&EC)UYX5YG]6\RRI^)JL$KA01&[BD[(K'^) 4#C+CGX!C U#&3 9# M)G\QI--=:E63"<+K;IBV' \^GX[MS+.Y1K7)HC3<[*OY,R*>G XQ79+A7MW4 MJ->^G1C(52MM][:&W:%CG?M"?;(_IT[6-9[?-%T;I)>SYE0W DNBC$;OJ _H MKK5T"ZL:7YVWRE*M^VE%W1BU"Z#_I5)VMW '#/T]^P502P,$% @ 0X.D M5EVO[*!4!@ 5"D !@ !X;"]W;W)KCV3V&2:AV9V=I/VH=,'!>0U$T .DM>[?U^!O6"0 M+)L=I2\V8-USI7.OKG4D9CM6?N=K2@5XS+."7X_60FS>328\7M.<\+=L0POY MRXJ5.1'RMKR?\$U)25(;Y=D$.0Z>Y"0M1O-9_>RFG,_85F1I06]*P+=Y3LJG M#S1CN^L1'#T_N$WOUZ)Z,)G/-N2>WE'Q=7-3RKM)@Y*D.2UXR@I0TM7UZ#U\ M%Z&P,JA;_)72'3^Z!M50OC'VO;KYE%R/G*I'-*.QJ""(_'J@"YIE%9+LQX\# MZ*CQ61D>7S^C?ZP'+P?SC7"Z8-G?:2+6UZ-P!!*Z(MM,W++='_0P(+_"BUG& MZT^P.[1U1B#>"#BR "Z)PS0P0!=:N >#-R> 0I.&'@' M Z]O<&H,_L&@'OID/_::N"419#XKV0Z456N)5EW4[-?6DJ^TJ!+E3I3RUU3: MB?F"%8D,.TV O.(L2Q,BY,V=D%\R'P0';"7O6/Q]S;*$EOPW$/W8IN()O/Y: MD&V2RM978 R^WBW!ZU=7X!5("_!ES;:<% F?383L8^5I$A_Z\V'?'W2B/U^8 M()G&;&$V6[ \EVE7=U1CO31;OT_D.&3:D@SJ=0/U [].B2(M[.2LR4L04O):=Y&M24GX% MB)"NXK? A6\ R7K#:?E 1_-??X'8^5T7C#V87X-5 MI>AACGWH3!W'F4T>CGFWZ36R!-8)@-L$P!T8@$M(WV/B(YX@]MPI[+*T4)OA M'H]J"]]'3NAVFT5JL[$;!G@:-NTZ@_>:P7NUH7MB\)^*6/X)<9ET(PL>>SP.&UXG!IY_,R*,7T)EU-U@=0O D;/0YD\[R^RY*_# M(W1:F>$8F?Q"'BD'&[FZEO)ROSH6#!12"=N6BNL>HULH76CG#:FP'F3@V= I5XP[:]O->V43%05EX^QHX@N3;NQAR": M.BBA4%T9Z-KI MUJXV55QD"ZW+:BO1H%FC#=J=.6 =3V^D;,^8'0Y.856;*2XC6RZ[APNM.D-F M=?;"/1HSZN!#!55YR0*M.5.PJKQLH769;Y47,BNO%^W4(%7JH-#IRRNSYZ%I M?)'/R);/+IM'IV1F=?6)\VV]))")'.^/!&M>W]1:5CY,GQO$C(OS^6WWT$S5 M1B[2[)M;]1K90NM&I!5NR"S MX_5G@4W%M[S(9V3+9Y?G5AVMZWD-U1P-A M!_9%H:9=?T=#T\3'TVE_>D2:=F//DW_7_1R<'+V05KUO* =SGTJ=F]&5M'3> M!C*^Y?X5OOV-8)OZ';5O3 B6UY=K2A):5@WD[RO&Q/--]=I;\R+E_#]02P,$ M% @ 0X.D5M1WK_VE @ O@8 !@ !X;"]W;W)KU>!R-K+Y+N$; M@UKOS(E5LI3RW@:?LXD76$+ (346@>*P@1EP;H&0QD.+Z75;VL+=^1;]H].. M6I94PTSR[RPSQ<2[\$@&.:VXN97U)VCU.(*IY-H]2=WF!AY)*VUDV18C@Y*) M9J2/;1]V"A"GOR!L"\*7!<,]!5%;$#FA#3,GZP,U-(F5K(FRV8AF)ZXWKAK5 M,&&_XL(H?,NPSB0S*3+\)I 1G&G)648-!@N# WXLHXG,,9+I?2%Y!DJ_(=;V/6CO!X5;P-#P(>$/5&8D&;TD8A%$/ MG]G?EX<'Z$1=_R.'%^W!ZQJ]M\\_KI;:*#SN/_NZUZ /^]&M!5SJ-4UAXN$= MUZ VX"6O7PW&P?L^Z?\)[%DCAETCAH?0\2!J/&Q,I)52> #QU*12B/:RU\P4 MV* <%!.KOC8TV&.';8UKDT3O@MC?[*H[N/\_JAMUZD8'U7U!/^92]UZ T1_< M3\-P/#A_0;\G[2(:C;NLAI>_8P4EJ)5S2(V]K(1I+DFWVIGPE?.>%^M3-.?& M2W_#-,Z.5V#%A"8<W$G[!^[ M6PUGDT9+)K>B,%(51(OUU>B:7BPCY@:4$O^3XM$<'!/GRDJI'^[D2W8U"IQ% M(A>I=2HX_#V(IZ08>'K]H_UPZ#\ZLN!%+E?\I,[NY&B4C MDHDUW^?VFWK\5=0.Q4Y?JG)3_I+'6C88D71OK-K6@\&"K2RJ?_Y4!^)@ &,# M U@]@)TZ(*P'A*6CE66E6Y^XY8M+K1Z)=M*@S1V4L2E'@S>R<&F\LQKN2AAG M%TM59) 4D1$X,BJ7&;=P/N$WG_[@-BU_)T-0Q7V,0W+/6& WI_WPG-K2SNJPDKK13F @M; MI2;"U;ABOC [GHJK$52K$?I!C!;_^8E.@_]BOIY)V9''4>-QY-.^^ UZ3ZX, M.C>JD=-RI&LP#XLQ8U,ZNYP\')J/B"5A/&VDCNR*&[MB;R:NL[^@G*HY;16T MH%05JCX(#DTFDX[&42$&(WQ!,X:PV9>PZZW2EOY3VD8$4\[U[;(F&C7J,=J M/8:4$6Z,@/R.#_-69&0M"UZD@N0".CXZ,V>(P=&\XQ4F% 2X5TGC5>+UZLZJ M],?8(5%&4K5U7@V&/ND]GR5!U\B^4)B$"6[DO#%R[C7RE[_WTCX3(]*]+DN M"*X+L'BMU9:X.J%W<67X@&*0FF)=Z!Z]%'A MAEW3^C+C:*@#T1:QJ1^R;[78<9F]--5J^JAR_GNB&?5LB9->+/M"-)P/3?T6 MRJD7 1?7::KV#LAW_)FO/9U'7?OZ0F,:L/F @2V&4C^(@H%ZW^GH MAU&M;Q^4*.I"'T;'E 9SVO4"DV-TP(D6;ZD?<*L.F*OB?FR%WKYJ;1\>QS2B MO5Z(B=$Y&["VQ5'J!])/8BVTAJ!J0*!BC\^)/CB.Z8QU^2:9!\=J=>;JPK&N+=<_A'7= M_8!WHA8CH#CKD41,*@Z&L).UV,E>7^X>U;1$:@4UNP^-XY E783"Q&@0) /] MDK48ROSKX9HQG5#39UW:GDO;L=Y M/'2!#/.70!.(%6&>M?'> I-F'47>*A]:M/ M V@0)4EO#O;EYM,P&N Y84L7PLB+NG?[W:ZJ>IZ33)HT5V:OJ_;F?%GGH%$6 MU?LYZ(+XNP(O)7GSRX(S:3N.2,M#0O]:_DL!BTO(:-DJ46_[:_3N@@T1&9J M+5,(_4SA2P%X(XAMVCAJ&X+V\^ZN#2(TU,M:0A#.3I]'[29ERSV;7>]3WCUY MR<>;Y].9M!U'IN44X2N<@N^D"TJYF95)"]5U0#%6>POALN19>"91GUR43KL)V^WV MZ"M$A$($+ F[/!R1FT=L.E!X44LB(C^)^'8,/@!1;F*YEQW@0%F(U3EJ>Y\* ML"#N68Y))0/($[5T(?+3A>_*5<6_XSSU(Z:OH2[O5%P#-U>:3D>OR0XG.]1MZL:P^_&C55-^A?.4:.(\AN5B#RN#C#,*JJT\[ MJA.K=N77$2MEK=J6AQO!,Z&= -Q?*V5?3MP#F@]L%O\'4$L#!!0 ( $.# MI%:25Y"BC ( *P& 8 >&PO=V]R:W-H965T&ULO551 M3]LP$/XKIPQ-(&TD35HVL382+2#V@%31L3V;Y-)8.':PG1;^_VE\SGV?O^\NOH[72C^:$M'"%TA6S%.IE M:&J-+/>@2H1Q%)V%%>,R2,=^;Z[3L6JLX!+G&DQ354R_3%&H]208!)N-.[XL MK=L(TW'-EKA >U_/-45ASY+S"J7A2H+&8A)<#,YG(Y?O$WYR7)NM-3@G#TH] MNN![/@DB)P@%9M8Q,'JL<(9"."*2\=1Q!OV1#KB]WK!?>^_DY8$9G"GQB^>V MG 1? \BQ8(VP=VI]@YT?+S!3POA?6'>Y40!98ZRJ.C IJ+ALG^RYJ\,6@'CV M ^(.$+\%#-\!)!T@\49;9=[6);,L'6NU!NVRBFOQ MQMHT/DAXR_0I)(-/$$=QLD?/[._A\0$Y25_IQ/,-W^&[>FJX?0:.YY6@ MF994ZT*KBBZ$H3 K@8I'G^&*KE?MZM]^YSY_7TG;(\_\D>["KM)1- Y7VRYW M4^+AJ,]Y96786QD>M')1%%QP_Z%<24NN]DD[2.&&T[FI68:3H';>]0J#]..' MP5GT;5^K_A'9*[>CWNWH_S=NM-.5MWW;S=CM6[AU\2O42S\/#62JD;:]*/UN M/W(O_*1YLS^E4=Q.SC\T[1RG:[#DTH# @BBCTR^D2[>SL0VLJOUX>5"6AI5? MEO1W@MHET/M"*;L)W ']'U3Z&U!+ P04 " !#@Z16DD[8##L$ A"0 M&0 'AL+W=O@Y2^%\[6*?/3E)#0>59Z,:C.9 M3Z?O)K4BFZT627;K5PO71D,6;SV$MJZ5/ZS1N/TRFV5'P1W'H^30:4G&JT@9P%C\4RNYB=K4]%/RG\0;@/3]Y!(MDZ=R^'3_DRFPHA M-*BC("A^['"#Q@@0T_C68V:#2S%\^GY$_YABYUBV*N#&F:^4QVJ9?<@@QT*U M)GYQ^U^QC^>MX&EG0OH/^UYWFH%N0W1U;\P,:K+=4SWT>?@W!O/>8)YX=XX2 MRTL5U6KAW1Z\:#.:O*10DS63(RM%N8N>OQ+;Q=4E!NVI21ER!:S;P HA+":1 MP45EHGN@=0OQ#> MZ1#>Z4OH_Z60_PL(/EF(%=,&ZR(&B$Z.T%K5YA0Q!^VX\#9T;WUN^5 ,:0Q# M&D?)]/6K#_/Y]'SCZD;9PR@=9^='\1[_*6G#()%Z]5+7^J.4[S/ZQ&SC:+>!F+]4_4>F?+DIC.$K@O+\!X9G'-D2T#X>:N1'R8E M+R+=<6:5'7I5BHAY)+=7.V=8R/1F[T_/(:*NK#.N/$!C5)0I*@1S"MJQVH@G MR(XG8S-B_(H3A:-$EQW4Z"5M]"@99YT15#QAH$&?1C&K]LQ"LG"<4@_:J! D MN@(:SW4BVT7DL7$^)I+?"\)-R+,KI*G& , %WCOPD'35UB $+%/!SN#VB=NK M)VX_"S584W*O&FPC:79YPXZ>_03;8S^1U:;-!8:SP:G@SFJH06G'GG[>Z@B: MO:0"B07'1Y8T%XZ$H# M* Z:WL"6G.:Y:@ZBS8"I

7UFQ'L*P<4NM9.%E=_7NQP,O"[Z%@2]DP:;3\?NW&?AN M(7>'Z)JT!+E/XB#X5?1ZF]02P,$% @ 0X.D M5BFZLK*4!P VQ0 !D !X;"]W;W)K&ULM5AM M;QO'$?XK"P9(4X 6)3C8I]6]FL]ALJ-/QP/?D M\&3E0Z<3+L-Z%OM NI5#G9W-#P]?S3IMW.3L1.Y=AK,3GY,UCBZ#BKGK=+@[ M)^NWIY.CR7#C@UEO$M^8G9WT>DU7E#[VEP%7LU%+:SIRT7BG JU.)XNC-^R]/Z:+]ZWIY-#=H@L-8DU:/R[H0NREA7!C5^KSLEHD@_N M_QZT_T5B1RQ+'>G"VU],FS:GD]<3U=)*9YL^^.W?J,;S+>MKO(WR5VV+[*OO M)ZK),?FN'H8'G7'EO[ZM>=@[\/KPD0/S>F N?A=#XN5;G?392?!;%5@:VOB' MA"JGX9QQ7)2K%/#4X%PZ.]?11.57ZC)0))=TR95KU54I$S^[,FMG5J;1+JE% MT_CLDG%K=>FM:0S%DUF")ZQOUE2KY\7J_!&KQ^I'[](FJG>NI?;^^1DB&,.8 M#V&6"N6]@79%&0@&>C7;#@[RSO%(8@5SKZE1 ^F]H!+%&ET MY7GUB1N?+:PB/9@WG%^<^91=(70ICJ1QI_HS"GW>D@R)F+O66&NJ6% ;NF4O@CP6YU%9@5<:M M3K\_#DC&@L@6>;OA.(+OOC3*A /XPR+3Q^O=FMA8'S,:;UH?,* E/]/GUES% MO8;?;Y.AX7,LN2X=5Y!68?X\D Q529M I+HR5TIU,!6:S3@6I/J[3VGF$PG[!4- MX_41E/_?2->7?$7=$:]8& @Z?GEG3X>\^]ZX"JM..ZR6+,*(7O$N*-C7[2?L M5N4HQ#3R"-JSD '3!FD#G?* $O0B[(Y58$#T95RIE38!DX&3O?.K]]$4"A7M M]V'(CD3LC/*(SV'!#I7OGX/EO9)C6VRN-]["W_@GQ0V<[I[7'_C5Z+A1*R#P M.6X5@ SL/P3,X&86&C)ID#GC6L"/5_.!!@9IMHKV4:LLE1B4(5O&MPS=P2W4 M 4PEM/R_ '/@QE27BUS!<>%;NC6@Q/>N.9 (#1YLD6#],G^P0KJHFU+P73.0-5COQ;LRYW;KSH'Z&"4[[\:^Y"C_@T$9 M2L\-G(5X\#->A R%\>L(8,YFR'?ZFG;4,%6?C54=\5[7EZAD^G0:"]-J MQ1U7JLJ$Q[M3-V869RA!DS5Z::PL.-,*6^Z2&W*Y)HUN>XYFV)"L!+,;8*R, M)SD:EYNRZ!79/=4'ZA>JVQ6W+ M%H9FX%Q;J:@!H;'5=P6<-H7K#!.'!J1PG M\PUN)A_$[QMM\UB,VGLL4&EFJM;>MUO#Y!-,9(K!.S+++C.NV!7=X%1A#H@# M@B%3>S\YTN%*;W5HXW3<(W>FP6U^6[$6HT>E.5%24KRJ4F >2_JV9@A0;5(6 MVBLMU\B^U1K$'(;-P]]+#YN,&1DJ0B2FN-18TE@B,+;JP/PL\DJWKC)R0KQJ/3-GLEK@+RHA'/SG/M1WJYY3UV$4GA3G_=[S@5[5E9]N23+^JYVE;>S/]<;E6$/??#>;I#CW'^".N9X\-#WB=G>!R=!!W]6$_IPJ7Q[&N^.7^X6Y8/53KQ\]H.? M:P/H6%KAZ.'!=]].5"B?TLI%\KU\OEKZA$K+SPW>!BFP )ZO/+RO%VQ@_)YY M]AM02P,$% @ 0X.D5N+/_W(*!P ]1$ !D !X;"]W;W)K&ULI5AK;^.X%?TKA'>QF '46"\_-PG@9%*T0+,-DITNT*(? M:(FV.2.37I)R)OOK>RXIR7+LR<> MS/6EKETEE7@PS-;;+3#9-!./,KUQM'$\/IRQ]?B2;B/NP>#T;"3 M4LJM4%9JQ8Q870T6R?PFI_5^P;^D>+:]9T:6++7^3(._EU>#F ")2A2.)'#< M]N)65!4) HS?&YF#3B5M[#^WTO_J;8T8DK]"5]5?V'-;FDP$K:NOTMMD,!%NIPIU_:7CH;9C&7]F0-AM2CSLH M\B@_<,>O+XU^9H960QH]>%/];H"3BISRY S>2NQSUX]B+U0MV*,H]%I)8NIR MZ""87@^+1LA-$))^14C&[K5R&\ON5"G*X_U# .I0I2VJF_1-@??<7+ LB5@: MI]D;\K+.RLS+R[YAY"&N!D@-*\Q>#*Y_^B$9QS^_@3[OT.=O2?]>'[TIY#S$,Y+9!VGY>FW$ MFONA7K%VU:\;,*@KY+%4:^;XLA)L9_1>EL(RJ4*%\*FV1/JS\B!(E$C@G@N* MQ@4V^*!H?$!2G&8.>A1WM1&DG4;04M:TG*N2$799"!OYT5KHM>&[C00)8@WM MS;Q41543,(YYZ"MD)3N+2.9Y>!Z/$3MM@GU6K%&"4/>\]:?*((H[Q@&5#/H, M2?X9:Q/#EH KI;KGC) \I_ ))JE[Z/V-W]W8*]NZL-JF[$ M[F59 L,=MRXL7ZR:=7[PL+AE[Q8U12ULB]@OJ('_%KS"RX@]P04;@9UL866C M[78C%7]_P9Z"44<^DV#*-NX%9J!R&UU;;+/OYS#>"'&4Y0PY6FRZ)/WFBI0] M"./5J0(FJ3]>MG#.+WHO*G8C-;""6%$[65CVJW:\^M/K[_DG;P2HBJ]\T2V8I,H@:%9 ME,_&+(_&R92E41[/<$WSA&9&<0.VV6$A?!;ETS$I\=M^9$D:S:8I3611/)OA M(6S'Q"C*\AC&2#I >]$(@9CY+)R='^(.D@$ \J+Q>.REC*9YN(\R/Y],9E[O M)$M#Y"51.IKA.LUB3,?3&5W'(\S$XQ3XDW02PFX293"K)2B,T@D,2;K)9OC_ MF]O5ZQL*;23^5PH1G(-$Q1G=K$*>MW4&H6U!3L1JM915Y?.]$')/.S';+2NT M=4W]Z.:06MB#VBA.T^)5#GR T.T29TD7\[?' +QQ>1Z,3)(Q^W@&#UY.HLEL MXN\Q%MT>P:.]1-OL,-^#.*>61!C3*VE8/XVF@6+$,3SUFV ;SDJF-*HC 6-R MN^/2^%@N-MRL@<*(RE=&%.05R@8**/S8F.%IH#)'.;\-.2_.505BDH@(Y1,U M&8VCI8?7KF'/B-B=#VQ9O; 2N*&XW> U[E[E\*N3Q-;+3VCU:!N*A&$.O6.W MUAP.N%,HYX+B/!YOM-Q2U"&Z:!<>F[.A% >))SXX+ZV3U(,7AG[7!3FJ>?4' M>8(=Q7V74^_8GZG6C\>4D.#&G3L4#EU"@YD'[_D07FQUK;S/_8%:'CFOGQPX M!TG*$@>C4HUA!['SHWJNEY4,#08MI M84%D"%7#E>6AW0?;T,-!5M&&\>Z; 'R423I%O"I0FR;C]RQ-1M^!WL>CPAGL MOS0")\?,_N5 7'=B)-$(93#+HS@[4RP/Q;$I_3T4_^RA.%<1NP[H0%"K57S9 M(54"*\MSH;"J??O5JP%?(Z_K?VIUH((8Y,:A8B#:^R^:&$&M:*,C]%J$NN$\ M9-,IYE+#%*5=:]?K)E(;B< #?65M&FQ0H95@+SBT"1+2FHI[$\]XN4JH@ MRJ*+-4W[ZIR1RSJP"-.-?N$5N3,B*3T7PMF\.J) ?!&FD)8L]1J.RR&9QL3A MA&K+J%>TI ]D+^9 '7UO@BG%/M5EZ$.Q9Z^K??!40Q*1USA,FY+:Z% :NZZZ M5QH]^PU( D@<&ZKLACY?4:1J8VNN_%JG60<%DU;O)#W5&\[33?;_=-8A$_YP_+P0P0<(Z MPG:%K?'%9#0(7FH'3N_\A_U2.SC:/Z+C!^NT M .]76KMV0 JZ/SW7_P-02P,$% @ 0X.D5D6$SLSB P G@D !D !X M;"]W;W)K&ULI59M;]LV$/XK!PT86L"U'#MID\PV M8#<95F =C'@O'X9]H,63Q84B59*RDW^_.^HE-N:X'?;%%LF[A\]S=[K3=&_= MHR\0 SR5VOA94H10W::ISPHLA1_:"@V=Y-:5(M#2;5-?.10R.I4Z'8]&[]-2 M*)/,IW%OY>936P>M#*X<^+HLA7M>HK;[67*1=!L/:EL$WDCGTTIL<8WAMVKE M:)7V*%*5:+RR!ASFLV1Q<;N\9/MH\+O"O3]X!E:RL?:1%Y_D+!DQ(=28!480 M]+?#CZ@U Q&-+RUFTE_)CH?/'?J/43MIV0B/'ZW^0\E0S)+K!"3FHM;AP>Y_ MPE;/%>-E5OOX"_O&=C)*(*M]L&7K3 Q*99I_\=3&X<#A^C6'<>LPCKR;BR++ M.Q'$?.KL'AQ;$QH_1*G1F\@IPTE9!T>GBOS"_!?*^\_6>ZC0P;H0#J=I(%P^ M3;,68]E@C%_!F,!G:T+AX=Y(E,?^*?'I28T[4LOQ6<#/P@UA!(]N MA\G\^^\NWH]^.$/VLB=[>0[]&S/R%0PX H$H>2F\RL#0B>Y.?#Q0'C);5G5 M"9MGD&JG)(4+0H$OYG3 ZWTL2H0NUP M"'=*1X[_0<+_I]]M_TL%' ML$$TQY<(3XV2-4B63:T+*AO0!'6 =1(82 ^8$FS>P'PF-6.^* ? M O6TR)!BJ"P%/U:RH= ,&GM"(";<\4X6#?'CL$LFE!$CKTSV-8;L@4^9KB73 M<[:,*2'OK-:"H\2B>4\YP#SGN.YI0Q#BNT[#$!:\O.LDK7M)\,GT8BB)'>7! M4=[A];P?QKXB&,=)95]159HTQB%"]KP5:/[YVCVW^DH,A:7 M>+\2QST\ZGH M'XB/1=MCRU,5?E@XE.%,U)XB;_@J+@]?9T4GXJ"@A#D.7!O1(?Q*U^96TS2. MWJTC$K:Q@2ZC>2MI)>F*;Z9XS.U\!N%-!+:UIVC[M[=$R"$>C1"@ 4"BN@G M/^.F%?I8W6*C$6JR=)'A_9=:A6?*?\9!IQM6FM3?#"8W'^!J<'US_V'Q^+9N:^F#=?+L1VJXRGMI"3ZVCXX2H!UWP--(M@ MJSB!-S;0/(^/!7U H6,#.L\MU4N[X OZ3[+Y/U!+ P04 " !#@Z164R[4 M<)@& #:$ &0 'AL+W=O.\JV[+A) ML0%VS->[YYY[(9FSI75??*E4$-_JROCS7AG"XM5@X/-2U=+W[4(9S,RLJV5 MU\T'?N&4+'A370VR-'TYJ*4VO8LS'KMQ%V>V"94VZL8)W]2U=*M+5=GE>6_8 M6P_^T!5DRM?8+=:Z*\UY*@%2E\D 2)'[NU!M5520(,+ZV,GL;E;2QVUY+_X5M MARU3Z=4;6WW612C/>R<]4:B9;*IP:Y>_JM:>,7YKUC&M6-HS!L?;-UN M1K_6)O[*;RT/G0TGZ72OY M,DK.OB-Y)*ZM":47[TRABMW] Z#<0,W64"^S!P4"5U^,AHG(TFST@+S1QO01 MRQL];GHBWJII$-(4XMW71H=5QW+QYV3J@T/X_'6(A*CCZ+ .2JE7?B%S==Y# MSGCE[E3OXNE/PY?IZPF4$YO.279F( MI1*+!EUD5P$G"%D4FG)65N+T9)R,C\;"EQ(XA)TAJI#1326=F'BOZFD%@0DD MYGWQ[.E/)UF6OKZ>7'%K^/HYM#K2>"E@QTPY!PU(JOR+0$$33]+^";*JJJ"L M#WDLGX&MXXS!E;:*N.9SI^8R*%HW/$VRX^/D='C4!3>Y^MFO=4XXH.YK#J4, M+%;>*:&D,Y@!F"T%,V=K$M6') 4VH7 X%*UQMZH"@D+<2 =2/SEIO.0*YUN; MV;(.A=K$VDU%D#Z-P]#:D^1(UM1U2<968U81:&V"%5)\9.PW+4@Q 16*)2QU M*(577S^CM.XYHAU=.R.!F(73=\!?K42IP.I4P[J\-+:R\Y7(;;V09I40%[Z1 M$ [5RU(#UDZ,#),T3>G;H;[5M:7_S6&7C_OIUN7W W'/ZFOIT10[=(M-0=-AG&PPM[I0INY<&M-I%9]6\!.D@$? M^QSR#*VA*>P("HY59HZ\QBH:I^,O9A_-? .39JZ8$F(=QVRT#9.$ET*&6.W$ MT2&JL;7&)J:W+SXK0,P5CME"'"$U1J-'-\58WS&L4'>X*RR82*H\.H> '49I MU9)UV;G1_T#;DW$*V+;Q-*7-]P4ZM$VCHEH8BD@^K*-HF#;B(I0@5]3Q-%-T MFNT5";;<+@TZQTEZW(W*=?EYD=V+1LQ.',!+1)=;;),F#G9RQE"1J%8O?, U MB;W5!-DZ9>WJ0GD]-^L$ZHL/R'*#,EQOR["*9=AORS!%E]XMZGOI&>7IEAQ< MZ@3=_#2F"X6\P(6$14[$J$1ZEQX*DQ >%P1D\13..&61_' <6.G%#-L.0S-U68=P=(%!.H]_Q%-=*V8 WM)-5UMVM:/E'+2XIFK/UN>5 M]%[/-':1 T'Y;Y0,(MOD^590J96CL%Z)J!.7TD_9(V]Q(V+L)\E#2^R=BI_,_*OC$YUF%]R?O;O,6P4LT' X7^R/E\QE[+AXZ_OFK?0!O M<1364]#8CF3$MW@BAD?)R^,A-4;):3;;A/XGMUNSR^^L'9G)QELI!HKN,0[#::I:Z9?)RC4:AS$P=IPS^>5=88P&RW8'!_0?E_<:3J% M/4O!:Y2&*PD:RW%P&0\G Q?O YXXKLS&'EPE,Z6>W>%K,0XB)P@%YM8Q,%J6 M>(5"."*2\;OC#/J4#KBY7[/?^-JIEADS>*7$#U[8:ARP1/.@%#_:Q_\NGV4NT7>8.=GBL$$HEJ%FYG(-E,T&7Y&'2@G5.+IG, M.1/ )=UO\-$[56.8+,RG(4R=N7\4\ V7*"#NUJ1;4WA4EN31>\17ZA7]3+.M M;(@!/D <14?QZ0GM#@_.DSBY>+=;>Z\QQWJ&>ITJ^9]49V=':?1Y1Z;.N>V9 MA!O=7*.>^YEE(%>-M&UC]]9^+%ZVT^ MO)VI=%]S^DH@L"1H='QV$H!NYU1[ ML&KA9\-,69HT?EO1:$?M LA?*F77!Y>@_[/(_@!02P,$% @ 0X.D5C<" MVI%8!0 OPT !D !X;"]W;W)K&ULK5=;;]LV M%/XKA%<,"2#8NEFVL\1 DK9;@18-VJY]&/9 2T<66TIT2W&R M9>B+Q-OY>"[?.23/-TI_,Q619;>U;,S%H+)V=38:F;RBFINA6E&#F5+IFEMT M]7)D5IIXX85J.8K#,!O57#2#^;D?N]'S<]5:*1JZTQK*P;&,W/5WQ)'\G^OKK1Z(UV*(6HJ3%"-4Q3>3&XC,ZN4K?>+_@L:&/V MVLQ9LE#JF^N\*2X&H5.().76(7#\UG1-4CH@J/&]QQSLMG2"^^TM^FMO.VQ9 M<$/72GX1A:TN!M,!*ZCDK;0?U.8WZNT9.[Q<2>._;-.M3=(!RUMC5=T+0X-: M--V?W_9^V!.8AH\(Q+U [/7N-O):ON26S\^UVC#M5@/--;RI7AK*B<8%Y:/5 MF!60L_,K+GF3$_OH$ Q[298+:*O85?PDX#NNARR) A:'?6_%FDMJ;#] >P.Y0CX:2P53);,5L5)))+9HENQ$-!A1K>%-84[/&"*8 M5[L08H^Z5L:R5\8*9!FZK[G0[#.7+?V7)> =W2$E]#>4 ML++%WNPD.F4O6!2&092-#UJ329"$L_N&6WD$@&MBN>3&B%)@-QB6.T? L*ZQ M[Q&4%M5JUC:\+833#2XJ4+6ZEE%2%%[E1>]RGZMFR"[7I%'VW")/P)9+*&%; M+:P@X[U9\#MSRH1AC;*,KU92Y'PA";+&N?_0P8$/AU46.(]KN]4"XB^B,!Y. M452D=/7Q(++U0Y]T$N$PWDGL-G!3\3#;350D"]0Q6P'AJ]*L% TV%5!,- BA M;5U!-ELS'A#C?U@2ITBM]_^D>GR@6\< M04AC>^-9/>V_7W#P.9*NM,K)&)9D;!:QUZ(1(%O!EDK!ZBB8CF/W34+VR?MV M7U$ !;-9AG\^#?PN!W-T./@%99&09*%[IN. 0NVZ;:[R'2!7FH?Z2""CE$P =YQ?[$L#2:3 MB&5QD"9C6&',&>Y">5NWTM>E@G L@-)VFPF\5MJ*O[J!DS1"Z8Q/V0G<,(U1 M+I\*"]B3!)DOL$CC+$KA[CUTNEVYP@@+]NQ?P+*!_+\O&XM>%$E1RIGE=#=MP M[&IZ8ID'M/I4::*#2\\_F>;)==1^EVQIEOE_'(W9KTC0#=+GOE%Q6(::I/6= MX_3:GW2^.NUGVC,2[3V.P,!T]USH.E:M_!4=R8 +OV]6>&&1=@LP M7RIEMQVWP>[--O\;4$L#!!0 ( $.#I%:#+\M%L@P !&PO M=V]R:W-H965T+-PMA">MS:Y:FKK)(9;RKRT\EH M='Y:2%T.WKSB9S?VS2M3^UR7ZL8*5Q>%M)MKE9OUZ\%XT#SXJ)5/$S:"@T&7XE9^C M'#H;9J,#&R9QPX3I#HB8RK]*+]^\LF8M+*T&-+I@5GDWB-,E*>766[S5V.?? MW'J3_OZ,^,K$6U- UTZ2N%Z=>D"G-:=IA'0=($T.0)J*7TSI5TZ\*S.5]?>? M@JJ6M$E#VO7D*,!?I!V*Z3@1D]%D>@3>M&5URO"FAUA=2:N>73.K-W(#R_+B MREI9+A5?_^MJ[KR%F?Q['_,!]ME^V.0Z+UPE4_5Z -]PRMZIP9N??AB?CUX> MH?RLI?SL&/1'*>G;((EW?]3:;\3[,H4HX"?B)I>EP[WX698UW)6UD A3PPN, MM)DP"Y%I"^[W2Z4H0?)TI)Q"B&,L2.O5$7VG*9W_4 M,M<+#0(<\2Y,1?RZ!!$%VM:I;]](H@"L1,P?;Z]<@VG/ZKK4OKOX4V=QI2R' M2P@S0H7@0)GM8Y)E!A$2[;A04,"=S,&C$]X(E>NEGN=**):6 GMK[5=$1P69 MTQ)(2BZ75BVE5\1M7='323(:C>A/.+)W1V](::DI"NB9"1B27B>C\67"\F*% M,37\=F7R3$&G.YH;7W:LXZ"VL*JKHJ'XM=G,BUT-V<#X5,!G597#:3*A2T'B M).A6P0Z)8NP:[;?+79RC?6:QEH"W6"@.^X0 \02/:7G"R$LC%K5EM42%K'6> MBWDT(%!5(Y+9AOV Y*58F;6Z4S:(SBM;!$6FILPTFQ9)O+!/)FBJ:N=.91E"$(<%J4%+0;Z&*.?E- MW,Y>%118UO2&U730)X6\DSJ71!DI5SM7LT!Z-AC-0#OB2N;$#[U!144@G^BG MXB*975XDX[.SB"J8^A.-5\1$Q \._M-$D2"R(R:/.^G!I55]8V4VKBJK>X, ]=(GXE CUN8)K)R*7E5,L4\N<+I0&WI>-:6]H)!]'10.R"!AQXH-F(Y4+C5,DPOC=YR0-D% M"F@R%%A4KB2NQZ/1CXV#+J2V I&A5GO],=I4%K-K$&JT[R.D'!$M^6U+R>SY M_T((FTRF@G]!]?---^:\7R2$B!,4.BC:)9M]6^I;\><@3M>4GXKYDS+G:$L@%WK$/,DPF/DJQL_4EEIVL?XD#[I"3M>OF%LO?+GMJ>6)O91=FB3 M*8LB!](U82=B6IZ=(% M BW)G!&H4FR4C*9[AX0G**N#:C :7BRL*?;I#E>A1IG "'AGU!;E*Q(5(A%! M"(YUT2PJJ+\B9=W%<&(5M=W$GE]9%?; ,?YQJFDQ;0T^"5*G MZHU3J+2YIAKKX[98"8;Q*10K XJ$@Z43)[?3\GW((0*T[ YI1S1*1C91ER--XU\*=V-+UZZMG#. M6GMKEC9X"/0P2(NJBJTN.EQ$ ZKQ7B\B$J:KK5$Y@M1TV;:9L8F&>Z8UY]=.(L\@(.H]LR;)OWWW@<'&6@DQ@.K+ M #V(B4M&XF+X<.K(\]I6M ,%3 9)D.2;,J.A,R+@=[R(5K-GAD:!S6V.1B+6 MSVF*8+>H4<>G*XT P98!+*FR'B$6Q-G*6'8E^(UDM:)"!$#$:D<2(WF%/HIT M2W.7MJ:)UMNUN94U]3(@!V^Y3KGP[]OS;RL5,G^W/UH:"(2M/%.@DF4_IX1I MY@R"\FV'A6T*]9LJ-![-0 *9WRQ+W0;DSF2HIQ=$4URKUIDAV@]$B=_7V+3= M%MNF4)9WK@VQH0%X'%M8C^C2Y0'>5YPL\;>]'ST8RL65EJ'NP-%T .L M*FD+N6T*[6**)=="6\K-_0#7(Z ;SI+=H$EUY EO%\?)01?6T\5S)?[ #G+4TY15OA'31AL#Y6 M+%_1T2G1&">AB@ >R[>T2^7_;*;OX9=ETL^DWX]#'IY1AOH>/.YA;1WRDKN/ MR4/"Z'&V=^[!;3,1M^O*#6E[!!%X9Y8=Z/5K%] :076B3@U-T44["4UH7A>F9P#SQ =^Y:[.1U^[?/."!7/T/>2 MJDK3R&JN"/9C378H_F%VC9C&$8W^LMHVEABB6^.= $83_C@:IH'..@ZO5J!CH MSC87J-MXQLYYMLG0=(CCU7+3'RRJ\LNFB#EYKGF$*"N%8B&E'))3A"?+# <# MBD?%%1V!A%1A[%*6^@NK%K:?D>Y,162SP Z*,WEH1NI:%4_ VN.25IFMF/=X MR4J2::JR%S-HQ$ ;SR;#;7W?#Y/1E,!]ODGB2)[+@B_-Y/9(20"R4HB=5)%O MR.#;FX2SZ=$XV.>MK<_"6?+B;X'-?61;-?Y&KVIL*6CKX651<_,XK]QQRC -LM@/L= )@359G?KFR7ZOK'3% M-;.0V9V,'2/V[CKJ@65=[V01ZG)A)>( \%+#5U<(?UDS#'<:]KU H47-_%TX M%R"/PP,NI>LYJK#0V)H:2+*C+AX"Y0'O'?>\=_PH[QV?G0?WO9C^/SKO^-'. M.WFP\SX>]O3/\]QP9'Z]Y\@\-D:W]W5.VD7WV/)0EQ+>XE4X-Z158?IM>S4<400MO MC6.WWG%,<2+&DTOZ/QK1""+D0#Y*VV8[<0$ XV0TO12W*HV M^)A\$>!<."G9<)O[':7]C2+NSY=/Q"6>G8C9Z#P.J2 I.E^!?,:3<_I_'O/5 M;'HA9AYYXK2=D]%L$]9V M,AX/+]OC,*OR9N13E]$O=\Z/3F;#\Z/K>S+ ^G'GN&W?^G (11M.1L/)\:4D MMWB&C"Q76Q[$D3\7/.&+D2?4WOUF?GB_(V^G*3L?#'3B;M/00QL7PWW?_IQV M/M8J%.(Y?9)&X:@N??ANJWW:?O5V%3[VVBX/G\Q!]TL- \O5 EM'PXOG@W#N MUMQX4_&G7W/CO2GX&ULI5?; M;MPV$/T50DW3!%AKK[[$L0TXMHOF(8AA-\U#T0>N-+M+6!)5DO)F_[YGAEJM M[-@.@C[8*U&CLAA.1J.#8:E-E9R=R-BU.SNQ32A,1==.^:8LM=M\H,*N M3Y-QLAVX,L.).YM7?\\C$_348<$!64!?:@\7-/%U04[ AA_-OZ3+HEV;#_O/7^ MN^2.7.;:TX4MOIH\K$Z3HT3EM-!-$6[L^@]J\]EG?YDMO/Q7ZSAWC,E9XX,M M6V-$4)HJ_NIO+0X]@Z/1,P:3UF B<<>%),I+'?39B;-KY7@VO/&#I"K6",Y4 M3,IM* FH\GT!7_3+K^I^)L^X^_JW\:$C?K[?.Z# M@P3^>2K'Z&+VM LNBV-?ZXQ.$^C>D[NGY.SU+^.#T?L7 IQU \OYC G[" M7%U](Y<93\HNU.>:9>\5Q*O"BO#GB%09Z2*F2P'L;-6AK73U:&@R4&M2QOL& MD\>SR>!H_T!F'1X.#D8CY5<:@ Q0G+XF*:]B,U!-C6JSLKJB-B"O=% :WKA( M*-_3]^10\]UW53N32=BOQNF[0UGDU22=3E5-+J[S>)FU"2M5H6UEVJ]@;S.B MW(N+43I%K12%E#U[&J63[X6ZW9O&^!CXVZN+ 1X8@ ;E#)M,%\5&S2G3 M)2!8+&(T$3@3/*]BJB60!$M.K5<&E&#Q$I&@GQ4JLR5X5)XY'R!U6I!SB*L= MR&D>,#%KG F&^5EKYW05\%0WH!=-#"XJJ0>,,4)-)>LZ6ZJ GJN"C;\&3%;@ MQ4$XCOG!2@C-I^HS4J6Y:]#)U>0P*N@!1+7U86^7'%*M<@&)?3,:#S#L(9>J MZ\;Y1O>F/N=+%G3BAQ@ #;Z7(&\)0J"?T2@==4* ,':8I-\Q"V_BPE18%'Y> MUL6;Y.KR/'D;2;XV+-);X%C@][4NZ_?JPF+.]>U%\O8AC1@"XI!IXR#^K&B\ M)+249) IC^?&9X["5KT8]0U,F1 ?\6C%D!-BQJ9 WS,WV*G%HM; A]3_WH:T MXYHR-F^-5E*%6 M!.E[K@>,PBX^'FT=(34<#>Y0U-(/O)IO ,%&E116"%AR-QYY@X67EM@YN%WL_"8DY VOWR7?RSU5?[;XK@WG+ORQ6J7XA0SM"H/P M[.)8O3%O98Q;L*XR$CUX74BG1!/9K@UN;;,4=:G6302=YZ/4.1! R?FC+K&VHS6H16.CDG&HO:^'9WY>KRO3FNW^)\MTT8;O'.!X@S*S3K M:=?;H/AVTXC*XY8C>JN!,/.KIB_R\+O]M)?7QQ!YQ]'($O?I^%E;<+F)BYSKJ]G1+A2^-('[72]WQ%FT+/T6N8'&DZN[XI"?\$ MQ#A)HN[^![I/G;2'O6M/26XIESO&"]J)-Z!NM+L_GL=KTVYZO'PBV*4!O@4M M8#I*#_<3Y>*%+KX$6\LE:FX#SG#RN,(=F!Q/P/>%M6'[P@MTM^JS_P!02P,$ M% @ 0X.D5D\G&ULI5IK;]LX%OTKA**TRZ0:F4#F>+(W-9(FO=G7F"JMDPINR]&PT')Z?95+GO:NW?._.7KTU M59GJ7-U9X:HLDW;[7J5F\ZX7]>H;]WJU+NG&V=7;0J[49U7^L[BS^';64$ET MIG*G32ZL6K[K74>7[R>TGA?\2ZN-:UT+DF1AS%?Z\DORKCO.>2-125FEY;S9_ M54&>*=&+3>KXO]CXM=-13\25*TT6-H.#3.?^4SX%/;0VS(?/;!B%#2/FVQ_$ M7'Z0I;QZ:\U&6%H-:G3!HO)N,*=S,LKGTN*IQK[RZL9DF2ZAY=()F2?BQN2E MSEA% M@I^D'8AQU!>CX6C\ KUQ(^^8Z8W_C+SB@W9Q:EQEE?C/]<*5%D[SWV-:\(=, MCA]"@73I"AFK=SU$BE/V4?6N?OHA.A^^>4&$22/"Y"7JWV^R_X.<^$>AK*3O MXE;!^7&CLF*-Z/]625LJBSU05FIB6:I$Z%S*=B*TRJ!IKKRC>;]T:%\7I):?;(4M(:D'8V&XD[E9N%B4XH/%M#5?U:W MXH3$_>F'.7:] 86S[N[/= @_C=Z<,O4N:^-9_^(/L#89_EF6NCN[[/"Z9WAF M7NGY$0+L=T _AO='$@-PKJP%KZ41THG6^<^R'$P0A#;J7)=:IL$).ZX'^L+ /Y=0.! :NS)6:7)KTA'3((928)6F*ZR MF2-%T5,F/D!4B8]J8:%'./\PNNA3Z'=D0_S]3$ES+:Z) 0ZL(+)GL*VV_96- M W7TP5\ N06\HJ;UG%,=,P3M44^E"DM(KHY8K'"9))I*"I@$Z*A-X@;BKK*N MDCL!]MGM']#SU@Q?]GEL3..9(:=>6U.M(*DD=8YF _&E(<)DB;-GQ3I"S]2D M+MCKUO(1W.10>G0J3,$ET_/*2!ME'..>[B\1$>)D>BJV2EKG0ZTF[Q3 &*'T MO><<%>WPL$-K=/RS"0#OD4_*QIK+(DMEH5Z)2T(2MP4*)[;0YAN?JD@(J MU:JB.Q*BQ)6E,$M489PN:[/L[W&,59#9 A5^PVF+9@NJRI2RCT->3?D!<;F0 M^5<1$IG,3)4S$+V*!A'*P#3EBE:P3"B1XG53([&B/ZA890MP$.Z. M0!TJR* MC24'@$?D)G\-]BT%'H*FM#HF?(NE6POCCZYR64$ NFO@-[GS5P[Y,V$P#,P+ M+D$=A_W?9!ZB?A0=B?KCR?3Z_N?7GX$('RD3HPPSXN]F(,['?7%[>X,4B^=( MKM@?=HO"6'8>-D/ ORWSIATQ1O>[:>Z\/[T8"Y)6+@!R;8R'HNGP&VE1_G6@ M&R=R 4?Z:@5^JS"A"H]-0%\2A5QD"I;KH&)A/.OM#O(>3#7&+I8I4J6(AJ_) ME4-D6Y.UHB%&P8;JS.LNX3!:0EF/P>)#MGCDM4H1]WR0,9CEAWA&!*=U+-78 M %4^:G(<6,(3E^+5<#!MW'$_%&KOI<[16^D@+$AC"(WO],D7_>]!!3?_5NE0 M#! 90]6"LB7:5'HN=VC0SI7$3\L\K:Q:KI'U-S5MKI #N&@(!-C0I#X2M6%! M/174O-)"BF'G%$E4@BNVG%FD>B6]"Q/2'.!42&,$;6QX+YQ5C]3KT@*(Q;Z= MM&DI&5,&Y.C T<&@)%A&F.FSN*_V]9(QKR8#B%I+%/[AF,8DS_+-G'9<0'X' M(&W6FF+&JKIBYO;!0#"4VUHN:LW_62"ZCF/BFE3"AB"94EX)NY'<+TJV85?, MV*K!CY&!E1*9[V]]$CTB*0DW",4"YSP62.=^?D+LW(8H=B6E189VU]%!A@55 MS=.R+A1:S!VGVQ*/@XBT@91#4&>:+LY[$E-80CA26+BUH>X,4B^1I\S&B1,6 MVU0.:]WI)2"*Q&^W]_OBD^CB8YNJEU*\XB(N&KW!531O]92[12+JS\=#_A^) MSVMX[VN&J#89*AUJ0EC[Q91-4]YAAQ45HM.:-;$'D;VO>>U$ " G*^3\ XX-,(MNN><2T3Z%T\2JM9YZVCT$/N6^ORL+-^X F2 M2EX#;:UW<5ER[8[EAF.E^PGG)T.'(SU/Q_Q)VV]/H(,?0Y#Z,.G#8E8VR)YZ*RJ MW;206P_4TV%_$D5@Q;E+H;.B\K,6*JK@]CAH-@FHTD:)5V(RZH_',Z0X "5E M,ED73'N*ZN M].769I.W)RG?";Z7XB9D\%:1=@ACK_>1P+$R)Q ZK!XW#<3G0*&]B_RQL,BV5N.1[UR>$+:XAP,RU,TH.4H:/_+!3 &4 M:@;JBOD8(>*F77R"EQT]K@2L08]1@W]="[D2AJ72HJT*A!WTX(X?ZZK%KZ&[ MKF//S]=+#F<*V)!W?8;/Y+:NQFJ/Y@HP,-"A@5K<^6(8)0DQ30N!KZFJO>BX M,5R;*X_ OAW ;OR)J #_$M16TC**D I\:HYW"AV(CQ5;M8[O)K*M6M( JRD#ZC*32A8O#9:&XH"- M:$HJ/LG+6Q'1L9=K&ZRE%JL=SS\["D>S61WBXEW-WH=*T9([7T3Z\/)(>-]" MPD\!"1D!?;6W\T-?>;8=\1B?K\2X/QM/\#GJ3R=C3AO1120^UGT=G0;1&61V MG>,(8!&%_W5E$$!@WP8@>=X? 9<)8H9\E#_BQKO.Z=Z@#PYZ1,.Q)H/F%;GU0B]W4 MJRK(IJ^B(6J 4'V''C]Y],.$>N]UN+';RMY"3OMHTD?&29VK5E=VTKMO'MV& M1UZJ7G/P='=N: ;I#5OLO1C-@]*/'#3H@*T/HD48=\V'/]*'@OMJ6G%DEX^_ M9A934N.26+EIFH%&'Q0H',9X<-!C<"-#VD1)RH4QM="&&.V.'HX;!3'ARQ5R M>*KH5W"K.P)1Y=\T/"C&M@4U,*0N7[RGO$[&/C)#FC $#C02.4P4_59TZYQ M20>(+EIG40('BZS'YH4&O9WR@93[POV#MDDY^UN1 E]5#S'KP>UN_&7MR#Q BLN2 [I3 Y2VUTSO),@\6_S M*)EN]T5H>OJ$NJ42/1=ZP04TP3+I8#T^D3I4Q_$2#D,J #$=^&8JDLI8H"0U M)'00.09/33H2#<1?..5UN*"<2APT'3=DU2D=O W3!C\QI-%:HK)<+W44I1(3M610@T[6B.&OOE8E5)9-U2J=U4 MJ)FI[+"<8RJ%8\(C:/+K+U5=>- 8-,S%@@E('T1#=^7S"9?>_ONQHJL0C+M[ MC,OEML#JE.HL8H T4%/Q8]2:CQT;!UQ@*TY'(5W+ J)UM: MBC-)D52'!R%3 M)I\XC7<=4^^;1SLV;(I2IO9+@)VM_,SZ:TY%]K[,I' 5@B7$72=@B/>7?/]+ M>,G*3N6/DZGC \,8Q+4'!<\<[P>#V_KUAN"WV-2$#8Z]OSYK_?P@4W;%/[*@ M8(-R_"\1FKO-[SBN_<\7=LO]CT" N"O8 BBZQ-;A8#;M^3Q0?RE-P3]F0*B6 M)N-+>ANM+"W \Z5!A12^T '-KUNN_@=02P,$% @ 0X.D5BR_1.7)! M+ L !D !X;"]W;W)K&ULK59M;]LV$/XK!W?H M-D"P93MITB8QX*0MU@'I@F1;/PS[0$MGBRM%*B1E-_WU>XZ2G01U G38A\0B M=??\S!SJ0H/GS>HK]/L2.6A0I\X0\$KG GI/VTZV2F$BS9$5_?*\*#6MOM57WH> M'B@39P$OE1_2=)S1))],G\&;[H*=)KSI=P=+?\T7(7J<_MX7=P=[L!]6 M^N9-:%3!9P,T1F"_YL'LY8OQJ_SD&:48;)K:1/6"TC8X4W417?*:KUA<5^H/F*\^,OHTH MY5C1Y?P#-:T/K<(-Y#>5+BI!:7J%DL;9X?%1EA_F%"H%!LDM1>W'0#?LX0?- M"<0NV8O1D*QA'-$/XV&.GC & 0SI$K7R44L_9.1:+Q(U>[H"GB[%&V5+NGCW M&[4V:D/S=H7NDI@F&2D3'/WCP%8IAE^^.)Z,CTX"+9SRI7A3:H\QXGQ S/=D M#.G"V:*%6S::NRY<,:VMCEH9XMM6@V=MUQRB,+*/O4L5< :2,6KAO.J&%7R] M1BDI4+2/T)]BQ21N3O(3.>]$TMWXY.=L#^<-^T0*.$2-Z@+$MJ!"?]5VE?R^ M<"6_6SNSAC^HWZ.#$_#N(B-FMBNP@VQ M$$1"1!%+BKKC%O=B1%=0WC-]/8C MTN7,'=B7+5&&NPW>+U)TEQ?O2!P2H$ -!HYC0 &-X&$?9F*E8B)< MAR!H"#-6&C71H(,@,*1/G"(Q+'TE-JY?JKHY>;OE>'\3B."CO%'9)FX3"]JC M,F];F$ BX)@4:6K#+2\"\6RA)78$JZY391]F9ISE>2Y_W]FU^?#5MFN3F[!XPTW$S(%'>ZR^SL:OC[.#R?0I M.]]60;)S]' Z7/.:;0MA,.!65G^%[-*[^F$EA/M<]?48*_!"=?=58_FJH5VE M);C)CF@M*U0_3\3E$GP8UR08WW'S M/_ QZ;#O2WD?#_N^B:,'&PSFQBKM:0%Q8UAWR\SN=K<*SKL-Z%Z\VR/A$$95 M(,-+J.;#H\,!^6XWZP[1-6D?6KB([2H]5EAGV8L WB\=1EY_$ .[!7GV+U!+ M P04 " !#@Z16T9$YH\4( !9& &0 'AL+W=O>WAXJ5[LE/YFUD)8]GU3E.9RL+:V M.A\.3;86&V[.5"5*O%DJO>$63;T:FDH+GKM)FV(8A^%XN.&R'%Q=N+Z/^NI" M;6TA2_%1,[/=;+B^OQ:%VET.HD'3\4FNUI8ZAE<7%5^)S\)^K3YJM(:ME5QN M1&FD*ID6R\O!/#J_3FF\&_!/*7:F]\S(DX52WZCQ+K\3;PGY2N[^) MVI\1V# 0;6?I?_KV.0V_"-'QD0EQ/B!UNOY!# M>G"NNMD )TM*RF>K\59BGKWZ+%8(L0W86Z%6FE=KF?&" M\3)G'^Q::/9)W(ER*]B[TA, D;P86BQ,TX=9OE71OVNLQ% MOC]_", MZKA!?1T_:? ]UV5DI;6:[8O^8+ M8S4X\^]C[GIKZ7%KM(_.3<4S<3G 1C%"WXG!U6^_1./P]R>PIBW6]"GK_Z^, M/;G(<1?^PLJLB6R_[P\!!I?8\DQML:>V!HL;P[AA=J>ZMO%3S3G[*+2;768" M%/KS?B.,6_8?ZDX4[%HJ6IY78FME9L[8A[[5Q@KC6K!*2TB/+.[=3LX9P! $ M:!HOY9\.'3Q"XK>9W6(\+>(&5+#O>(%@8+\[L%NRL+AW VX^W+YG$B)C#!:E M@54/,YGA1:&RU@;F9' "(QBPLQNUJ7AY?T:AT8Z#+%,:O]R*5UH4^,F9^ XE MAGD(:+8F (58\2* L&5J6Y+E !"Z,%N1K4M5J-5]X!UQ26Q\$4AC@74L$&+TML]&[!Y43!IQ<8XTWV#>%8;P4X* M9*J2I\>\;T>[5Y28!ZL>G; '@HXL)"^,ZLLLI?Y6%*&I0D<"B3I MT%#@Z+8F6_]16EJD<7F0ZMHT 3-K_$4$*7P;J/"J$+GGF4M\KH1W5XL[.HC< MS+U<'$'P.%VPS#&V^"Q2MG5.$)#6G<#:]8)<4+" CR MM>(Z)T.W#B8BU^..%JMMP36P>_(8![K;9#!.-GA5:<6Q[_%S)W.O/+U8D(-] M#HD[7FP[? V)6F*I$AC:@+32XG2AC:;95HY5!*!A;1VH>T>3VAJA:?2T&;=& MA>AR$9!C[EP 7:R6BZU#121O3-6,:'.^!=T,"B&[KOG7A"/HUJ'N3GU:4_:^ M$EV,Z@2TO/^R%HVOO4@TN@-""Y 5:Q[(6B>71E2<^HLF^#VMZB3JRUJ:!H17 M&9=JR.%M%)A?=T MJ?!BYXRX#=$B.L[C^BA[6O-)+KPC'".1T0R Z_-&.4%0A%: M^RW_CN5/7%;5U@"\.3T'5BW$7HG(4."!ZTV%]\,1\=$2X6AYP+ZX4^*YX^O: MAHH1K7+(3LOJ%VP:).,4O[_],HVC^/=>3Q(&XUFX]ZKN^@2--"8C8((;B5!.ANS-!A'4Q8':3C#WSB-J&<4UM#J&8;-@G0ZKJ=$<3";8GX2 MA+-F4C(*DC2$\)I:6-0# 3AW;VE#5@=NIL$HCEH_?&NZU^=;CSIV$IUB"*&9 M!$D4LV@4I%'$QLY/P$U2H)X&Z7B*HK$H7#FS$B40%L<$F\S%P60V9;,17 LF MZ0Q_1W!S$H? %X\=EOJ((!\S'.(KA*G!.XGI7],Z_/6Q;79G]D3,O"=32GHR M8C&@C!+R))JF+$+\QV.B:8Q\O7NR GK!3D;!+(E/Z2D-ILGL%%Z&P60245>4 M!K-H1._0-XU'IW RG%$Z][7J)/;3P$!ZP,HAQGXM.ZW.!8ZH3':G ]^0V/CZ M%U.0@S%-#6("\_?'MC&0Q'$P#AVZ$WB?3DY=6AZE0!LQ>F%^(LGMA%JA?P = MM/72A@)&X*" #E(T#B/45!S;7DR>@X;*;)0Z(%<=D'Y]70]"X2GL#V08E_OL MVRM_HE'5BGG->>2/J)^OGI\OJ<]4S?T8/EM$CT[__)C_('L0)L3U-$I<*\%N M?H']/H4"4MNK:AJ%KC5)IJ2LV#+0#KDJY1(W4_#MQGT_$:A4NR=WE NJI.I: MD8YP%"-1^"O5).YXKDMCNR^O.T$5CZGSZ:^E&6CMKB++@W.BO=K]9"8:@&S. M7C(X^VO7\AD>NYV4?Y\Y=&XT+0^E\?G9DZI>& MCG\A[WRAP LB@;L3UL4%YFV\\V#:+[%>?0SL=O[#M+_PM&]Z.A#Y2.V/2[J2^G+=PI3 M6X/684TP[7CSP MZX?9W[N8 L$8TA#'_F$ZF>Q#62F5[R2NOHM^@4V7C1_AF!_C(F7H(:+G%I9O M&U"4B71,9>#FCFNW8!\-A[W,O\KAR'[7I-HX]Y+_\MKWM=_.Y_US<#?'22I;$ZR6FAF>3T8!I_R';-ZRJW,?CA;+@I7NDFYW0- #OETK9ID$+M/^; M&PO=V]R:W-H965T MD[62_OD-*49S&,; O^\+KG#-G..1PNE?ZAZD0+=PUM32SH+)V M9<;5#2SDKIAEN:ZG5D-AIYZ4%-';$X'D8-%S*83_W:C9Y/U=;6 M0N*-!K-M&J[OEUBK_2Q(@H>%6[&NK%N(YM,-7^,7M-\V-YIF4<]2B@:E$4J" MQM4L6"07R\S9>X,_!>[-P1A<)+E2/]SDY16W?#[5:@_:61.; M&_A0/9K$">F2\L5JVA6$L_-%36GALD"@!,.EQE)8^$,9@V8:67+@S**B(UNV M9.P%LA2NE;25@0^RQ/(I/B)AO3KVH&[)3A)>]U(NS(87. OH*1C4.PSF;UXEP_C] M"959KS([Q?Y?NVA22PX#5P@E@# M_ E?T?+5+=];(0FDMH;+TKR[('Z-^.2B *6YJ/H\NX;!DM>>D%O(<2VD=&K4 M"C:HA2KA-23#E-HL&<*-5COAJ\1S[V]>C5G"WO?]=RTLGJG5ZOG6HOR'WAL5 M' M6^3CQ3ACK_#[&]SOH0";*\@6!1X[4/)XI5:9";24=H^ZO)^3WP-?.NN 6 MUTK?/SO'WP[M1?0XHBHUS *T_& ^D$\IC9EB8LS'+&8>A8.L@GUDW"29G!%L";W]&&;T?]' M(1N'X\FPE96-7 *&3M1HPIS@,&Z%)^$DSN#86XT.:FF#>NU_# />55M6^]7^ M4UJTM?C1O/W1*$.40@,UK@@:GX\& >CVEV@G5FU\9VO ME+(/$^>@_ZKGOP!02P,$% @ 0X.D5B:T1;]G P @P< !D !X;"]W M;W)K&ULG55-;]PV$/TK _7C9*QVM9O4<'<7\$>+ MYI#"<-KF4/3 E482$8J42H802\22?.&,]J.QGYR+;.G MQTYIM\M:[_N+/'=ERYUP"].SQI?:V$YX;&V3N]ZRJ*)3I_)BN7R;=T+J;+^- M9[=VOS6#5U+SK24W=)VPQRM69MQEJ^SIX$XVK0\'^7[;BX8_L/^SO[78Y3-* M)3O63AI-ENM==KFZN-H$^VCPE^31G:PI9'(PYE/8O*MVV3(08L6E#P@"KP>^ M9J4"$&C<3YC9'#(XGJZ?T'^-N2.7@W!\;=1'6?EVEYUG5'$M!N7OS/@;3_F\ M"7BE42X^:4RV&QB7@_.FFYS!H),ZO<7CI,.)P_GR*P[%Y%!$WBE09'DCO-AO MK1G)!FN@A45,-7J#G-2A*!^\Q5<)/[^_8^?M4/K!2MW0=2MLPVZ;>T '@[R< M8*X23/$5F#6]-]JWCG[1%5?/_7-0FGD53[RNBE8(6+\L]+"J0 FY<#A.:Y<+TH>9>A M.QS;!\[V/WZW>KO\^17ZFYG^YC7T;R_3_X"A=YI^-P_<'=@&N8LS&AD2:3/H M$@()ZI70A & 9>@QK$I&1U9#ZBQ3D^A[:QXENH18'6EU_D,X-8,E;[Q0Q%VO MS)$96S@*)1L=BV!Z+SOYF:/I*?;]("VC^;TC"=/@$';H#M]&8S0ODJNH-+8W M%I6D4#K/S7%!?[2<.(_"8=R@J$)[*128E09,.-0=L#=#/5TCI/]X.P'LY(-%S2!=TD68,%K)%LEWJ"0T\0;G39 MSE+H2%BF0ZLH5D2M#1:3W,Q*AHXOU!:L&PE6$LD\=C#(04\3)H *#@Z MI(&(_]'C(U-E2!L_.:?BAY3!\$@.-96U+%$;J@=DRU.N[C2Y$."Y(+&R4D,M M,=4QE&_Q4I?E)X.Q8T"'\>^0_:!]FI'SZ?R'N4R#]8MY^CVA?(W4CA37<%TN M?GJ3D4TC/VV\Z>.8/1B/H1V7+?Z2;(,!OM?&^*=-"##_=_?_ E!+ P04 M" !#@Z16#WJE-!4* #-' &0 'AL+W=OJLNN3T>&H^^*37JX"?3$]/6[D4EVK\+FYBGD2C50K95^&37_U3)GEC$31^F#KM!D:U-K$__(N^>%[-LS2AAGK'0]B+2]ED*?'SJZ% MH]601A_85-X-Y;2AH%P'A[<:^\+IN?3:"[L05TYY98*,OC*EN(YAHG?7>FGT M0A?2!'%6%+8U09NEN+*5+K3RXEGWZ?GQ-$ I$CTMD@+G48'9 PHQ@=K1'WE'VT!'+.WI WBZ#_WTV M]\$!4?_997"4]W*W/,JRM[Z1A3H9->1S=ZM&IS_^M&F@TYM#6R+750I2@LPF]\ M_)2VX&&AC80X60F/,Q38('BQDK=*S)4R @YLI,,Z;5BP*[%:(87"2BR544Y6 MU8;>J(:DR3Z43:\F]@8H]MFP(M=T#NM^5BL'S(MGHW^1M$:2'*V( 71=66T*2J^*3A0CH*:[#2J3];3=Z9;P29 MP*>0]RL5U$[73BA$7F55GA8?O[)MA5/A'I0)\B_V?&E-Y&$.#KNQ%_T-@;U) MV.=4L+0GH.+$R-O6B3-C6FSZI!KK@L QQ-GB\.#%O]AJ.F^CI!.*6$91EF#^-)!T40DKIY2H8PV( MT0&#%ZM,X1Q]G' M'WZ:';[YV<< [\$7Z4>:M4V""W4Z H P@(GWJ*'L8JSHB=WVVC38)5 M+0TZ0EI"B%Y0"\?8E^47M$1Q*Y9)^!&T5V$-F-9Q&LC0=BA!+N+<' 4"1!/+ ME5A([5 9R-F]7HWU.E(H2]^&(2GBT>KQ*]J'OM@EOG\*E@B7%X[$#T1?ZC4#%&&T2+/K. '9HGU2@-_:,+J"*=D M0M*&\MF" LE.H@=\&:QCO6]EU>9@I%2A!8D5QF)I;;G6Q!5.>V($3**T=M[B MB521!7;%1,=RT*=K5;GM'$Y((=?2E7Z7+P[_+E#T2E7K0K#[2F"R",21CI,] M/6G41@2*TJ#SZ#8S]JQ(1O3Z4*KD@'9-BY<5@S'ACB710)3 GMT\IHK0+G!R M2RP?US&%T;H2J*EL0\;B&)\PJ=#SV(U2+SH@IY08)_L4SN0:EHAJ("7E%O'> M"E,]S$;SJAQUG!$.% IBQ#G/,RTL5E@$J@ IXJBAB:@E,CF(_&/4>JM;STF, M6+DE1Q,G&=J9 Y/GCB(E/BC"B+X+IA %M-HA;QG3L6M%61 K,O+)6(IM%S\C M*HOV@3RYA%#Z9%@C:BE,&6D[?Q,O(E">*!#NIDO[)!5)OX>_7V?^?KV7?8=S MMH-<1/U$4^K<"_XEP2GM_)-Q:"J>Z;C6FM7;O8@+#AH:#)#;V>VO% ME3/)V7_6H!]X>%W)\/^^HC[N00S<]2TE&D,7*CZXMF!"H4,& MC2+BEANJ-$_-8P=Z\?'R \>=:R6'?:!SQX1%EH$]5 ^Z/BK-*ZGP\GQ26(?_ M8*5,?KFT2NR:<46HYQ=KS9<&/*3F MD3SJPM5.1N(,C(7&JMZ:>ED@/H. Q#-T(OYY+)K#4@-EU%U: MG4?O>Z=.OD)/ZF"HH@/Y@:L4^S*.,^/(\9M[@L8=K=;R"_J2L/EJ)F#:C\V1 MHVN#."WQ'%[C9:7*B#,.?![RT?S0+3;OW+[ZN:_!PW"A[GL'6F(4XQT9J8"P MKE'S;#J94?-=)T\X2,G>RIKEBXHO/ 8&\^DQ;/EO;(8 R;M*PD3"?+T;HNS3Z;?=ZF%!24Q?CUZO+R#P#7Y"!0PRI0:O+DT $ M40:6-= A.R132[R]ZKSIVX91Q5<$";7)41N&29+&%VR)3[MU*R5+CD4>4+C7 M<7K>QM[?]:(2(G+,6\#-\->Y8]R?$_OFCGVRJ+!I5.^C%(",>^JBDZT# M3W2\ T#'#E%\16L]7?HX25*K&)T_X*J>HGY;:=\IX5.'CE#S=%%;B*F5I#1! M0Y_]A>4+'3K4Q;SA3+(Y##V 2U5HGSOT+@H]5>PL_]/!3TS?I?4$L#!!0 ( $.#I%9*XWBF_@4 )L/ 9 M >&PO=V]R:W-H965TPSG_.8@>7&O M]!=3 5CVL*FEN1Q4UFZGPZ$I*MAP\T9M0>+*2ND-M_BKUT.SU 6UNK\<1(..<"O6E27"<':QY6OX M /;C]D;CW[#74HH-2".49!I6EX-Y-+W*B=\Q_"7@WAQ\,XIDJ=07^OFCO!R$ MY!#44%C2P/&U@P74-2E"-_YM=0YZDR1X^-UI_\W%CK$LN8&%JC^)TE:7@_& ME;#B36UOU?WOT,:3D;Y"U<8]V;WGS?(!*QICU:851@\V0OHW?VAQ.! 8A]\1 MB%N!V/GM#3DOWW'+9Q=:W3--W*B-/ERH3AJ=$Y*2\L%J7!4H9V>WL /9 +N% M0JVE<$B]NN/+&LSKBZ%%"\0W+%IM5UY;_!UM";M6TE:&O9 M+XVC_W,* *\_/:V?6FAJMKR RP'VB &]@\'LY2]1'KX]XWW:>Y^>TSY[)PQ? MKS6LN"3]E=I0&.DLXP9475Y^Q9CIC=@';F9 '(\/5Q X;]J790LRNA; 6:;Z&Q MHC#L3EE>_S3_-?^L--MJ53:%Q6ADR2A>4<"4W7AJAR-[P<9!DJ?X?OG+.([B MMP>4) SR27BTU))N$4 7$^DN456MM@[(3FT41!AH$J23G*5!'HU9'*3A!)]Q M&A$E"UMG6PF#RB=!.L[)B!-[P:(XF(QC(B1!.)G@AQ='0A8D:8C!"!JL; UJ MC2!4HD"%2/D"UDS9'&L;*4XS.H#Z@CS/G99LG/IWECAZ-)HXNZ,D9N^OW\^1 M%&<3?(Z3$,GA>$+//$-*F,?H?Q2/V/QFOF"C(,&P.H#\7SS"0**>V/[^_W#/ M-%36-U1VMJ&.)T#13H!3W716S^ENNJN@[1LAU\S23&5N56(5+GE-!6RHB8O. M"VX,IBI@C5R*NL9.T5" V+EI'.S9"F6(BXJMI]6"HPS.;WC:I-]TY#M4NEGB MH.L[<''L@(,Z33WD492SCR?\P<51,)J,W#M$IL61>R1+29SLZ0&\8C\SDKKY?Z#8B6-FL#M4B1;T MU,/DD)EO5$/I$K*HF])SG\2<6Z=E"6LA)3F(>=VKG1X-+;6LA1_AAAE\FY5 MS:XA0P<:UGO*%A67:S#'_DV_)8.QV/26 -)<&N[/.EOL=& (AS!VS/";'R/ZZ!ZX?BU&08:\G:1 F)R;" M?@(\V_!YW_#YV88_'4C X&&+QT1"2FS:[/G8/*"G)L)90S\^$=K*,@>9[.#9 M.Z6PL$[4[*JQC::%^KDLVPH+E"-O(_/10EO,@ .F+6,-6X6< MZ'5;'&_8W5'U=3Z7"D.1RG9Q]4DW?L8J+;!#,,]EHUO?T(22P!YQ"R67<+;0 M<&L;#Q=W7 L'%:HRH@0OATY:+9:-1Q%#U^J1UU1W 6DYJ#6L2EX?00 /H MA M*%)GX7A 4F@,]A.Z!=L;6M(UQJG90T>W D1*LL]-Z0Y0)+-3]/%ZJ(RP;O- M =:GXGJR+]P"W=K0%>+M9EY*CXP>N=MA,,UXV5NA_>[X]>3(E 7C2>3[-EX0 .CSNXH?FK7[R>G MIL;PX,*$V*_=M= @?EAS_N[44_N;Y]Q?N/;L_MJ*&&-!&RS;%8J&;T9X4M#^ M*NA_K-JZZ]=264RT^ZSP]@R:&'!]I93M?LA ?Q^?_0=02P,$% @ 0X.D M5J&&UL?51M M3]LP$/XKITR:0&(D3YY^R[F[5*/YD2T<)K):29!Z6U]30,359BQAV: M6B/+/:@281Q%IV'%N S2F=];ZG2F&BNXQ*4&TU05TV\+%*J=!Z-@LW'/UZ5U M&V$ZJ]D:']#^K)>:K'!@R7F%TG E06,Q#RY&T\78^7N'7QQ;L[4&E\E*J2=G MW.3S('*"4&!F'0.CWPM>HA".B&0\]YS!$-(!M]<;]F\^=\IEQ0Q>*O&;Y[:< M!^957S+)TIE4+VGD3FUOX5#V:Q''I'N7!:CKEA+/I';W[#V4, MU*CAH60:X>"1K02:PUEH*8!S"[.>;-&1Q1^0)7"KI"T-7,L<\_?XD(0-ZN*- MND6\E_"6Z6-(1D<01W&RAR\9LDT\7_(!WS73DLNU@>60[9^+E;&:BN/OKGP[ MNO%N.M! [WL>>>GT&[I2%&YF)AJX4 MN(1+5=6-9;ZF50%77#263H:''%+;E<_^B(\E0J$$-2I=$I@N?HMT2Y)$9(I: M,2?+R[#DF[V7DO=2)$D1FYKR++#"C#4&'8IKP**@IH26&6#2\B\>2,T)!YY8 M-8;)W!Q.X;'4B.^*"J@DLG*H"?>)H;\I;DSC2A<:\M1>X?5SP^V;NS^4/L)2 M, F3HV1R!B='YY/)KG<*M]JI0KWV0\-0MHVT76<-N\-&ULA57;;MLP#/T5PBN&#?#J6])+EAA(+\/ZT*UHN_9AV(-B,[%064HE M.6GW]:/DQ$VQ-'V(3$GDX2$I,L.ET@^F0K3P5 MI1D%E[7P01::HL&9F7\U1 MTLU4Z9I9VNI99.8:6>F-:A&E<7P0U8S+(!_ZLRN=#U5C!9=XI<$T=C8)P,3GI.WRO< M<5R:#1E<)!.E'MSFHAP%L2.$ @OK$!A]%GB*0C@@HO&XP@PZE\YP4UZC?_.Q M4RP39O!4B7M>VFH4' 50XI0UPEZKY7=(42QJ^P;'7[Y+%HC%7URICV M-9?MESVM\K!A1I;<.N.H M6+DX:5VD;[C(X%))6QDXER66K^TCHMMQ3M><3]*=@$1P'[(DA#1.LQUX69># MS.-E[^<@A#.<6&"RA//'AMOGS13\'D^,U?2._FQ+0NNCM]V'ZZV!F;,"1P$U MCT&]P"#_^"$YB+_NB*#71=#;A9Z?,JV?N9S!'1,-@IKZ0M8OA?POF&T1[/2Q M/8+;"F&J!+6V\][Z\K?N/5FZ+-;,%FMFJM$@7[/#EIW9>&WT%FVE&D.5,)\' M0"4OJJ[F5*0"ZPGJ]4D*E^,+V(.D%QX<)D[(PN,T(<3'>VIXZ(=Q/W9K',-8 M_\6201*F1\>K]2%]]#](DS)+8"7'8)V%;X:.- M5JY1S_S ,E"H1MJVJ[O3;B:.VU'PHMX.5,K9C$L# J=D&N\?]@/0[9!J-U;- M_6"8*$MCQHL5S7743H'NITK9]<8YZ/XI\G]02P,$% @ 0X.D5C =H*RT M @ 7@8 !D !X;"]W;W)K&ULG55M3]LP$/XK MIVQ"("'R5B@K;20*0YNT2@@8^S#M@YM<&@O'[FRGA7^_LY.&(I5.VY?ZY>Z> M>Y[X[CI>*_UD*D0+S[609A)4UBY'86CR"FMF3M02)5E*I6MFZ:@7H5EJ9(4/ MJD681-%96#,N@VSL[VYU-E:-%5SBK0;3U#73+U,4:CT)XF!S<<<7E747839> ML@7>H_V^O-5T"GN4@M30?.WSL\;6(3!:5GB%0C@@HO&[PPSZE"YP>[]!O_':2?1.P%) M%Y!XWFTBS_*:69:-M5J#=MZ$YC9>JH\FDZ9V26+,=)0*UA4*\PR X^Q&?1Q1["@Y[P8!]Z=M\V#*@22BZ9S#D3P"6Q M;=K'JMN7*X!9*)VZE5?GBIX:)V^TYG+ABI>;7=KV9M^M[:%"*)6@EG;(UM<* M>+.T8)UQ)U%;$<,U:OP7RM01MN*RA7UUK3AJIO/J!0Z]436&R<(T._APGL3)Q9O= MQGJ-.=9SU)M4R?^D&@Z/T^C3.YDZXZX:"K=ZOD:]\)/-0*X::=OV[V_[X7G9 MSHQ7]W;RTO=:T"N!P))"HY/A:0"ZG6;MP:JEGR!S96D>^6U%?P"HG0/92Z7L MYN 2]'\IV1]02P,$% @ 0X.D5J(2@$'P! !@T !D !X;"]W;W)K M&ULK5==;]LV%/TKA#<,"2#$^K)L9XF!)&VQ BT: M-%W[,.R!EJYLKI2HDI2=[-?OD%(4I[.]#.B+1,F\A_?CG*OKBZW27\V:R++[ M2M;F.6);CV8@55/)6VH]J M^QOU\4P<7JZD\5>V[?:FX8CEK;&JZHWA027J[L[O^SSL&,P.&<2]0>S][@[R M7K[BEB\NM-HR[78#S2U\J-X:SHG:%>7.:OPJ8&<7UUSR.B=VYQ ,>T66"VG8 MR2>^E&1.+\86A[BMX[P'O.X XP. "7NO:KLV['5=4/'^F#O(=#^D$\ZY:7A.ER,H MPY#>T&CQRT]1%OYZQ.%T<#@]AKZX@Q"+5A)3)%]V"OK5BPR75UNQS M^CCLS7<(+%>0FK%4N(/LFEBI)#0KZA4[$37>J-;@:'-ZSE"3?#T4!3G,J5J2 M?GP3LZOBK]9#W2ACV6MC!02$QS=<:/:9RY9>L@5,H@>P77]%=RI;G,U.HE/V M,XO",(BRR;/5=!HDX?QIX7;N >":6"ZY,:(4. V!'<3>B%H@\05;*87Z1L%L$KMK$K)/ MRB+SNXX"*)C/,]SC((SG[$BZLR'=V8O3#<\:TO;!T\DQJ<'WRP:L)KLOZT>! M]V?]]O )/[0*[_A2:>Z9,YR"K*5AD,Z>IO20*!5TV+@NX@.>^-*NW6R3$)PF3>7S^4I8"2GN\L6UT+R(=0O20+ MW36= +9&QVZ[KWM'BY7VO @B^!@%4^#MSQ?+TF ZC5@6!VDR013&G&- R-NJ ME5[1!2'EN>#=Y !37BEMQ=_=BY,T0M.)3]D)TC"+T6B.E05<2X+,MZ8X#K(H M1;IWT.F^<2T%$>2R+;J6M%1VS5S-?9D<9D$;#%"=\[V%Z;*(@085#MB*:G0= MV7E;5$X5:#YNYGDR\"R@_VYHQN+6E1)4F*9?]'JTUH3/1L MOF>:)]?>^)TTTRSS]SB:')/F=)#F],721$;!0-18M_!*"KX4TK?C?<(\"KM? MF!\.X?_8[VJ/#ZZ7("WRUU<<\[81!3Y!\,8)J"3?[=(@GKB4)D$ZGSQ9MSB& M.T+$P0S=, I]T^Q" +5G,S9/XKY]'DP<8&<08N@J-@GBZ?YN.MZ932O2*S^! MNZ2TM>W&U.'M,.1?=;/MT_;N'P*RLQ(@H:02IN'9%%\MW4W=W8-5C9]T(1_, MS7ZYQA\5TFX#?B^5LH\/[H#AK\_B'U!+ P04 " !#@Z16:, 7.SD# : M" &0 'AL+W=OYCV8)*#6'7LS':@_/N='9I1B3)MVHOCL^^^^\YW M/F>X5?K!%(@6'DLAS2@HK*UNPM!D!9;,7*H*)>VLE"Z9)5&O0U-I9+DW*D48 M1U$O+!F7P7CHUV9Z/%2U%5SB3(.IRY+IW12%VHZ";O"T,.?KPKJ%<#RLV!H7 M:+]4,TU2V*+DO$1IN)*@<34*)MV;Z;73]PI?.6[-P1Q<)$NE'ISP*1\%D2.$ M C/K$!A]-GB+0C@@HO%SCQFT+IWAX?P)_8./G6)9,H.W2GSCN2U&01I CBM6 M"SM7VX^XC\<3S)0P?H1MH]M+ LAJ8U6Y-R8&)9?-ESWNS^' ((U>,(CW!K'G MW3CR+-\QR\9#K;:@G3:AN8D/U5L3.2Y=4A96TRXG.SM>6)4]7+BX7: M,']<;^[94J Y'X:6W#CE,-M#3AO(^ 7(!.Z4M(6!]S+'_+E]2/1:CO$3QVE\ M$O".Z4M(NAV(HS@Y@9>T,2<>+WDIYH)IO)CZF&=L1R5F8:(UDVOT\^^3I;&: MZN7'L> ;[*OCV.X.W9B*93@*Z)(8U!L,QJ]?=7O1VQ/,KUKF5Z?0QPNZDWDM M$-0*S$'FLL/,X:.;XS'N)]&/@NJ =G8 M2J,$SYE;-I8^[JR-BX0ZC/:8!IB!E1+4*0R\\6"J-DSFYOP&[@N-^*RT@ HC M*]K*<$-,16RL ZVTRNO,4N/8H*P1SJ ;#]P813"GX+PI0=,5WE!KJGSF^P30 M[43) !;4)[A<=V"-DM@)K\IRNH'.0P&Z5^40'C0KTO4:_\J&0JVEK9IW>UJ^_!-FG[_6[UY M-2FN-2?V E=D&EWV*;NZ>8D:P:K*=_^ELO26^&E!CS=JIT#[*Z7LD^ &ULG5=;;]LV%/XK!VY7)(!B6Q=?XB8&=^ON^0.MLJ_J=H6 M0O);#:8N2Z9WE[Q0V_-!.-B_N!.;W-*+T?*L8AM^S^UOU:W&IU%K)1,EET8H M"9JOSP<7X>)R2O).X'?!MZ:S!LIDI=0W>O@U.Q^,*2!>\-22!8:W1W[%BX(, M81C?&YN#UB4I=M=[ZSZX\PQC;0:!_H9=1K\#/3 M0XC# *)Q%/?8B]O$8V!=.QQ][4DC:%)(^Z\M/'.$(J3+V4&2]NHS)H F"E MJJDX0J9%C3W$!90H@#6AJH%:0^'DU:H0&T8<\Y54-N<:I?W$\.0MF$4+5H%4 M\B1E,D4:$K0 IXMF5'AOS%M8"TDB^U=;CFU@!M:JP!F"J,1(;*YJ@[+F> $/ MN>;\&=X T9+F+5SH$L%-UZK/$M[#AW?S*(P^XBJV)Y;I\9N8H/&X-H>R#LJSHFCB*CLF!,^3NLU.G\X8Y+-D^=6%SH.^&ZJT> ML;!*0<(5U63.X@9QG6'1Z9%J[F'5=#^/*R M6XM.%3[Y*+ZZV<:S$X8!X*C&AM*\?ZJ3RX#:0@&88Y@-QW[Y6C5#9A&P %UP MF P3^*F_@5?,Y% QD;WH.RPZO7T*.27QM>1NY-J#Q$G+1$G MO41\"1LL9*V%W1VB9:^EP[2\<,U_#ND 5*U;1P@%5NR,<(),RAKA5\M]J;&< MG:J@!+;\/Q"QGW1_N/9BLTCEFJ>\7"&.*+Q7\'%M.GK"S*G'KR%.3(+I?$H2 M"$++Q]+%&R$&8()/"AFZX.8JRWA.I M8CL_VR?C( E##,68!8BRJJT;9:C.D9CH:);X.)_-L?>01$$UUC1@*YP-C<_7@_;DY:PRKIC):02?E-QT9\J_J,738)Y,FB+V)=?6 MI(9\B$.]M@]SB.:AAS(E M9QWD*ZT>18:9?:\9;OZ6T0$1L"D,!]R&:0=MHIG?T3I!#>&FMG0XV(.NA1N> M*>G V>Z>.)HM;F# ?U3T&G= %&WV5#)?*8MZ@DK?:1-R%QTVU4!8;7 ^>ONF M7OW=&-+"?*/Z[5GLP++:0?V:K+?[\*YK3B*W7 N5-3WW]+SKT/-S0T]'2^K+ M-7_$XWOE]GUZ+IFLUW@DPN&#"H?B? ]Q,(L3O$?!)(G=M U/0[AA1":<6.0- M4W?(;_50.$$A?]UOJ TR7_8 34Z#"(<%X7[L7'D7A^ YZIR02ZXW[C_ @!N/ M_K#".Q1P=>H.A[.<*)K?_;W#U95[KR]4A9/[VZ9 MX^\2UR2 W]<*>]X\D(/V!VSY#U!+ P04 " !#@Z16>6*#$;X& !M$P M&0 'AL+W=OT%2J+%N MEN0L">"DEQ58MR!IMX=A#[1$VT0ET2/I..VOWW>H2^+4<9P!04Q2/.=\YWZD MD[72W\Q"",MNJ[(VIX.%M"%(ZK* M8>C[R;#BLAZB5.O303#H#J[D?&'I8'AV MLN1S<2WLU^6EQF[84;WW84_I5B;>VM&FDR5^D:; M3\7IP"= HA2Y)0X@UXD$=Y?=]P_.-VARY0;<:'*OV1A M%Z>#;, *,>.KTEZI]:^BU6=$_')5&O>?K=N[_H#E*V-5U1(#027KYI??MG;8 MAR!L"4*'NQ'D4+[CEI^=:+5FFFZ#&RV!?WLVLD:+$J!5,S9EKQ.=MO!?ED(-E,E4I=L8JL8]D:5LN!6%*Q4H)P*"!"0DZM* ,3\KFY$R:!'O),B]*8OR^?I&%0?C+O9/(]Y*QO_&H/;J"HYP&E+$% M6)5JV09"PS;P J@5>?$X8;&7!!D+O=@?XW\8!W0R\EMH+85A8R_.DI8D"+UQ M!OK(\\<=433RHMAG%\J0)R$7'4)SERSB%LW"D'KTE )S^4#-V!N%0:]'L\LV MSIK=HXH=!(>X0FA2+PI"%HR\. A8XO0$W"@&ZLR+DXQ=H]8#E&H_Q?P0UT] 'OC!Q6*R&$BM-.N8+KNFOVSW\;6S;I6>^PV:-)ADY/1JQ$%!&$6D29#$+8/\DH3 -X:]/318<4&8< MLIE65<<.>8/8.!AYXR@\I%7L9='X$%KZ7IH&=!3$WC@8T3.<9>'H$$KZ8W*G M1L(BXUJ0!V%#A@BD!23[N/NUYB@&N4O,0J!.Y&W6.M-65'M^M$TB@ \2(O5" M O/;8VD,)&'H);Y#=P#MX_30N>71$.@M1@_,'D[N"<1M7JX*\01TA&U3V@0K M!3J^.7+6>&@A:.&8K>[9Y#EH/'"P J76M@;QFLAP?;>]Y+%:V".VLPQC1LB_ MO:71I "RBN@:/5H>'= "B\[TC\3.\TOJ,ZOFI@V?742WDE\_IC^"W?,CBO4X MB-PN0C:_1+YGJ("T;ZIJ'/ANET8955:D3,9V].=1WY]'>_?G9I(3VL"\G.I M;;6;+6*-L&7(EO"*4%,B&S$/NA-[(+ZD*P]Q8Y7@];KI)Q_*J9]FQ>F"K=[A03:%> M/[QL&&X4/3!<\)/AZ,19IC_\\),U/Z*G[F&['>F2].F2[)TN?:!AF)QOO)C@ MQ7-;(NQDO7VTO7OAN1/'J3D54!)I S=!.OG/%?>V,="^2V97KFE6EJ M]/^LI7<3X@0BH+1Q%6N4N4$0-2ID[S^_GV#I9V/T[B!,V>1RXP"]2[9?O+)DRGUM9:4K]<6/8?,F*!GA&&SR-)TEQFSWHS9WF;$0,#KN22] M6F4HQ.9*%6M9EMO,MY/W'N;K>)/5^I='C#32/F6[R;:B1'!_MN)SWY(^=J H M\N.$>G>:-KV97D"V&7UX[Q,(\F;N/O08YHII\S6D/^V_)4V:3RAWUYL/45!I M+FLJ<#.0^D&PO=V]R:W-H965T@#)8TM MMA+IDK2=].MW2"F*DSK"/O5%P]N<.7,A1].]5#]UB6C@KJZ$GGFE,9NS(-!Y MB373IW*#@G964M7,T%2M [U1R JG5%=!'(;#H&9<>/.I6[M2\ZG9'WL'#-UZ6Q"\%\NF%KO$'SS^9*T2SH4 I>H]!<"E"XFGF+ MZ&PYL.?=@7\Y[O7!&*PGF90_[>1S,?-"2P@KS(U%8"1V>(Y598&(QJ\6T^M, M6L7#\0/Z1^<[^9(QC>>R^LH+4\Z\L0<%KMBV,M=R_PE;?QS!7%;:?6'?G$U# M#_*M-K)NE8E!S44CV5T;AP.%\4L*<:L0.]Z-(= M-I'CPB;EQBC:Y:1GYHN*TL)$CD )AG.%!3?P16J-&M[>LJQ"_6X:&+)DSP=Y MB[IL4.,74!.XE,*4&CZ( HNG^@$Q[&C&#S27<2_@)5.GD$0^Q&&<]. EG=N) MPTM>P+O&'/G.N0??%IDVBLKC^S%'&YST.(Z],F=ZPW*<>70G-*H=>O,WKZ)A M^+Z'9=JQ3/O0YPO!JGO--<@5L">)RIM$52Y1QVCW A^G?5M:;&N&BS48&YSV MKO+?%"9CM[D@"IQ5P,BPT7VLX"T7I"2WFHE"OSN#VU(A/BD,H+3F99=7^XEA MR2H'R QDN.9"6#84@ TJ+@MX#=$PH6\:#>%*R1UWS\.?UM^\&L=1_+Z37Q4W M>")7JS^W%L4/NFCTTA@PTOF)=UP;:_?1O^=*!S11%"\0[*F!05<#@]X:N&E> M2U<">2ZW@J*NNNJ%[!X8!6E]K 9Z@?]W#>C'(NAE #DSN)9$]7GBGV7Y?*N4 MC742G0Q#N&#W&H;1R:0=3J)&,AO4'2JXE8;JS0V3=J]9RMH,+(Z0>@TC/QD/ M2 [",7V3.+*)\4=Q2#+V!^F$Y,2?)"E^^/)L*&5CFS% M#"VIT22VA/VP(1[YDS ]6DC!P:M?HUJ[WJ;!F6H:0+?:M<]%TS4>CS>]ES)$ M*=10X8I4P],1E8YJ^EDS,7+C>D@F#74D-RSI%P"5/4#[*RG-P\0:Z'XJYO\! M4$L#!!0 ( $.#I%9YQ%4U00( -,$ 9 >&PO=V]R:W-H965T8"8Z_2NEGY/F85U!1G ML@%A;@JI:JJ-J4H?&P4T=Z":^V$0W/DU9<)+(N?;JR22K>9,P%X1;.N:JI<- M<-G%WMP;'8^LK+1U^$G4T!(.H+\U>V4L?V+)60T"F11$01%[Z_EJL[3Q+N [ M@PY/SL16DDKY9(W/>>P%5A!PR+1EH.9UA"UP;HF,C-\#IS>EM,#3\\A^[VHW MM:0482OY#Y;K*O;>>R2'@K9P45 S MT;_I\]"'$T 87@"$ R!TNOM$3N6.:II$2G9$V6C#9@^N5(3'6"F6.,Z) NR:=$$()(W.]"4<7P;^=JDL<%^-E!N>LKP N6"/$BA*R0? M10[Y_WC?R)LTAJ/&37B5\(&J&5G,;T@8A N"4)JAT%=X%U/M"\>[N,#[5954 ML#_4%G]#ME*@Y"RG_;2(G.P5H,E$Q^;<,T%%QB@G!^,$JP+)SW6*6IGA^G6N M4[V Y7D!=N%6V- ,8J^QN=01O.3UJ_E=\.%*>@K' %C52: MIAS&[N$YL3W=K:.SRWQ,PL@_GBKP3P:M!E6Z=4*2R5;H?N8F[[2QZWY0_X7W MZVX^:LD$$@Z%@0:S=R:OZE>H-[1LW-BF4ILE<,?*_'5 V0!S7TBI1\,FF/YC MR5]02P,$% @ 0X.D5D;S/<=6!@ :C( !D !X;"]W;W)K&ULM5MM;]LV$/XKA%<,+;#%XHMD.;,-Y*7%"BQ#D+3;AV$? M%)FQA4JB)]%).^S'CY(5T;0HQJK)+XDEWSV^.SZ6G^-)LV=6?"G7E'+P-4OS M$VSJ#QC&YJ+=QY9D45<'!:K<;DI:+2LG;)TC#PO&&=1DH\6 ML_K<;;&8L2U/DYS>%J#<9EE4?+ND*7N>C^#HY<1=LEKSZL1X,=M$*WI/^>?- M;2&.QBW*,LEH7B8L!P5]G(\NX/F5[U<.M<4?"7TN]UZ#*I4'QKY4!Q^7\Y%7 M1413&O,*(A+_GN@53=,*2<3Q3P,Z:C^S)/,0E?2*I7\F2[Z> MC\(16-+':)OR._;\*VT2J@.,65K6?\%S8^N-0+PM.(ILDKY;Q MGA?BW43X\<4=?:+YEH([&K-5GM2E_1E<)V6T6A5T%=4GV"-XL7M[37F4I.4[ M8?7Y_AJ\??,.O %)#CZMV;:,\F4Y&W,15X4^CIL8+GN;CMMON'GY2:*Z7PDOL(E+9[H:/'C#S#P?M$E;0E,*0%I M2T!,Z(M/C$>I^-K7:6LILO,/:O_JVO.T@&@:BO(_[>?0M<(^)EYKI03GM\'Y MQN N,EHD<:0-R^@Y= 4L@2E)!FV2@2,2!C9+8 E,*<&D+<'D1!+N_/T]>B$_ M) <<[!KA"49Z"H9M:*$QM/$IB2X+1-<.J(?E.;); $II0 M>O*WUCN1@ V 0BXOG!XP4&-%()KH*0CWI T7P=O+ZZT01G=ABZ!+30U2223 M1(Z(V #;*H,E-+4,4I) X\_],53$'9)-L->A8M<*34@(>[@H]0(T"X;;@BVW M,7^)4!N@$6'P>EA"4_.5$@3ZKFAI5:+80E/+($4*- J 8V@9= @7XN#P-UIC MA;U@VB,4H500T"PA[D3.41&O@>AT1+?X)-K@C6AJS3PU0@Y>($MH:@&D3H&A M*YY:U3*VT-0R2#4#C4KA&)Y.N[_1 0P/>:JS\GMHBJ300&:A<4N+>H;80E/+(&4.,N_'','/L$,]B/S#]DAC)72HWT-0*3^067[T7$1[^G:_F=8(V *_T[QHK0_^.I0S!9AFB9^@1 M7;T9=_ JN=AEP7N#'V>3'[NC'Q>B!TO1@T^=_C0 KW3U&BM#5X^E&L%F-:(G MZ_?T^N8/&KQL+C9CL)1!V-7("%N51+;0U#)(281/'1OA[D@(0G0XN]18(>+U M-%182A5LEBJ_,\%,<)DPOJ9%M*%;GL3Z**UNP-A"4[.6"@B[FB=AJVK(%IHZ M59=JB)PZ42*:B1*9'G;[&BN$2(\*(%*E$+-*T7+SE7;?##ET?6RAJ060,HBX MFC81JSK(%II:!JF#R*G3)M*=(\$@Z-!48P4G/9=0LG=SBEF?]-&TK^,WPPU> M&Q=;,42*'^)J\D2LBAU;:&H9I-@AITZ>2'>F!$/L'5)48^4%/;>'$"E"B%F$ M]%Y)>WI^,]S@M7&Q&T.DQ"&NAD[$JN:QA::606H>D M"O'-*J2/G$>T^V;DP3?8N=B4\:7<\5V-H'RKHL<6FEH&*7K\4T=0?G>X=,A3 MHXD:F)0AOEF&]/'T>SI]\T<-7C$7&S2^%$"^JZF4;U4*V4)3R[!W'_"I4ZD& M0+D!N=M-::PTW=1X[ZY]T0^MZH<92A"S;V40$5NP>;-@=<+:IGPUX8)RSK'ZYIM&2%I6! M>/^1,?YR4'U ^WC)XG]02P,$% @ 0X.D5N&8W7.2 @ $ < !D !X M;"]W;W)K&ULK55=;]HP%/TK5E9-K;0U7Q H"Y%: MT-0]3$)TW1ZF/9CD0JPZ=F8;Z/[]KITTHI!V?=@+\<<])^<:RXT%.O-*:>^+[.2ZBHOI0U"-Q92U51@U.U\76M@!8.5'$_"H+$KR@37I:Z MM87*4KDUG E8***W5475GQO@366+K7<%W!GM],";6R4K*!SOY4DR]P H"#KFQ#!0?.Y@! MYY8(9?QN.;WNE19X.'YB_^R\HY<5U3"3_ S 9>/0Z(8)>XIW1N$N0YS)EK #L06RA%QN!'/1?B0S*8S" MA#6J,269.1V@R/D<#&5<7V#-_=V@[W,8LND*@+)')\\3\"62M9=3D< MQ?#S>J7=^J\^NPW_H)_?WLJ)KFD.4P^OG0:U R][_RY,@D]]YO\3V;,HXBZ* M^#7VK'-/M0;3>[0-0>((;,/89=%@<)7ZNT,//45AF'1%S[0-.FV#5[7=BQ7C M' KL)#FP'5UQZ!78L P/WCT:78V.!/84!2\)''8"AV\++Y>Z/[OAR5NC(UVG M%>%5OZJD4Y6\315G% /$^PYZ8ML>*.7"='_^/K7)Z2&.Q^-CQ:=5<9 $QZ+] M@WYEOQ78 C9,:,)AC;C@) M[8K=1S#["U!+ P04 " !#@Z16>7KMP&," ##!0 &0 'AL+W=O\Y.VGHIJ[PP$MBG^_[[NZS[])6FP=; 2![K*6RDZ!" M;"[#T.85U-R>Z084G:RUJ3G2UI2A;0SPPH-J&<91=!'67*@@2[UM;K)4;U * M!7/#[*:NN?DU!:G;23 *=H:%*"MTAC!+&U["$O"^F1O:A0-+(6I05FC%#*PG MP=7H %;#F&XD+W=Y 7\^YX\NUM/[+VL[W M/ Y8OK&HZQY,&=1"=7_^V.NP!R">PX"X!\3/ >,7 $D/2'RA76:^K&N./$N- M;IEQWL3F%EX;CZ9JA'*WN$1#IX)PF"U@"VH#; &Y+I7PTKYC7[@QW.G+3JX! MN9#VE*SWRVMV\OHT#9$".WB8]T&F79#XA2 )N],**\L^J0**I_B0$AZRCG=9 M3^.CA'?65]R48*G7)4>WHV@;1:E MX7:_O&,>7<[A7C^0]J4?$Y:B;Q1VCVRP#I/HRC?@,_N4)E0W4/[0=..-GE I ME&42UD09G;VG_C;=R.@VJ!O?=2N-] #\LJ(I"\8YT/E::]QM7(!A;F>_ 5!+ M P04 " !#@Z16=4#O?S(# !H"0 &0 'AL+W=O+J;5W M!E\9;/3.-[%*EE)^MX//V=P++"'@D!J+0/&UA@5P;H&0QH\6T^N6M(Z[WUOT MCTX[:EE2#0O)O[',%'-OZI$,5K3FYEYN/D&K9VSQ4LFU>Y)-:QMX)*VUD67K MC Q*)IHW?6KCL.. .,,.4>L0]1U&SSC$K4/LA#;,G*P;:F@R4W)#E+5&-/OA M8N.\40T3-HL/1N%?AGXFN8N8;I&<7\=.6RG5#)7J&2DQNI3"% M)A]$!MF^OX^R.FW15MMU=!3PEJHS$H=O211$\0"?Q;^[1T?HQ%VH8X<7/X-W M51,"!MTN7(3E8O]Y5!D MFY5'PRO;2G"I*YK"W,.CKD&MP4O>O HGP?NAL+P0V%Z01EV01L?0$]Q?KC2) M%(A<GJ'H8MH_:8=6\1CI]M6G % >+@ &0 M 'AL+W=OSH30J.G.$K2H3/3>G[MNNEX)F*>7LFY2,R9B50QU^903=UTK@0/ M\D%QY&+/Z[@Q#Q-G-,B_NU.C@5SH*$S$G4+I(HZY^G$C(KD:.K[S_,5].)WI M[ MW-)CSJ7@0^LO\3IDCMT )PE@D:2@3I,1DZ+SWKV]8-QN07_%7*%;IUF>4 MI?(HY??LX&,P=+PL(A&)L?(F MF4>>B@\R^CL,]&SH]!P4B E?1/I>KGX7FX18AC>649K_1:O-M9Z#QHM4RW@S MV$00A\GZ/W_:W(BM 1B7#,"; 3B/>SU1'N4MUWPT4'*%5':U0MS-G0C-.C>[$4R4*@>S&6TR3,[]0ENA,J?^#)6* _'Z-PRO,3;V^% MYF&4OD-O4)B@SS.Y2'D2I -7FU R0'>\F?9F/2TNF?835U>(^!<(>YB@+P^W MZ.V;=R]A7)-)D0XNTL$Y+H'3N3#Y9"49)M.27"[0KT]S4QDB0)_#.+M.3M"# M.95.^+I>OOYAL-%'+>+TV[X$UX'0_8%D9+I.YWPLAHYA2RK44CBCGW_R.]XO M0)JD2)- Z*/MG&21T[XHUSB='"=CZ'*$>[T>'KC+/=/38GH*3G^ZNWR!'C17 M&IG:%>CK^Z M/B%=?W]Y=8OIN^#TQ:W3Q:U+7]3,7*A0!OOB@8'[*):)GJ7 +>H5,?;.3(&L M_DLH (96LS;Z1>+]ME"@WT":OF>%T3L1"39 +UB O6[)2];?DF:_*1Y4(/OH MA^ *NDU6<'U0Z/X'(K!R(L"QU2T1J\(^:0L7?'!!4#=3*_@^K/@'D('NDL'S M2JA@==<']>XH*L#(U52PJNG#LMD\%3H %<#8ZA:(E6R_VQHJ@")?-U,K_#ZL M_ =0H;=#!4)(OX0+5H!]4/B.XD(-2460+;-JBBO45,E@,=;&R.=ULM=0@0@U MGRNV:HO]ME0P!M6Y;J9;'AF6[-=7\ ;HA7WT2:_D=8ZM<.(*__JR&M"_Z*R6 M$HZV[O.PXHII:RJO"?>,K8QC6&P/J#RV4WFLUR\QEMA*-(8E^HAW9P7R*[PE MMFJ*8:-Z#GX ?A..MF[56,7%O=;PHPEKC:VT8UC:#^!'?Y_G9"5O9F)UFL Z M?01!*I K%]K$2C6![>LYZ &X4#C:NJU@*^>D-3UOTDC3>ZOK?;*V]V[?N]2% M$BO4!';!QY #1JXFA]584J&Q9R 'X$OA:.N6C!5\TFD-.9IPX,2N&4C%FN'U MY.@>X$N)E6D"&^-CV%%#=B%?2JSB$EAQ[PT<5^,9XDF E,LD9S'(@&-*@Q9 M\T%3*]'4:TM)TR8L.;4Z3RMT_M4EO0':+NDN\\I^YK322JN:VW!UG-NXPN'7 M?3Y6CVEK^M^T"8M.MW[P/E7_F^[VO[NTK&-"K:K3QAK@%;;;D"^1%F95G,&N^@BN M5"!7<\4*,*O:&ULK55=3]LP%/TK5B9- M( V2)BU0ED:BI=.0 %64;0_3'MSDIK%P[,QV6OCWNW;2K+"VV@,O\=>]Q^>< MV-?Q6JHG70 8\EQRH4=>84QUZ?LZ+:"D^E16(' EEZJD!H=JZ>M* MYFXH$M"V,G_"2NZ!+F M8+Y5,X4COT/)6 E",RF(@GSD7?4N)P,;[P*^,UCKK3ZQ2A92/MG!33;R DL( M.*3&(E!L5C !SBT0TOC=8GK=EC9QN[]!_^*THY8%U3"1_ ?+3#'R+CR204YK M;A[D^BNT>AS!5'+MOF3=Q@8>26MM9-DF(X.2B::ESZT/6PF(LSLA;!/"MPG] M/0E1FQ YH0TS)^N:&IK$2JZ)LM&(9CO.&Y>-:IBP?W%N%*XRS#/)/1Z46ZDU MJ4"1>4$5D).FU>1>&G(C4EYGD!$FR$2656VHLU_FY)KQVN!*!S'K((ZNP5#& M]3&"Z0:L;1#FL9"UIB+3L6]0@>7AIRW;<<,VW,,V(G=2F$*3J4!.K_-]5-[) M#S?RQ^%!P#NJ3DG4^T3"((QV\)G\?WIX@$[4_8W(X?7WX+7&,ZUKNN! :I2I MB"F 3'_7S+S8WP'"'GPRXU3L,O#@!K8F7.J*IC#R\-)K4"OPDH\?>F?!YUWJ MWPGLE1?]SHN^0X_V>'&%.C-[Q*S:.:2U8H:A.=/G]D3F2I9OS^24*L'$H)A2=/.FL/,(K MV 0=[[*CV6/@]K!/P"H91L/SV%]MR_PW:' Q''9!#7U_JRJ5H):N6&N2REJ8 MYH9VL]U[<.7*X)OY,;X335G_"],\,GC_EDQHPB%'R.#T'"FIIG W R,K5_L6 MTF E==T"WSI0-@#7&ULM9QK;]LV%(;_"N$5 M0P>LM41)OF2)@<24L !K$,3K^F'8!\6F8Z&2Z)*TTQ3[\:,ND4R+8>SEN 42 M6^)Y#L57.J9>BSE_9/RK6%$JT?]YPESRL9+&A/SE?QP]T1N7G]2U7[_H-99%D-!<)RQ&GRXO>I7L6>4$1 M4+;X*Z&/8NE0>O#N8^%G3*TB_)0JXN>J,>6M!EO$GE'7O\G=8'5'9PSE)1_D2/ M5=NA:CS?",FR.ECU($ORZG?\O1Z(G0#%,0?@.@#O!_@O!'AU@'=H!K\.\ _- M$-0!P:$!@SI@4(Y]-5CE2)-8QI-SSAX1+UHK6O&BE*N,5@.Z+V M)ZGX16W]/"/H_;M?SOM2]:9@]N=UYJLJ,WXALXL^L5RN! KS!5T8XHD]WK/$ M]]4H-$.!GX?B"EN!ZK@_(L_]%6$'>X;^3.WA,[I6X4X9[IH.YVW9P\/#L2$\ MLH<3.G\I7!M+KSFMO)+GO=P=PSGT]Q^J&;J6-!/_F$Z8BNF;F46-/1/K>$XO M>JJ("LJWM#?Y^2=WX/QF4@L21B!A(20L H)I*ON-RKZ-/KF-GZK*(9GZB/BV M23A%3*XH5Z6D*2LFH:W88X6&A)$*-BAAQ:?R=C(,'/7OO+_=E;#;K&RUWRX" MZINF3M"H$UC5^9/).$6YJNA9>S52I9)\0J*Y*$WR!)VCPZ[G=@]O:NW L4-? MP8)7LX:062/#L3J!GE4;_4$S^H,#1I_3+E>;5%!-0A39-1H\G(JLF=(L9\OD)QOE W EMUA[,N/BV>+Q@U MI73*?>^P'Z E9QF*U;XTEDJY=A'7"LJ* T4M-V:ZD_<$?=CT-C M0\/T,8+JGR['SCV_:Y5#T&]?:)JB?]&)ZK ]_]%J0M((*"T$I450-/V\P.UY M@4]0CFLHE-B0- )*"T%I$11-%[MU:%RK-7!(30;U8T!II*9U[L#W*S*HUP)% MTQ5KW1;7;K=,69:Q',TDFW]5M;NNXD;E0 T64!H!I86@M B*I@O<&C9N<(KZ M"^F'3$%I!)06@M(B*)HN=NL/N7:#:+:*%18E0FS47"K)$?T^7\7Y T5+QE&1 M+YFK^9?:(!+OD/NHA-@V#8%/E]?%S^G=I5$&4#<'E$9 :2$H+8*BZ:JWI@_V3U%D00T@4!H! MI86@M B*IHO=&D#8_LC.S2:[IQRQ97W/CSB=TV3[LC\@7C,([ F//A% S2'< M?>+''>/A<.SZ^R4:U/B!HNDBM\8/?L7XJ>KXU%#!+?:!'7JTD*!.#R@M!*5% M4#1=[-80PL-3E&]0KPB41D!I(2@M@J+I8K=>$;8_U73SRNP8K3=[];$\^^-0<&6[3J0]P^X, MU?\]I\/>H:.E/2QK")HU@J+IHK5^E&?WHRJSX[DJ[]=DHSB@SRF!T@@H+02E M15 T7>B=E60G64H&NY8,=C$9[&HRV.5DIW"[O-;M\NR/.'4,D,-+K]\I@N-1 M$/C!?NDUM'/'(Q_O/9= #@2&]B,Z>OQ/84!YK0'EV0VH_[VBS^NNHQH99O%3 M0[NA:;I/[!T]^B(!-9"@:)5(_9W5VQGE#^4Z>X'F;)/+:L5ML[59RW]9KF#? MVW[EGDU=PW;BGH752OT67_WA %5;'XI54"E=JE3.QZ$Z,%ZMQ:_>2+8NUX[? M,RE95KY=% [5\R)I_?% F:OX@P^0]02P,$% @ 0X.D5GDHNDB) M P ?Q0 !D !X;"]W;W)K&ULM9AK;]HP%(;_ MBI554RNMS8U0Z"!2BS>MTKI5I9UA3N73NF@?JULT$@=*?M/':'_O .WIYUQ/V5R0 M9"0ZME2CT+G8PSSCLRQC[Y6,57I'R'>_(,_Q_ IYKUZ.85C(O0HYWO[I&W); MH2_X>P5_+_7S7_>K@/WGIPI#YQ)B\;>*4.;9J/;4KXH3,2-#Z%KJ72" +\ * M/W]RF\[7*EXFS; ALQ)+OV#IU[F'UTR2""7E20G9I!0%W"J>F6\S]=5ORD7H MN;[K=.S%.JB**"?8C,*U.;Z30*,@T*@E<'%Z7C6\6M%;IXM),VS(K 0K*& % M.RB]P"1+DV;8D%F)9;-@V=Q1Z66^P5I1N8WFL;M1>A51?MO;B,*U.;Z3P'%! MX+B6@("'.]6]5 VQ5OC6*6/2#!LR*P%K%7R6NV- MLJ"M]'*C=XL:#YFXM>;YL@7)_B6Q'8:YL]>FM.39D)302*8*SL MG:-C]32>[79E)Y+-TOV? 9.2Q>GA%,@(N Y0]\>,R><3O:54[#F&_P%02P,$ M% @ 0X.D5FT361;H P QA< !D !X;"]W;W)K&ULQ5C;;MLX$/T50KLH6J");KYF;0.-M<46:+!!@W:?:6ED$9%$EZ3L M%MB/+TDIDI78M%T0R(LM2CIG>(YG: YG.\H>>08@T(\B+_GRSH2ZX2YF&[R&!Q!?-_=,CMR6)2$%E)S0$C%(Y\X' M_R;R)PJ@W_A&8,?WKI&2LJ+T40T^)7/'4S."'&*A*+#\VL(2\EPQR7E\;TB= M-J8"[E\_L7_4XJ68%>:PI/E_)!'9W)DX*($45[GX0G?_0"-HJ/ABFG/]B7;U MN^.Q@^**"UHT8#F#@I3U-_[1&+$'D#R' 4$#")X#!D< 80,(SP4,&L! .U-+ MT3Y$6.#%C-$=8NIMR:8NM)D:+>634OWN#X+)IT3BQ.(C)@Q]PWD%Z XPKQC( M'U5P]#8"@4G.WZ$K]/4A0F__?#=SA0RH8&[&!^2S/AP<'X)$9'D%\#-Y3$[;>AYIO M<(1O2[(JN? MN LWOSAC[R_#KECDRRR M1-9S;M Z-]#LX1'G'NI5"M$4I:3$94QPCDC)!:OJ]"WJ7$X0%BA5*;[5*:X6 M&KE:Q15CI%RK!8/P0ZX/;+INDRRR1-9S?=BZ/C3GJS24")13SN&@;35\I.'J M#V>[\&;N=M^+DV]$QBG\IL!1*W!D%/BOR(!=B0R75P**#64JQTBQD0FDTLJ@ MO.8=&I2/3BHWSNTWE8];Y6.CY58CKC=YU<5H8M-UFV21);*>Z]/6]:F%C)V^J$O?\_S1T/.>UZM/]J#W1OM=MUSRC[,^PA1SYZ']TG@%FNDNSQRI;9(NM;^7>SM=_U;IM MPMNRWB9;9(NM;WW061]8*-Z&Y)SJ-<>[V)V7@4_4;[?E]\U[_KI^@_/KUVH# M8)4MLL76M[+K ?S7;0)\JUV 5;;(%EO?^JX1\,V=P)FY.SRY*S;'N=@54\"^ MU*XE\,T]@2[8.F1X?M5:VLLW)MEDBVRQ]?WL&@U__+I5:[5)L[8@I82W7W#C@+8&M]4,Q13*M2U*>'[=WV,/J#/H)] M=O_6OUG61\H=37W"?8?96J8ARB&5E-[U6*XBK#XTK@>";O0QZHH*00M]F0%. M@*D7Y/.44O$T4 ':H_O%+U!+ P04 " !#@Z165I82*?X" [# &0 M 'AL+W=O2S:W/Q+$NT=O?W:_OB.47"I(Y>^FE$I=KUE7MX!CN: 1C T\XQ+$ M$HS@XP?;M[XV9=:E6-B1V$:>;IVGVZ8>G$S_X$D S)-+U11;2?<+NFYTR\"V MG(%KC\SE>B -,-L=#KQ-6+@+&WJ.;]6H#0]>[<%K]7#%,WC&DRL>L)?/\CVG MI-3H;1BQL(5O&=F%]?ON-BIL+>B=KZQ7V^VUVM6__":#O9W*,=EM>[L@U^_O MV&LMX)WV_-J>W\';;-5XZVGN4BSL2&PCNWZ=7?\_=<=^EWEV*19V)+:1YZ#. M<_!OW7'0U%1LO[=UZG9ANJD,MTY=:RWO=#JLG0Y;G9Y+Q7#40ZL7E ER1Y,< MF@P/&_X<-!C>A349;BWIK8;-M4E-C]4X>&PO=V]R:W-H965T!?[_K)&2A#=D>]M+XXYYS MSW%]K^-*JB>= QCR7'"A%TYN3'GINCK-H:#Z7)8@<&NU%)+'>&,P$WBNA=45#U<@5<5@O'=UX7;MDV-W;!3>*2 M;F$-YKZ\43AS.Y:,%2 TDX(HV"RR^@ZMGZGE2R77]2^IFMA9X)!TIXTL6C J*)AHOO2Y/8<>P)^\ PA: M0/"O@+ %A+711EEM:T4-36(E*Z)L-++907TV-1K=,&'_Q;51N,L09Y(KRJE( M@:PM@R8K,)1Q33Z3:[$'8:1BH,EINWR&Z_?K%3D].2,GA ERE\N=IB+3L6M0 MC*5TTS;Q59,X>"?Q#ZK.2>A_(H$7A /PY3A\!6D'#]["73R"[AR"[AR"FB]\ MAV^-Y9'M.!"YZ:R_D*4L2BEP,FBP89P,,]KRN]0E36'A8'UI4'MPDH\?_,C[ M,F3W/Y&],1]VYL,Q]N265GBG#"A&^:#3!A[5<-L7]HGO7<3NOF]@/.:-KDFG M:S*JZP$[@+UFI9(IZ$%E#<&TES6,#H0=A\S]85W33M=T5-E13O]B&AP(&PH*O6%I42(=4A<=)Y[/#X_M. A+;3ZL;M:I MFXVJ^U-9 A\H++7V+@^JG!U?*'R;#E3^):A1Z?;ZHWV;L/=LF="$PP9AWOD, M7:JFWS<3(\NZ93Y*@PVX'N;X1(*R ;B_D=*\3FP7[A[=Y#=02P,$% @ M0X.D5NE^/ RF! NQL !D !X;"]W;W)K&UL MM5E;CYLX%/XK%ENM6FDZ8$/(99-(G=!J*W6T4:?M/JSVP0-.@@HXM4TRL[]^ MS240$L+SG7,^^]B?\71/V7>^(42 IS3)^,S:"+&=V#8/-R3%_)9N M22;?K"A+L9"W;&WS+2,X*HW2Q$:.X]LICC-K/BV?+=E\2G.1Q!E9,L#S-,7L M^8XD=#^SH'5X\#E>;T3QP)Y/MWA-'HCXNETR>6@2.61TN_%S<=H9CE%1"0AH2@@L/S;D05)D@))QO&C!K4: MGX7A\?4!_4.9O$SF$7.RH,G?<20V,VMD@8BL<)Z(SW3_)ZD3&A1X(4UX^0OV M=5O' F'.!4UK8QE!&F?5/WZJB3@RD#AJ U0;H%,#[X*!6QNXOVK@U09>R4R5 M2LE#@ 6>3QG= U:TEFC%14EF:2W3C[.BWQ\$DV]C:2?F=SC!64C 0X' 04 $ MCA,.WH(EDV.+B6> LPB\_Y''6]G;X@9DV^/@3@]:LWX!6(,_!E M0W,N#?C4%C*XPH4=UH'<58&@"X&XX)YF8L/!^RPB4=?>EDDUF:%#9G=("WB/ MV2UPX0U #G(5\2Q^W1PIS .]>4#"2^:=;-RFG]P2S[V =^B.&["4'2:ZO0+^ M^22;@X^"I/Q?%?45MJ?&+J:6"=_BD,PL.7=PPG;$FO_^&_2=/U2\F00+#(%U M./4:3CT=^KPSQ,F!3!5_%8Y?XA0SZ6[N>\,AG-J[8V*TWOH2HW")/'?0N.QD M/&@R'F@S_D0XG\BY-LS3/,&"1'**E,&$,:XF8I(#@1)7O\,PY]'S_)-WAV2B%" ZZC0)M/"^L\5&3 M[4@_XO$C95A0]JRO<"U*WQG2)%A@"*S#WKAA;WS%56=LDE.38($AL ZGT&DE MEV-HW:F!CHO0<[S1Z:2C]]>7'(53=^P/Q^II!QXI3?B3Q4?J\PU-(A"G6T9W MI,A:K12U0'U'CE&TP!1:ET34DHBN6)$UN"EB3:(%IM"ZQ+;Z&FJE9I^B=,]7 M1M\?>Z=%:50GJYVZ[H6B;"4PU&O@!4VWN2"L3;DD@-.5V&.F% 9ZQ-Z#R*AJ M-H769;.5UW!PS>HT*9H71M$"4VA=8ENI#E^BU94DGHMFUW'/5DRC.OUG/KM) MMT(=ZI7Z7ZM5')*3RESE+(M%?J$T#4GMFB23:($IM"Z9[3X CJY9FD;W!T;1 M E-H76+;+0+4JN4^I3D^7\/D%OJT-(TJ?:5/[\)G%-1*>*27\ N:<<'RZMMU MG &I9]>[3#U[GJ3<^X3#L_62_OH5",E;%V>#G$0TCP3U3% \[0Y@7I7 MGKN&ULK53?;],P$/Y7+#.A31IU M?G0%2A)I;<7@85*U,GA /+C)M;'FV,%VFO'?8SMIE$G=V ,OL>]\W^?[+KY+ M6JD>= E@T&/%A4YQ:4P])T3G)5143V0-PI[LI*JHL:;:$UTKH(4'59Q$03 C M%64"9XGWK566R,9P)F"MD&ZJBJH_"^"R37&(CXX[MB^-D>-F#NZ[6R M%AE8"E:!T$P*I&"7XNMPOHQ=O _XSJ#5HSUR2K92/CCC:Y'BP"4$''+C&*A= M#K $SAV13>-WSXF'*QUPO#^R?_;:K98MU;"4_ R_0*] MGBO'ETNN_1>U7>SL(T9YHXVL>K#-H&*B6^EC7X<1()P^ XAZ0/1:0-P#?.5( MEYF7M:*&9HF2+5(NVK*YC:^-1ULU3+B_N#'*GC*+,]F"R)^+C07S\$GMV_-&G M1';(F4>Z>7#(XF@:)N0P3OX?05U29/1$W7BP+V#/A$8<=A863-Y?8:2ZENL, M(VO_:K?2V![PV]).*5 NP)[OI#1'PS7",/>ROU!+ P04 " !#@Z16)O_> M2Y\" 7!P &0 'AL+W=OV+=("2BPN60V5VLD9+[%44[ZR1".(]&4)>:_;X"RS=1RK>W"/5D54B_8 M25SC%2Q /M9W7,WLGB4C)52"L IQR*?6M3N913K>!'PCL!$[8Z2=+!E[TI-/ MV=1RM""@D$K-@-5G#3.@5!,I&;\Z3JL_4@-WQUOVC\:[\K+$ F:,?B>9+*;6 MR$(9Y+BA\IYM;J'S$VJ^E%%A?M&FBW4LE#9"LK(#*P4EJ=HO?N[RL -P@R, MKP-XKP7X'< W1EMEQM8<2YS$G&T0U]&*30],;@Q:N2&5OL6%Y&J7*)Q,;C#% M50IHH1D$FH/$A KT'GV5!7!TG::\@0Q])GA)*)$$!#KO@BY4U.-BCL[/+M 9 M(A5Z*%@C<)6)V)9*FC[ 3CL9-ZT,[XB,+YA?(M]]ASS'\P?@L]/P.:0]W'L) MMU5"^JQX?58\P^?_6U9^7"^%Y.J?]W/(84L9#%/J:IR(&J!KL)*W M;]S(^3#D]S^1O7#O]^[]4^S)]M)KSG(0NEXQ1>I>D>H"@F2 ](%$I2<'&+SK MECXR]+J-K)/ "Z/87N\Z/ SR@W'8![U0'O3*@]5-=2A#L'>Z/Q MOKK#(-<9A=ZPO+"7%YZ49VIJ2%)X>)H[&NU).@P:^T<$1;V@Z*2@!R;5U3)3 MZKC+'?U;ZD-2HX-K&_F!LR?U,,@-O:OQGEA[IVWI)T,U@16I!**0*YQS>:6\ M\K8-MQ/):M/)EDRJOFB&A7JY@.L M9\S)K<3W1S[MS#Y U!+ P04 " !# M@Z16TL*($BP# #U#0 &0 'AL+W=OU_> #QZ,M%_=R#:#(+HX2.;;62J67MBV#-<14MG@*"=Y9 MVVV[W[)BRQ)J,3-M<3$8\4Q%+8"Z(S.*8BOT51'P[ MMASKL>&6K=9*-]B344I7< ?J1SH76+-+EY#%D$C&$R)@.;:FSJ4_U/U-AY\, MMO*@3/1*%IS?Z\IU.+;:>D(00:"T \7+!F801=H(I_%0>%KED%IX6'YT_VS6 MCFM94 DS'OUBH5J/K8%%0EC2+%*W?/L%BO5TM5_ (VG^R3;OVQ]:),BDXG$A MQAG$+,FO=%=P.! XW@F!6PC!312(R[25+S0"[(IX>,J3VY3@)( M],,A\X@FDKSS05$6R??81:ZI #FR%I5/JI[8M2O-&F1CO.!N&VW M4R&?O2#/M+RMYI:!'7K9+;B*]DZ)8,7>/GG?##1;B(*Q[AW3NU MO8>J=N!4")JL8W9';$ MW2NY>[6[]GL6+T 0OBRBF-!,K;E@?R&L@IB;=8V9_I9L<-N;W\C>'/*I'?1< M/@V9'?'IEGRZ+T2U,SP9RK72<[=4DV9^0V9'R'HELMY_#N5>D]R;-/,;,COB MWB^Y]YL,Y5JS\%O:- C/H.2S^!,/AO,8.@B H*),UGAYE15 MH&I=SP75I)D_>$:]/QCV'<\KJ1^!&I:@AK6@;NB.Q5E,DJ? %"<+($S*#$,V M2S&D80!T!WP_I)S]5C1F7QYTIO\ M U!+ P04 " !#@Z16JU0W?-$# !/$0 &0 'AL+W=O%!!Y9HRSU6:\W\C.>Y%XPM7US&4Q% MJ=,DA[DDJLPR+K>WD(K-S*/>KN-SLHJUZ?"#:<%7\ #ZSV(NL>4W*%&20:X2 MD1,)RYEW0Z]O6=\8V!%_);!1>\_$N+(0XM$T[J.9US.,((50&PB.?VNX@S0U M2,CC6PWJ-7,:P_WG'?IOUGET9L$5W(GT[R32\.%\2LB=R+#8"MNE^N"V%?D M4V&:BOSZ#C1/4O5ZZFN9]'$!W:^\BW(D3]\0UF-]!UZ_682^Q1NX%H&(RM,N_YSF9N-^M@]R@(3>PZ/UCY&(NH2M"-U+R? 6X1319;,G^N#G?VNZ;#9<1 M^?H'0I)[#9GZI\N[P4_P;MAX-W0N_1QD:)B*)5D+G>0KDN0:=T0M$>VP*5R!.NJ87/E MA*K2:8W!,8$Z3LB-,CC)9]+PF9SF\X; ]XM$R@*?,8TP;%4_1M5D+@:XBZ][ MEC[);/ER$*:]MMSVGE]JR+_D"^YA5%KR*>]DYD8[Y.2_@2?[P?-K)P(ET;NQ:<:*3ETY.IW"=Z2!KM8RYM')&Z$X*U&L6<$A%\%/G%@^:ZU$)N3R>%&^W<-6L%A[$73@KFE*IS'6SU MB[GUZXRDZ%*RJ^\+A;]WQ\U KNQ-7B%XF>OJNMOT-E\+;JH[YCVX, -6 6; MV4YH_OVN34+3B;(/M=I+@NU[SCW'ON8R*86\4RF )O=YQM742;4N3EU712GD M5'5$ 1Q7UD+F5.-0)JXJ)-#8@O+,]3UOX.:4<2><%#2!)>C;8B%QY-8L,.K/NZ;SK M&8"-^,*@5$?/Q%A9"7%G!I?QU/&,(L@@TH:"XM\6SB#+#!/J^+$G=>J;!6+1K% M,6Y.9:DEKC+$Z7"I171W8GS%Y$SD>-B*VNTZ(=>@M&21QA4;16XYTXJ\.0=- M6:;>FI#EK9JX&G48-C?:YYQ7.?TG<@;D2G"=*O*!QQ _QKNHOS;A'TS,_5;" M*RH[).B^([[G!RU\0;TI@>7K/<%W(RG'\B>?.32Y:P6;:W2J"AK!U,%[HD!N MP0E?O^H.O/"%T62U(\=Q"[JST[.2RIA\ M^X24Y%)#KKXWN>N]@+M^[:[?NO&5PBT6'N,)*4 R$3=I;&<)R ZH5"UZ!K6> MP5_HD>:&-]9[Q3*V+.8]N V]3H"5N&W(/:QS#_^H"&]*T92R%?R/QS2JI8W^ M&ULU9Q=;]LV%(;_"N$!0P>D ML?41Q\D2 W'8=@76Q:B;[6+8!6,QME!)]$C:;H#]^)&2(HJVS%C-,8S>))8L MOD=ZR4/Q,2E=K1G_*N:42O0M33)QW9E+N;CL=L5T3E,B3MF"9NJ;1\93(M4F MGW7%@E,2Y872I.OW>OUN2N*L,[S*]XWY\(HM91)G=,R16*8IX4\CFK#U=D+^6!L:]ZXV-TW>GI,Z()G4HM0=2_%;VE2:*5U'G\6XIVJIBZ8/WS ML_K[_.+5Q3P006]9\E< M!TV70K*T+*S.((VSXC_Y5AI1*Z!TF@OX90%_HT 0["@0E 6"S0CAC@)A62#, MG2DN)?I*%5>7[D[+&*,BAK\C1H ^ ML4S.!7J7132RRW?5^58G[3^?],AW"GXB_!0%W@GR>W[8<#ZW^QOW_NUR3)(,0PD9GD75MZ%N7JPJT5KOYI:] WG))O1O*(? MGE#]N#%YRG??K F/T-^_*TGT4=)4_-/D>PCI.Z08!A*S?#^K?#]SMMD_END# MY8@]UC-*H/_JFTUN.E7;NEF(G>5B^I:W&JIT7-4M @IG6=2O+.KOG=9$-S5Q M@N19-_SI!M_>MO^=?;\ \HG.7? M>>7?>R_Q#HXQGV\?:'GS;9K[;>,TZG M1#3BHSMJ:R,AU3"4FNVXH27O_-@= 2A=@:IA*#7;? -8GI,C]N\(!B^G[JT[ M5FMG#D% GD$@S\U SHZ@T2)0&@)5PU!J]N_@!IS\WI%3W ?%+% U#*5FFV\P MRW>2Q/"=RNV42&7IHM:D9XPDB$SG,5T5]G-U2*.SH Q5JMG]R&!S# 5TW;, ML)'O9B-'ZH_N&CT"A210-0RE9GMI:,H/CIWZH(P%JH:AU&SS#6/Y3HQX=>J# M E2IIG]TJN5^Z&\E_R'0R#=HY+O1:%?R>W4 \/;#?W>HU@9"JF$H-=MFPUE^ M_]C] BAR@:IA*#7;?(-@LTM0:K:7 M!J&"LV.G/BA8@:IA*#7;? -6@7L"Z[6I#TI-H&JX5+.'$.?!CM0W-!3LOUYO ME#?&NX5NK@*]T6O*&Y>2NR5;VP1*1E!JMIT&H8)C+]H+0,$*5 U#J=GF&[ * MW+-6=5.G=?.);;ZH';+S-NH$ M*J!=)X;W0C?O';A.Q%)]&S/^VEH!AP9NJU8.08ZA(K4SN=S@$RG.@ M:AA*S3:S]AC6L9\#&_I%WB8NW(1B9XN4,GU3G$&="M<-')=D[/5=7QXOW'10;DBWR-P \,"E9 MFG^<4Q)1K@]0WS\R)I\W=(#JK1/#_P%02P,$% @ 0X.D5M[N9;#,! M2AT !D !X;"]W;W)K&ULQ5E1;ZLV%/XK%KN: M[I7: J8AH4LBM>F==J55-VK6[6':@PM.0 67=&6S M-<4H*IRRU(:.X]L92G)K.B[FYG0Z)AN>)CF>4\ V68;H\Q5.R79BN=;+Q&VR MBKF9WZSD55W:-$B49SEE"$/,B+;]'$I1!(\_JU K7I-Z=@>OZ#_6@0O@KE' M#,](^E<2\7ABC2P0X27:I/R6;'_#54 #B1>2E!5_P;:R=2P0;A@G6>4L&&1) M7OZBIRH1+0>!T^\ *P>XZW"^Q\&K'+PBT))9$=8UXF@ZIF0+J+06:')0Y*;P M%M$DN=S&!:?B;B+\^'3!2?AP*A,1@1G)1'4P5.3W%.R]]?5)CC'X?(TY2E+V M11C?+:[!YT]?P">0Y."/F&P8RB,VMKG@*%>RPXK/5^Y!@"4U)U7J?J7(>NE&;8 MJK^^H$LDOT"23Z['*1PYP=A^; ?3-?)&WJ@V4D@.:I*#UTD"LI;$>LM=ZW[H M=A@"4R+UZTC](U>N;S)5AL"45 WK5 V-56Z)-&@592 ?-$KA=FU&CM]?MZ.: MXDA+47F@YX2#9R$9* [)*B_WC+U6V*,.*=<-'&>'NI;%.[+NY8 M48RWB\O>$+3NAQ:<(3 E4M=I7N/.D;NS(F H6Z;0U'2U5(]KK$,K*+72H;]3 MZ+U6/NSO4A8 AZC7->_U<+*4\7O]*^>WGOWJ5%+ MKE9A3.>BA7O)&U4YIM#4(!N=XYX?NW>U2NO@=!E"4]/5*"[W#9+KK;T[Z!:Y M-]RM\1ZCX;[.;>22JY48']FY?L^CIMNY'Z& W$8"N7H--+_ZWD]>ZW9P*1I" M4X-L1)0[.G;G&A)05;H^0HZYC1YS]8+LH,X-.D5^.NR\=+M&0;#G/SK8:"FH M%1\?V+G5PFV^L-.X>G;OW"382".HET8SPC@@2["F)-J$,O!'G&]P;SA:I$.+ MTQ2:&G>CM" \HQBK(D3QBG M2)Z)]%(VJKI,H:DY:%07/+;J@D95ERDT-5V-ZH+F5%<%U?Y&[@:#T6YM=ZV@ M'^S6MMTZES,ICO0:F/&6\0725 MY RD>"D@G;.A:#=:'MR5%YRLB[.O>\(YR8IAC%&$J300]Y>$\)<+N4!]?#K] M 5!+ P04 " !#@Z16-LA85)D% #4(0 &0 'AL+W=O$0&;F\%[[SKT\X"\Q1\,CO)LF^A+>>#\F][Y%-\,7#TB2"!2&H+BSR.L M(4DT$H[C[Q)T4/6I \^W3^@?\XO'BWF@$M8\^RK3L@T4$JGI;!.(*49<4O?2J). M G/X OPSP?S1@5 :, MV@'C9P+&9<#X1P,F94!^Z4YQ[3EQ 55TM13\2(1NC6AZ(V<_CT:^6*83Y5X) M/,LP3JW6=,\43Z]<@MS]1.DC"+(>Z)7YOC1X9X M!RFH>/!//'SPC8"W]#L9>5?$=WVO;S@O18OA*7S4$Q[\>+C?$QZ:PS_"PY#X ML[[>&UR,JIP8Y7BCYW(BH5(2OBF3XL]?\3SYI""5?_4I78"-^\%TH;N6>QK! MS0 KF03Q"(/5ZY^\J?NNCV>;8(%-L- 26$.1<:7(V(2^*H3@>UU;)8$G$!&3 M$),W>!<6]^;;/F6,H)R!Y]!(&38<4GV0L6@4Y\:> [YDE"A21[$ 7WO=0;AW I M]078_)SZX6+6(K[;R!^.1BW>+0VKP?NTXGUJY/U.\ @@EF0C>%J1*CM\]]%I M1+Z4S@)L>L[4W&NQV6WCM=N$E@;5('-6D3DS5P2:U)EZ121$!\$40SH%;)E4 M('2";[>X1Q40FO)#IOJ8-79S*;,VP0*;8.&LJ[FK_RI)&RK,*Q7FEZ@08?:R M&(N**I;1$> B.":XK03-),W7QE=D*[CLS7)C9Y=J,>_6ZTF[#@PPM@364 M6%1*+(Q*K+E4>H&*MX'.?*S3*$96NI$C4SN4:0."9=L^XHW8EQ*_Z! _6K1Y MM]EA: FLP;OGU@;"-3+_&[K9_:FTGW*^UQ$8<2YEN41KY+??R6^K?8:VT)I, MGUDUSSR!,KWFN$?'E>#O:YKNWY$U[Z7:"'0QU3;1 JMHH2VTIB1^+8EOTRJ5 M:+9TL8D66$4+;:$U=:D=K&>T8^V)&>\;QON+DAEG1+X#+O9[V;=J5:VBA;;0 MFNS7;M5[P:XVV7^DR:'8+QXC;;@@3,H#S2+HU<2J;RW1SI=^XWEW)62UT] 6 M6E. VN%Z9HO;$B"E3RP]I.@2$FRY-=T.9ES3[6#3\096T4);:$TU:M_KF8UO MQR6D*::_MKIY98H@4_HQ!+;(G0&1V%X6#R-Z-2IZ6YPEM#MT6TY_;1[3Q7K8 M1 MMH37UJ*VS9_;.G\K:HQG78J!#**7)<"V+!T_%"<]J5_'"4S9S;Q>7JUG7 M/OBS\;Q3K[KMV@_9; VL27/MC3VS.>Y?KI)_R&U1CGJYM&J!K:(%5M%"6VA- M<6J[["VL+ERM.F2K:(%5M- 66O,M5.VF?;.;_I]+IQ+]?+$S:3SF*M]FV;3% M@56TT!9:4X#:9/MFD_W\9$VPDA$!+'TX" DISMK_;?XN!]":O^=MB:R:;JMH MH2VT0B+G[.UU"F*;?S8@D?E#IHH7N-71ZM.$]_D+^=;QM7<=%!\8U##%]PZW M5&P9*IC !B'=X0RG35%\0E#L*+[/WY$_<*5XFF_N@,8@= ,\O^%YE YU29]0NGJ4ZFLQ%T*3 M;UF:%]>MN=:+M^UV$<]%QHL+N1"Y^68J5<:UV52S=K%0@D]605G:#CROU\YX MDK>&5ZO/;M7P2BYUFN3B5I%BF659'(G"@QO6Z]]]^RL%\&K/;X/1&/Q=9[4A[*6,JOY<;' MR77+*ULD4A'K$L'-RX,8B30M2:8=_VR@K2IG&;C]_IG.5@=O#F;,"S&2Z1_) M1,^O6X,6F8@I7Z;Z3C[^(C8'U"UYL4R+U?_D<;UOM]LB\;+0,ML$FQ9D2;Y^ MY=\V)V(K( @.! 2;@& GH.,?" @W >%+,W0V 9V7!G0W =V=@# \$-#;!/16 MYWY]LE9G.N*:#Z^4?"2JW-O0RC=FS[K4RWR8F3@]',LL2;;J* M+@C/)V0DI,7/5VUM$I?A[7B3Y,,Z27 @ MR:_+_(*$WFL2>'Z??+F/R*L?FS C-^835P;CEY@@?,:0J?[I![\_>&?Z>2X> M>?JW7)1]M@$?N?&1B"M\X&@E?7DK71AVY)SQO,+X^P?;=)!MHWW5 8*J P2K M/.&!//>F5DV6J2!R2MR=X<\;$TH^:I$5?S7U@76>3G.>LD*^+18\%M]:^H)2%B$A%$DC(%@EO)AI7SHH@_?FY&H5-V\I$04FFM!%LJ, M64H_D5=);JK\DBM!IJ:V_$R^5WVO27MGIE.U7\.Z*U@Y,CX,^_W0\Z[:#]NB M(E-2)(R!8):HG4K4CE/4S\ML+%0IZ[I"%$1+(KYI82[G[\=+Y EN: M=;WRWXYP+]N-(IO&0#!+DEXE2<\IR<=\(K(\F2;Q2@;R?J;$2ILF09RH4P5! MPB(DC")A# 2SQ.U7XO;/- ?J(Y5'PB(DC")A# 2SE!]4R@^N=[9@X$:9*EP6:EPZ53A-Z$R;1"#QH;0(2J-0&D/1[ ZPY2GY MSNOY@U0FQLA,8F[2)/JI45Q_KRCYGM6)T[!W[A[Q5GI.T206D42F,HFJU;;0KY1URA.);+ M\DI5(A;) Q^GXC495V*6?U\C"Z%B?RDWRH MH02E15 :A=(8BF9W@-I5\MVVTF>9OXF72I7>O>%KE<1:3,QX6\P;589:2_Z^ MV>/[31[^2W>DT/8Q%,W6IO::?+?9%'C>FR#PR*W(Y;B(9:.#[V:0K3H4DIE,90-%O;K85*;G.JXQTIVN[XDP7#+D'"KD'"+D+Z/PRIH#:D M@G,94@'4D(+2(BB-0FD,1;,[0&U(!6Y#"EJTH0N8@OT53&'_.M*8+GD27#4Y+1&T'11*8RB:+6'M4P5N MGZKK^60T%P5?"/ZUT5=T TX6$6I306D42F,HFBUL;5,%Y[*I JA-!:5%4!J% MTAB*9G> VJ8*W#85=."%>EC!_I(FWV_XM81,2J$TAJ+9VM8V5^"VN?[K0G W M_F0]+_?UW-42:FM!:0Q%L^_3J&VMT.F:')U$N<-/OOW"W1C') K:#@JE,13- MEK VID*W,77/*Y[YT*H=06E M15 :A=(8BF9W@*T[Z,YX"QWV'CJH>06E42B-A?NW"X:][F5832]L;6M7*G2[ M4NX)U.&)DQM[LH[0U550&H726+COM?D'-*S=I]!M^-R(C4%VH]06D1E$:A-';DM#=.\FT):YLI=+H8 MPWL1+U5B!L3)>J5;HXQ0 PE*BZ T"J6Q#&ULK551;YLP$/XK%JNF5FH+@21T'4%JTE6=M&I5TVX/TQX< MN 2K8#/;2;I_O[,AC"0TW<->$ONX[[OO.\PY6@OYK#( 35Z*G*N1DVE=7KJN M2C(HJ#H7)7!\,A>RH!JWV"+3)N#&44D7, 7]5-Y+W+D-2\H*X(H)3B3,1\Y5 M[W(2FGR;\(W!6K76Q#B9"?%L-I_3D>,909!#H@T#Q;\53"#/#1'*^%5S.DU) M VRO-^PWUCMZF5$%$Y%_9ZG.1LZ%0U*8TV6N'\3Z%FH_ \.7B%S97[*NJ?OM1]: &0IQO@UP!_%]!_!1#4@, :K9196]=4TSB28DVD MR48VL["]L6ATP[AYBU,M\2E#G(XGHBB8QM>B%:$\)1/!->,+X D#1<[(%\ > M851I>0KJ-=]%*X\??^!G[!PGOJ#PG0>^4^)X?=.B9_#OR+>BXID:$G,J%G%7N2NVB;V,WH73%/M3)^RFO$9I(DOJQ!"]^S#1@Z65NG!5+H-HEO'(@J@K1* MLC0=)UI(PXL\[BU=D=LM*FE@Z9C?:BW]/UBPX65G[%(*[:LK3( @4 ME!@8!'UV, >E A')^'W@Y%W* #Q=']D_1>_D924\S*UZE!764_Z!LPK68JOP MWNX_P\'/*/"55OGXR_;MW?&8LW+KT>H#F!1H:=JO>#[4X030'[X"R Z +.IN M$T65"X&BR)W=,Q=N$UM81*L13>*D"7_* SHZE83#8FZUEDA51L^$J=C<&I1F M Z:4X-DU^X8U./8%R#B[,VT3A&I>+0"%5/Y=GB#)"&1)>4@Y:U-FKZ3\*ER/ M#?KO699F@[_A":GO+&2=A2SR#?[+PD+Z4EF_=/'V37^]FQ)EKAZP-T#:QL5<6:4SBLJ9W M"5RX0.=K:_$8A%GI7KKB#U!+ P04 " !#@Z16\<61 'T" #Z!0 &0 M 'AL+W=OW.226'/L8+OM^/>], MC6CAOA'23(/:VO8B#$U>8\/,J6I1TDFI=,,LF;H*3:N1%1[4B#".HK.P85P& MZ<3O+70Z46LKN,2%!K-N&J9_S5"H[308!;N-&U[5UFV$Z:1E%2[1WK8+358X ML!2\06FXDJ"QG :7HXML[/R]PU>.6[.W!A?)2JD[9WPJID'D!*' W#H&1K\- M9BB$(R(9/WO.8+C2 ??7._8//G:*9<4,9DI\XX6MI\%Y 66;"WLC=I^Q#Z> M-XXO5\+X+VQ[WRB ?&VL:GHP*6BX[/[LOL_#'H!X#@/B'A _!HR? "0](/&! M=LI\6'-F63K1:@O:>1.;6_C<>#1%PZ5[Q:75=,H)9]-,-0VW]"S6 ),%9$I: M+BN4.4<#KR%CIH8%XP50Q[NXD.*;P@RW@4YBY\E MO&+Z%)+1*XBC.#F@)_M[>/R,G&3(>>+YDG_*^9R;7"BSU@C?+U?&:JKT'X>2 MV%TR/GR)Z_X+T[(:YW&PO=V]R:W-H965T29C3?2?5#%P"&_!*\U NG,*:Z=EV]*D!0?24K*/'*1BI! M#0[5UM65 KIN@@1W \]+7$%9Z>3SYMR=RN>R-IR5<*>(KH6@ZNDC<+E;.+[S M?.(+VQ;&GG#S>46W< _F6W6G<.1V*FLFH-1,ED3!9N%\\*^7?F@#FAG_,MCI M@V-BK3Q(^<,._EDO',\2 8>5L1(4_QYA"9Q;)>3XV8HZW9HV\/#X6?VOQCR: M>: :EI)_9VM3+)S,(6O8T)J;+W+W-[2&8JNWDEPWOV37SO4?@.K+CPX#G@BY/0:,7OJ+7 MLSQH:*\0#2O8Y_%:5W0%"PA/=1)V;Z)R;: A\ M'Q4?@*=I%O; 1Z4G@L<=>'P./!X"CT_ ,\^+>N"CTA/!DPX\.0>>#($GI^!! M&/3 1Z4G@J<=>'H./!T"3T_ XRR,>^"CTA/!LPX\&P7_6@ 6\8T!-82?G>#[ M49;Z/?[1%2;RSSK^V3B_-)3;^L9$+0AOJDI%GYJZ-.1H=KHA7N3W'8VN.=&1 M[[U45F_4TRUH?4V8J&H#:ZR&N#F@S6 E] :>Z+3_1(\O-]7.0:/@G[%C-T4^ M<+:EM@,;KNG^B9,H",.T;V5TJ:E67FJY/UH]\V6M%-Y9I)*JZ26QI>%]=]C* MO-1\_FK-;U7(*V)JE5:M:J/[<.T#RZY"5;!9K:3M/]^MJ&$+H1-4?H%;/ ]YUS[ M<+FC-1>/,@50Z"G/F!P[J5+%F>O*)(6 --OYESD1.FI6+BR$$!F-BC/ M7-_S>FY.*'/BD7UV+>(17ZJ,,K@62"[SG(CG<\CX>NQ@Y^7!#5VDRCQPXU%! M%G +ZKZX%GKFUB@SF@.3E#,D8#YV/N.S6!\T2 2)CS[06"3X&@FS6J.9@4W51FMQE)E3N55"OZ4Z3L43GN=4Z6U6 M$A$V0Q/.%&4+8 D%B3ZB;RH%@9JKCJ>@",WD"3I"E*&[E"^ECI0C5VD]!M5- M*N[SDMO?P7U%Q"D*\ ?D>WZ [F^GZ/CHY#6,J].I<_+KG'R+&^S W=;\\ZM> M@BX5Y/)7F\X2+VS',Q_&F2Q( F-'.U^"6($3OW^'>]ZG#K5!K3;H0H_ON")9 MFZ@RK&?#S,>UBGN^'XW<50M96).%G61VIX]OP'RO^IC1$%WI T_E29N $BIJ M"(B\(&P7$-4"HG\)"*W1[O09 9DK$&W4T18UQD/<3MVKJ7N=U%-8Z2)4&$=8 M!3EAR[FN"DMA=L(<*TVTY\E" %C;M GKI-C3*?TZ@?Z!?=U_ [6#6NU@/U\/ MMLXVZ.^RU; F&Q[.U\,M 7X4!NT"L+KM4=&C;%&A^D6EUVVA13+NG__T+RB3*8*YCO%/3'XFR@RHG MBA>V:WG@2O= =ICJKA.$6:#?SSE7+Q/3"-5];/P'4$L#!!0 ( $.#I%9W M4Q9LK@0 $XA 9 >&PO=V]R:W-H965T\!)N I$GZ*-!BC=D3L37=,;DG5Y15F%,$A[2!#&R'FIC\]$W[5Q0Y/@K M)#M^=(WRIBPH?Z.XW4C:HJ."21KSX1;LRKZ&A9<8% MC4NQK$$<)OM__+U\$4<"R6D66*7 .A6T/Q"T2D'K4D&[%+0O%=BEP+ZT#9U2 MT+FTA&XIZ!;!VK_=(C0.%G@T8'2'6)Y;TO*+(KZ%6D8D3'(KS@633T.I$Z,7 M$F%!5FB&F7A#7QA.."Y,PM$OZ)E*QV019FC,.8D744CX9_24+!_0G4,$#B-^ M+[-]G3OH[M,]^H3"!'T):,9QLN(#7VI]2Z'7Y7NI7H[U_G(FEA+XC-D#:IF?D658K8;Z3-7R.4FEW"CD9H/< M4),P'@M5L MTZYLTU;11S/\)L=-P9&@UBE@^11H.^K:LN?9'IOA/(]M&(=,M2#;59!M99"?QT_H/_0\?1DW15*I MO3:2D# '$N9"PCQ(F \$JUFC4UFC),P'@M5LTZUL MTU7V*"^2B-DR0'(B*QA2) LB=J\I*R ML&N]! ES(&$N),R#A/G=LU''^FC0Z546Z5TPZ,P)DVLB-$8SN8(FC,FN9B[H M\K7)!4K>M2Z A#F0,!<2YD'"?"!8S2[]RB[]&PU$?4C;0,(<2)@+"?,@83X0 MK&8;TSCLSQBW6<&HN=<:!Y3FE+3C#KECG"P5W(9,IG&:RP.MF ]%JP?[:#/. M5 ;[SRQ>R,C2->(!E@6@-).S$,QEQW$7)F7B?6.TE>"KHPU)BU>USV!@U;[0S:IYOX?5.>_)I0Z;N M67_OJ*MX=;!!-S-!:3X4K1[LPP:IJ=XA_8%YA7TV)/=[MMVV3P/>D,_L]]KY MV5$]YJ"[GJ T[\+&^E"E[J.I'YW>QH1MBH-YCI8T2\3^@*Q*K0[_Q\61]TGZ MQ'QTS89T+_]8H#@M/N#W7QH\8[8)$XXBLI9%&0]=V3"V/[S?WPB:%F?'"RH$ MC8O+@. 587D&^7Q-J7B_R0NH/J$8_0]02P,$% @ 0X.D5L,D&ULC53?;],P$/Y7K" A MD$;3INV&1AJIW?BQAXVJ%?" >'"3:V+-L8-]:<=_S]E.0Y&ZPDOBL^^^^[[S MG=.]-H^V D#V5$ME9U&%V%S'L+P^H'_PVDG+AENXT?*;*+":16\C5L"6MQ)7 M>O\).CV>8*ZE]5^V#[Y7DXCEK45==\'$H!8J_/E35X>C@"1Y)B#I A+/.R3R M+&\Y\BPU>L^,\R8TM_!2?321$\I=RAH-G0J*PVP-)948+]A'T*7A325R+AE7 M!?N,%1BV@AVH%MB="@W@*OF&/7!CN"LG>W4+R(6TK],8B8X#C?,N]2*D3IY) M/6;W6F%EV7M50/%W?$PR>BW)0$ZZ;E.SJ%G#VV]H6O36T9SZ^Z(V':5L*>X!K2I1W,#O,N2--Z=(##M"4S_ MDX#QY>(;"6<93/_)(#YJ[QI,Z8?8LERW"D.G][O].S$/X_''/3PRU"*E4)9) MV%+H<'!%>4T8W&"@;ORP;#32Z/EE16\=&.= YUNM\6"X!/WKF?T&4$L#!!0 M ( $.#I%9R>4$1IPD %A+ 9 >&PO=V]R:W-H965TIWE\K8,JMUFDY:_7\MU\70UB2;/'WS*'E9U\\%T?KE-'^2=K#]O M;TOU;GKTLLPV,J^R(@]*>7\U^3%Z=R-F38/6XM^9?*I.7@=-5[X4Q=?FS8?E MU21L$,FU7-2-BU3]>Y0WOG[V_H^V\ZHS7])*WA3K M_V3+>G4U$9-@*>_3W;K^5#S]2QXZ%#?^%L6Z:O\&3P?;6M> MM+%I6ZO>9'DSC'=UJ;[-5+MZ?BK;)&N@S1?!K_4*UD& MG^2CS'4/P??O99UFZ^H']>WGN_?!]]_]$'P7 M9'GPZZK85KGL;/D MN;/7!'7X,2W?!C1Z$Y"04 N>F_[-"0*''F-/6W\4C_U)%$^C_-^?E'GPH9:; MZG^VV.U],[OOYNY_5VW3A;R:J-N[DN6CG,S_^I>(AW^S==R3,RT,[!@&AGF? M_UK4*N7*?:)9TV3?GK?MFWGI<1Z1F5!#\'C:!].*QI2%1RL-7'P$%Z/@;HJJ M#HK[8%L6R]VB?H9I0[EW%)]+0$:R/,PRZ5)- M:EE5EVDSG=L0)R:6F,YF'<0VJR2,[8C%$;$X%]BZ5*.^*YN;<[%*RP=[@@KC MZDDW.TT31SAG1W"S'K?-0N5GU492,7L31 54?E,D7]F1S@P8E'.6=,":5HPF MA-L!1R%P38A"_JFHJN"^+#;/8(O<3@NAF M%:7A"3_H^(!3(YQ4?RX4CP;76='(X'0K=W6VL,-$_0P>%4_>]%X#14?)F F* M"H#!H?#D30\%<'^$DW^/!#4YG;*9D:"F%2',(?DB8/\(I_]?CG1_&#,[1-3) MX!'QY$U?O(%\(.&(R4E0;3(T%+Z\Z:$ A4)PA7(^.8FI+VR+)HL9LFHB($,( M+D,&K)N(J2\L"R>+E7OE1$"%$%R%#%D['5SIBPP6&4@M9H)QAV B(!X(ODY^ MX?KIX%4;X81U19[%BA'N"B^P/,%9OO<*BI@T;BRA+#:N/ 6:)SC-OVP51U8.'/!! 8E.(.:%!7\ M/^@I^W'7@V=K3][T0 !7D]F8Q.65PWUYTW<\@<,IO@5PGKBHN:BWR'Z+%2+[ M*1 KQ8EU &]1DSHMO&6QVIL"T%&?:WJQ%3=8,NQ Q$QT?L"KMLW8>2EK4I,]& MOA@QM9@))6 !6>F:7>L#^&;7L M.H>TNTMIL^(N=J7 KO0%[-I[UP)W/OCX: Q^I<"O=$Q^I5[YU9W+0ZXE7F4F:QFK08N,"",3*QB!69CG4 MI08-6*PB&G)7&@"O,C^\RBR\R@3MRD";610*XB!6!L3*_!$KLRQ(H^[JVFKD M2@&@58;3ZDU1*A)):_N]XY4U?7G3>PJLR<9D3>:5-7UYTVL\@#7C/JPY]+Z/ M+I$DX& M6:XF!!G4Z3='H$T&O2"$AT9QC<5.T)/J!ATK,&U\AFD'3%VQ9?>7<@.IQ2IQ MG:G'0+ Q3K"W/:J4O!XB^_*F]_>D."L><0J+43$P.!2>O.FA !D0]]G(QH1_ M;#*[L$Q6ECWKT+E=-# M ?(C[E._AB:L689F2UA+29L[83EH HYK C-A>V^NX)Z'CI,O;WH<0&3P:,24 MY:B"&1P*3][T4(!FX;AF.9^RW%0@W4T+U$0'!@*%GZFE,W*U7WD([G;PZ(Q1 M7,=!_/ QB^NX5UWDRYL>"M!%_+7%==RV9V',K18K;&X]*5C'Q4J??.VO$/"+ M#1ZZ,2KP..@D/F8%'OT?X"X'CXPG;WH 0#N3@)!*^)@)[%4X^?*FA^+DUX7X!E./!+84 M8IQ6.!VZ85H1%CH*RQ(0,\G9WQ*>2^#>0@&_U.!Q&V,?* $5E8QY#)5XU4R^ MO.F_-@7-)%Y;O"%Z%6]8K-S%&P)TC,!U3(\4[K?M@%]GZ*#Y\J9'!424("/F MK_ JIWQYTT,!RC%V MD 3H+3'FR9KPJK%\>=-# 1I+O/9D35AJ44UA8;%R"PL!ND?@NN>E6=U;;>#7 M'SR88^PIB9,G.HQY ">\"B]?WO10@/ 2KSV .SC@9]2&:651&].39Q1M9/G0 M/KJI"A;%+J_W3_ Y?GI\/-2/[4.1.I]?1^]N]@]Y C?[9TY]3,N'+*^"M;Q7 M+L.WS=JLW#_&:?^F+K;MDY"^%'5=;-J7*YDN9=D8J._OBZ)^?M-&PO=V]R:W-H965T XY[A'].V;-OSX?FP_\ />+SCXK5<,2;1USPKRDFP MDG)]$X9ELF(Y+2_YFA5JRPL7.95J42S#1;B7F\8YC0M@NFX6O!RDV>4_'O'N%],@I[N$_M[3/U6#5X-YIB6;\>S/="%7D^ Z0 OV0C>9 MG//=KZP9T$#S$IZ5U5^T:_;M!2C9E)+G3;'J09X6]7_ZM1'BH$!QW 6X*<#' M!?T3!7%3$!\7#$\4])N"?J5,/91*!T(EG8X%WR&A]U8T_:,2LZI6PT\+?=R? MI%!;4U4GIT]LJ8ZBO$"?&5\*NEZE"78]=X M_.6$):?*K='$[1D05[S^"=[^"/]G#MNMZRAY*?KR=%.N:<(F@;K^E$QL63#] M\8=HV/O%I1 DC #!+/7ZK7K]BAZ?4,_AA+^^J'W0O61Y^;=+R#ZDD) P @2S MA!RT0@Z\IZ$MI%!"7J U$WJ=NO^X=/3RNNI8PT853-\KM]/>Y3 :A]M#?8!: MM/09MOH,N]KTSJ6*E])5%4@8 8)9ZEVUZEU!V_0*4DA(& &"64)>MT)> ]OT MVN$L?=L\=-;,VVA7?8!@ECZC5I]15YO.7*IX*5W/+D@8 8)9ZD4]\SC:@S9J M0P32$I1&H&BVF@H?V17?[.=10*BV2)A(Q+N:EGBE,:+Z7R> M0=((%,V6T$2(* 9W+6B> *41*)JMIHD4D?=!^QS7]EVN/;[)^IOM+-)[I(7( MQ(7(GQ< %*(U T6TV3,"+O<_%+-&<)2S=TN?L[?=.?F3G4PXT:4#1;#E- MUHA&X 8Z@- )%LU_JFNB!O0_C9QC8#^PJ)BB--#3[XC(PCP2V2"918'^B M>,/!SE=2?F1GF4"S!Q3-EM-D#XRA'8Q!8P@HC4#1;#5-#,'^3QEG.#AVO9TZ MO@?[F^TLTGND"VS2!?:GBS<<['Q;Y4=V/N= A7"E :@:+9 M9/L;[:S2.^1(&*3(&)_@GC# MP9^=TRI ,P0HC4#1;#E-UH@C: ?'H%$#E$:@:+::)FK$_L\Q%(7N75^H!2M23#>L%R=?5]+MG+M5EH/JY8G3!A-Y!;7_A7.X7 M= /ME,_I_U!+ P04 " !#@Z16,.]:N#P# "(#0 &0 'AL+W=O=>" GFYS0%(N\L*4NPD$,6Z#QE@/T,E,2Z91A=/<$1T=QA-C=C[I"N M1!P1F#'$5TF"V=,$8KH9:::VG;B-@E"H"=T=ICB .8C[=,;D2"]9_"@!PB-* M$(/E2!N;%U/35H LXE<$&[YWC50J"TH?U.#:'VF&4@0Q>$)18/FWABG$L6*2 M.OX5I%KY3 73=2.*$.X= +HHX0]^ !@RG8>3A M&&'BHY\B!(9N80UD!>B:Y)91I?^\G>5H\;0'1&-I)'1Z"0)',?\DX^[GE^CT MY!,Z01%!=R%=<?:'6KFD-^G()UOLY'$?9'=LQRJB*N$XIKM,H;IP MDR]'K:Q&Y&M7H"6R2I+=,LGN.QJQVV896B*KE*%7EJ'W1B/F^,Z>Q:Q.WSGP MX7&0W;.M>AOV2VG]1FE7-U?C.D&-J-?6OB6R2H*#,L'!.UIPT&896B*KE,$T M=CNS\483%@05@QG]P8$+:Z(^T2M,563=+: M)6F]HQD+\K9*T1);M12[%L5LW/I?8D?[:-_MV<:1'8^CK)[3-P_\J._UM'+G M#;)6GR./KHC(^[QRMCQ.C+,F^F!^HHX96:^\H\G/*+*+"R+"40Q+26F<]^0K MPO*V/Q\(FF:=\X(*V8=GEZ$\*@%3 ?+^DE*Q':@'E(&UL MK55=3]LP%/TK5QF:0 *2)J4@UD8JK3:0F(;HV!ZF/;C);6+AV)E]V\*_G^V$ MJ$PIV@,OB3_N.;GGV/=FO%7ZT92(!$^5D&82E$3U91B:K,2*F5-5H[0[*Z4K M1G:JB]#4&EGN094(XR@:A17C,DC'?NU.IV.U)L$EWFDPZZIB^OD*A=I.@D'P MLG#/BY+<0IB.:U;@ NFAOM-V%G8L.:]0&JXD:%Q-@NG@MV1F# M4[)4ZM%-;O))$+F$4&!&CH'9UP9G*(0CLFG\:3F#[I,.N#M^8?_LM5LM2V9P MIL1/GE,Y"2X"R''%UH+NU?8:6SUGCB]3PO@G;-O8*(!L;4A5+=AF4''9O-E3 MZ\,.8##< XA;0/R_@*0%)%YHDYF7-6?$TK%66] NVK*Y@??&HZT:+MTI+DC; M76YQE"ZPL&="Q_ %5:%97?*,"6 RAV]4HH9[W*!<(]S(YL8XZT_@5LGBY-;Z MG\/4&"0#R^<=!IC:"P6'AEZ9F&4X"6X(&]0:#]..'P2CZU*?MG*4TZI8EG3_8H M_>=PS7'/'?@U71K2MC!_]UF1O*<5[T3VRHIA9\7PS4/WPH47SKSP/K4-Q#D;MSFUT9?5$7Y^==5)-?N%/>KK7:(BBX-"!P97'1Z?E9 +II5\V$ M5.TK?JG(]@\_+&V'1^T"[/Y**7J9N";2_3/2OU!+ P04 " !#@Z16+'_M M2 <# $#0 &0 'AL+W=O6K7QMM)-;"J 2L6AD\(!Z\]+:QYMC!=ML-\>.QDS1K1I;2*7MI MXN2>DWO//:EO^FLN;F4$H-!=3)D<6)%2R9EMRS""&,L3G@#3=^96:VTN7)%% MI,P%.^@G> %34-?)1.B57;#,2 Q,$LZ0@/G >N>>#5W/ -*(;P36X_D5\&$]? 1A ??*<%N+4RCD%0IY*9]?KY!6(N%"$;8H:?'CDPY' M8P6Q_%E5:L;=JN8V[^B93' ( TN_A!+$"JS@]2NWX[RM*KPALI(,?B\<> M;%I>562&[*1(\[^Q"GROY?;MU7;R.X)*2;6*I%JU25TF('#:D[Q+E7:KY=BW M!PV1E_;[/H9*@]8R[]N9ALA*(O0*$7HO:-!>DS(T1%:2X;20X?39!CW] MQWM>J^,_,NB.H%)2KO.PU3O[6_0+7P%%YX2;[1XGL%0DK-ZT:\GW;4]3;&4I MMJ8>]P6-FI,W)45#;&4I'L8;MW9LJ#5K#MW>M+O=WB.S[@C*TK*W1E3S?:"' MO 5A$E&8:Y1STM5F%]G(G2T43]*I]88K/0.GIY'^3 %A O3].>=JLS"#&PO=V]R:W-H965T MO5:KZ;8L*AT#YIN_4G>W"E"P291;= M0;T[[AA[:_"3P$;NC)&)9,;YLYE\B_M.S3@$%")E&+#^6\,(*#5$VHV_.:=3 M;&F N^,M^YV-7<YF#M04I8]H]?+W0H78H6#GN ;)(RU9C,#J[Y%:[T(,^?D00G]E&B<"@94GQ3,(D#ZS*&1 M@)@H])U+"1+=H '#]%42B?@<55E>AJ PH?)*8QX?0G1Y<84N$&'H1\)7$K-8 M]EREO35[NE'NV3#SS#O@60/=^R;&;[-^ ME*7BG&3A.O8!;1<"MRH G@J^)O9+,>8RR\TAM MS2F+-B-K[7A0>Q/K48NPTJ&/'I8SD>UIYQ?:^97:/0FBX(;/YZ52^4>E.FH1 M5N[_4:G.1+8G5;N0JETIU2#^HV]:W?THI#A2"2!X(5*9MPMO*V*9B.VC(AZU M""L]^ZB(9R+;$[%3B-@YM3@!BZO+4N>$LO3>YGU9JO3HH^*=B2P3S]UIR5(0 M"]L+2Q3Q%5-9RU*L%NWVP':9;]:']>XHZYK_TV0]O&Y(]!T@$86YIJS=MO4Q M$UE?G$T47]K&;\:5;B/M,-&?$B",@7X^YUQM)V:#XN,D^ =02P,$% @ M0X.D5G@6[[.G P <1, !D !X;"]W;W)K&UL MO5C;CILP$/T5BU95*W47S"VP39"VB:I6:J757MJ'J@\.F22H@%/;2;I_7QM8 M+@E!C63E)<$P&.(;[-,L*>/T)* M]Q,#&R\W[I/56J@;9C3>D!4\@'C:W#$Y,FN419)!SA.:(P;+B7&+;Z8X4 E% MQ/<$]KQUC125.:6_U>#+8F)8JB)((18*@LB_'4PA3162K.-/!6K4"O"0S)QRF-/V1+,1Z8@0&6L"2;%-Q3_>?H2+D*;R8IKSX1?LJUC)0O.6" M9E6RK"!+\O*?_*V$:"5@]T2"7278_YO@5 E.0;2LK* U(X)$8T;WB*EHB:8N M"FV*;,DFR=4R/@@FGR8R3T2WJ5Q(DL> I"70E,$B$>@KY1PXND(/Y>(BND2? MDKP(NX<8DAV9IS)@_HQN5TF^0E,B8$5EX-L9")*D_)U,?GJ8H;>OWZ'7*,G1 MXYIN.*V06>8@]0!$.O+$ MI3RIE*=/D7(:OYA&O89V41@Z[MC!SDXM)JH#@6WIN .4IAN&8-<]!4U MF'CN,FD"ZW#T:H[>1?WKZ11&$UA'&+\6QK^,?\MIO)8U1T[@'?CW.,@.@M#O M]^^HIC :I.#@*]]",_+<6]=@[KDKI0FL0S.H:087M7"@4QA-8!UAPEJ8\#(6 M#H_)H0NN*TW19>+!7T6?E:IZV3QT;'WBY)\CUPQ->;AHB/-P1A;@P,I)]+Z([ M8+WE#4*&AJ8^C'*O5F90LS-9YB#J,^D;8*LDY2F$ITZSKD=P4 MK#S?*0>";HHCDCD5@F;%Y1K( I@*D,^7E(J7@3IUJ4_9HG]02P,$% @ M0X.D5L_)7]H7 P !@P !D !X;"]W;W)K&UL MM59M;]HP$/XK5E9-G=22$"C0#I *;%JEM:OZLGV8]L$D![&:V)GM0/?O=W9" M!C2-BI1]P?;EGN=\C^WCAFLAGU0$H,ES$G,UN2B70T(*2V/4]K^BDS'C,.M)"I+$BK_3" 6ZY'3 M=C:&.[:,M#&XXV%*EW /^C&]E;AR2Y:0)< 5$YQ(6(R;.^8R MIPJF(O[!0AV-G(%#0EC0+-9W8OT%BGS.#%\@8F5_R3KW[9\[),B4%DD!QATD MC.Q[H@;Y2ZF2KY;F4/ERLIXE M,R5\->[C#5EMB_+2Q2L]=C(]*S,]J\WT&X=3C;6=/(#$DD-M@9X AP73E1G7 MTAV:<9-DLX;(=F3LE3+V_NYY_//MY]1J#W;?W+1V MDX?JV1#9CIZ#4L]!,U6MEN;0ZSAX4;+:GK=7UAH*F*OB;G5("6".IM-4>&RE[>'V[%-L]!]-WB'CG_B2X6V+88&47JN/M4?F76>^T"*U M?=A<:.SJ[#3"1AVD<<#O"R'T9F$"E*W_^"]02P,$% @ 0X.D5EQ4))8I M P 3!( T !X;"]S='EL97,N>&ULW5A=:]LP%/TK1EU'"Z-.XL6-UR2P M!0J#;13:A[T5)983@2QYLM(E^_73E1SGH[JEZ\/6S"&U=(_.N4?2=64RK,U: ML-L%8R9:E4+6([(PIOH0Q_5LP4I:7ZB*28L42I?4V*Z>QW6E&M&Q%ZKL4$P^?9[\4^*8].6^M!M^:H4\ M\12C#0(TFV7+A(XCQ\VVC(>%DMO=28@/6'5:LNB!BA&94,&GF@.KH"47:Q_N M06"FA-*1L65ATW4A4O_R<-?WH&(:G9)+I5UNG\'_G3;##X!-#PQR(5J#/>(# MXV%%C6%:7MN.&^R"CZ"H:=^M*^MPKNFZV^N3+<'=;)*ITCG3;9HNV83&0\$* ML*/Y? %WHZH80&-4:1LYIW,EJ?.P830-*SMC0MS"X_2]V-->%3O[UH%=DVW3 M&FJ:7L9W0']7S6OORKY,-ZKX@S*?EG8ZTO6A0-F-9@5?N?ZJ: U@ZEU$7K^N^L\9Y)I*G9-V]I_S:O\8L?)Y;^R[/ZK'!H.>FS.R-=NLG\,)M-C M,'D4-3EXE2;CYFS<.8#WCM\V&L%KSHA\@YR#$.@%L,UFJ;(ZJ3P">\/]I0D29:%$<#"#I($0^!I MQ!', 7C D"1QY^#!>11OSJEX^_O1^#=02P,$% @ 0X.D5I>*NQS M$P( L !?3T\$MP>:4#M.*2VBZD8_1!2:5K5N %(MB6/:(7->=I3W;+T]!;X"O.DQQ M0FE(2S,.\,W2?S+W\PPU1>5*(Y5;&GC3Y?YVX$G1H2)8%II%R=.B':5_'15?FUJ[Z6#E_?I\-'+E"AKI?C-KT.'(PMA&^O#1+D=N;4%6 M;@7@FWJ4C,?%J)%*#RXO]M>:V1'^8#R47AD=&F/#LX*M^WD\?A1ORJD752O_ M;3IHW]UO/2FKJ>#B:[ \]@O2K?-<\C MY)-\<6V+ER^/,H!,!\4X7'"AK//M&>WU96!\@W#R[M/&FT^J]F!OI(=;:S9K MI9?Q,N$N1N@VVG[8O^XZ\=S^GVXTBX4JX<:4FP:TW_6CA3H":K=2:S<06C8P M'5R;-[!B)I<0;RK\REVUNT$?R%!WV7,5#MB[JF7DY-$5: >5".^)V2*( L" MLN@3,D.0IP3D:9^0.8(\(R#/^H0L$.0' O(#+^0-N-*J=6P79B&N-DYI< XO MXF-J%1_SXEU)IUP$FUEPX=3V#"%UZ,9-TTB,20C7_6R<$^O@Y_E*VHZ@*:],F,5RI]_ ^7B2$TJ+!Z.']]*^0HB M:A!SC$F99<*LED]26?$LZS"\]R#=QD*+C/$HITR8I;*/:-H8T8F;T'VJ[M!1 M,IDPVV3N3?DZ?)&[5; )5W+RO[.#\LB$6R1RK4*@+EI.#$5Y8\(NCJ91/R9& M7.J"/GR(ZT&7"CHC2WECPBR.Q]@81G4FK?\FGJP,(]MNH#!A0KDC87;'');Q MC%_%+9BEE>M5W'NU'?K%K\!B3,H=";,[/M:UV;93.'Q=7%NHU&[%[HQU0FY3 MF!WR&-9INRG]QH:_H;@.$EEVX2B-),P:(4.$3NB?4!I)F#5R($00)T]1=>X7 MS$BY)&%VR?M8X2 B)92$62ADT- =;#@XZ MY9J$V37'HH@?H#A/0@DG918.Z6UQ@C$IX:3,PB&]V,TZ4=))F:5#>#&..\8D MLV/,^CFR@18GN\F$,2G]I#WH9RANE)/+I84EQJ0,E#(;Z#!FG$@V1)=XW4PI M"Z7,%CJ,^2"ME3$_CS$I"Z7,%CJ,^6\KQJ0LE#);Z##F#&Q[-;Q73"D+IO+L0A'B?"*0MES!:B(R2<9YS.?3D5#3MDG9[8/C8EK&@K*/@6S?8X_G HKYKW! MF)1]BEXS<9V"(,H^!;=]2$P\A0K*/@6S?6A,/(4*RD(%LX5HS,X4HBQ4,%N( MQCS%F&2U&G>! 8EYAC$I"Q7,%J*2V4/Q$6-2%BJ8+41CXI*<@K)0P5Y[<.!Y M],\$+*Y1I"QTVEIHU)[L+B\J6"@-U4/X"1?:P_^HG%D17W9%7%D>"RX6F[J^ M#FU?]&&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'/-VDMNHT 4A>&M6"P@N.Z+I!5G MU)-,HVP .>6'8AM$T4JR^[:<@7U0#WH2<4:H0%S^T0<"'E_RH1WWW:GL]GU9 M?!X/I[*J=N/8_ZKKLM[E8UONNCZ?SDRR[GL5J\ML,VCZNJ_CQ< M=Y?ZLDEWY\G5XOEM50W/;ZFJYPX2")+Y@Q2"=/X@@R";/\@AR.@GH+@=Z" M>@N!WH)Z"X'>@GH+@=Z">@N!WH)Z"X'>@GH+@=Z*>BN!WHIZ*X'>BGHK@=XZ M>5E"H+>BWDJ@MZ+>2J"WHMY*H+>BWDJ@MZ+>2J"WHMY*H+>AWD:@MZ'>1J"W MH=Y&H+>AWD:@MTU>=A/H;:BW$>AMJ+<1Z&VHMQ'H;:BW$>AMJ+<1Z.VHMQ/H M[:BW$^CMJ+<3Z.VHMQ/H[:BW$^CMDX^5!'H[ZNT$>COJ[01Z.^KM!'H[ZNT$ M>@?J'01Z!^H=!'H'ZAT$>@?J'01Z!^H=!'H'ZAT$>L?D9Q,"O0/U#@*] _4. M KT#]0X"O1O4N_E)O?ZMJ(\ M_0502P,$% @ 0X.D5J3(PW?Z 0 M"@ !, !;0V]N=&5N=%]4>7!E M&ULS=K+3L,P$ 707ZFR18WK)P_1;H ML. '3#*E49/8LETH?X^3 A(( M*E"1N)M&K>VY$X]T5CV_>_84)]NN[>.\6*7DSQB+U8HZ&TOGJ<\K2QTM)LV3:ZV^>?8N'Y>!&IC,;G8;1RR MYH7UOFTJF_(Z>^SK3RG3UX0RGQSWQ%7CXU'>4+ O$X:5[P->S]T\4@A-39-; M&]*U[?(NMFU93,\MQ7)_B2]Z=,ME4U'MJDV7CY31![)U7!&EKBUW18_V)Z=\ MP[3[Y ?GCV7V!>:=M\'YF"<6Z/=Q;R,93D]]+D0A-?M?\3TQES[X_6B8=DWU M#[/S]3ZYL![G$=GX./R./\[XO?XO^Q @?4B0/A1('QJD#P/2QS%('R<@?9R" M],%G*(V@B,I12.4HIG(45#F*JAR%58[B*D>!E:/(*E!D%2BR"A19!8JL D56 M@2*K0)%5H,@J4&05*+)*%%DEBJP215:)(JM$D56BR"I19)4HLDH4626*K I% M5H4BJT*15:'(JE!D52BR*A19%8JL"D56A2*K1I%5H\BJ4635*+)J%%DUBJP: M15:-(JM&D56CR&I09#4HLAH460V*K 9%5H,BJT&1U:#(:E!D-2BR'O^GK/?. MK?\X?GR6G6WZMWPV_EEQ\0)02P$"% ,4 " !#@Z16!T%-8H$ "Q M$ @ $ 9&]C4')O<',O87!P+GAM;%!+ 0(4 Q0 ( M $.#I%:!$2#K[P "L" 1 " :\ !D;V-0&UL4$L! A0#% @ 0X.D5GI6 M]DC&!0 P1X !@ ("!#@@ 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0#% @ 0X.D5L:@D$ !X;"]W;W)K M&PO=V]R:W-H965T&UL4$L! M A0#% @ 0X.D5M1WK_VE @ O@8 !@ ("!MB< 'AL M+W=O0HHP" "L!@ & @('! M,@ >&PO=V]R:W-H965T&UL4$L! A0#% @ 0X.D5I). MV P[! (0D !D ("!@S4 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 0X.D5D6$SLSB P G@D !D M ("! 4D 'AL+W=O&PO M=V]R:W-H965TE3 !X;"]W;W)K&UL4$L! A0#% @ 0X.D5C<"VI%8!0 OPT !D ("! MQE8 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ 0X.D5D\G&PO=V]R:W-H965T6! !X M;"]W;W)K&UL4$L! A0#% @ 0X.D5DX=@'@H M P M@< !D ("!X8H 'AL+W=O&PO=V]R:W-H965TJ4T%0H ,T< 9 " @=Z1 !X;"]W;W)K&UL4$L! A0#% @ 0X.D5DKC>*;^!0 FP\ !D M ("!*IP 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ 0X.D5C =H*RT @ 7@8 !D ("!)J@ M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M0X.D5B'JQ,QZ!0 C T !D ("!J+, 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 0X.D5GEZ[&PO=V]R:W-H M965T&UL4$L! M A0#% @ 0X.D5M)?LW#& @ 20< !D ("!2ML 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 0X.D M5FT361;H P QA< !D ("!;.D 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 0X.D5NE^/ RF! NQL M !D ("!F/, 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 0X.D5M+"B!(L P ]0T !D M ("!G/T 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ 0X.D5K]RD0@!!P @4( !D ("![0&PO=V]R:W-H965T&UL4$L! A0#% @ 0X.D5H*1 MROHI!P %D< !D ("!^!D! 'AL+W=OBML%; " "'!P &0 M @(%8(0$ >&PO=V]R:W-H965T&UL4$L! A0#% @ 0X.D5O'%D0!] @ ^@4 !D M ("!K"8! 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ 0X.D5G=3%FRN! 3B$ !D ("! M.# ! 'AL+W=O&PO=V]R:W-H965T4$1IPD %A+ 9 M " @:,W 0!X;"]W;W)K&UL4$L! A0#% M @ 0X.D5@NWEJ'I! _BD !D ("!@4$! 'AL+W=OG"%4 # "H# &0 M@('N3P$ >&PO=V]R:W-H965T&UL4$L! A0#% @ 0X.D5L_)7]H7 P !@P !D M ("!0U&PO5= 0!? 0!X;"]W;W)K8F]O:RYX;6Q02P$"% ,4 M" !#@Z16VW:P<3$" ")*0 &@ @ $Q9 $ >&PO7W)E;',O M=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4 " !#@Z16I,C#=_H! "T* M$P @ &:9@$ 6T-O;G1E;G1?5'EP97-=+GAM;%!+!08 ..3@!. %D5 #%: $ ! end XML 85 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 86 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 87 FilingSummary.xml IDEA: XBRL DOCUMENT 3.23.1 html 235 268 1 false 91 0 false 9 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 Sheet http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows Condensed Consolidated Statements of Cash Flows Statements 8 false false R9.htm 0000009 - Statement - Condensed Consolidated Statements of Cash Flows (Parenthetical) Sheet http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsParenthetical Condensed Consolidated Statements of Cash Flows (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 - 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 24 false false R25.htm 0000025 - Disclosure - Revenue Recognition (Tables) Sheet http://www.codexis.com/role/RevenueRecognitionTables Revenue Recognition (Tables) Tables http://www.codexis.com/role/RevenueRecognition 25 false false R26.htm 0000026 - 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 26 false false R27.htm 0000027 - 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 27 false false R28.htm 0000028 - Disclosure - Fair Value Measurements (Tables) Sheet http://www.codexis.com/role/FairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://www.codexis.com/role/FairValueMeasurements 28 false false R29.htm 0000029 - Disclosure - Balance Sheets Details (Tables) Sheet http://www.codexis.com/role/BalanceSheetsDetailsTables Balance Sheets Details (Tables) Tables http://www.codexis.com/role/BalanceSheetsDetails 29 false false R30.htm 0000030 - Disclosure - Stock-based Compensation (Tables) Sheet http://www.codexis.com/role/StockbasedCompensationTables Stock-based Compensation (Tables) Tables http://www.codexis.com/role/StockbasedCompensation 30 false false R31.htm 0000031 - Disclosure - Commitments and Contingencies (Tables) Sheet http://www.codexis.com/role/CommitmentsandContingenciesTables Commitments and Contingencies (Tables) Tables http://www.codexis.com/role/CommitmentsandContingencies 31 false false R32.htm 0000032 - 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 32 false false R33.htm 0000033 - 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 33 false false R34.htm 0000034 - Disclosure - Description of Business (Details) Sheet http://www.codexis.com/role/DescriptionofBusinessDetails Description of Business (Details) Details http://www.codexis.com/role/DescriptionofBusiness 34 false false R35.htm 0000035 - Disclosure - Revenue Recognition - Disaggregation of Revenue (Details) Sheet http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails Revenue Recognition - Disaggregation of Revenue (Details) Details 35 false false R36.htm 0000036 - Disclosure - Revenue Recognition - Contracts with Customer (Details) Sheet http://www.codexis.com/role/RevenueRecognitionContractswithCustomerDetails Revenue Recognition - Contracts with Customer (Details) Details 36 false false R37.htm 0000037 - Disclosure - Revenue Recognition - Narrative (Details) Sheet http://www.codexis.com/role/RevenueRecognitionNarrativeDetails Revenue Recognition - Narrative (Details) Details 37 false false R38.htm 0000038 - Disclosure - Revenue Recognition - Revenue Recognized During Period (Details) Sheet http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails Revenue Recognition - Revenue Recognized During Period (Details) Details 38 false false R39.htm 0000039 - Disclosure - Revenue Recognition - Performance Obligation (Details) Sheet http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails Revenue Recognition - Performance Obligation (Details) Details 39 false false R40.htm 0000040 - 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 40 false false R41.htm 0000041 - Disclosure - Investments in Non-Marketable Securities - Narrative (Details) Sheet http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails Investments in Non-Marketable Securities - Narrative (Details) Details 41 false false R42.htm 0000042 - Disclosure - Investments in Non-Marketable Securities - Carrying Value of Non-marketable Equity Securities (Details) Sheet http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueofNonmarketableEquitySecuritiesDetails Investments in Non-Marketable Securities - Carrying Value of Non-marketable Equity Securities (Details) Details 42 false false R43.htm 0000043 - Disclosure - Fair Value Measurements (Details) Sheet http://www.codexis.com/role/FairValueMeasurementsDetails Fair Value Measurements (Details) Details http://www.codexis.com/role/FairValueMeasurementsTables 43 false false R44.htm 0000044 - 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 44 false false R45.htm 0000045 - Disclosure - Balance Sheets Details - Inventories (Details) Sheet http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails Balance Sheets Details - Inventories (Details) Details 45 false false R46.htm 0000046 - 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 46 false false R47.htm 0000047 - Disclosure - Balance Sheets Details - Goodwill (Details) Sheet http://www.codexis.com/role/BalanceSheetsDetailsGoodwillDetails Balance Sheets Details - Goodwill (Details) Details 47 false false R48.htm 0000048 - Disclosure - Balance Sheets Details - Other Accrued Liabilities (Details) Sheet http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails Balance Sheets Details - Other Accrued Liabilities (Details) Details 48 false false R49.htm 0000049 - Disclosure - Stock-based Compensation - Equity Incentive Plans (Details) Sheet http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails Stock-based Compensation - Equity Incentive Plans (Details) Details 49 false false R50.htm 0000050 - Disclosure - Stock-based Compensation - Stock Options (Details) Sheet http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails Stock-based Compensation - Stock Options (Details) Details 50 false false R51.htm 0000051 - Disclosure - Stock-based Compensation - Restricted Stock Units (Details) Sheet http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails Stock-based Compensation - Restricted Stock Units (Details) Details 51 false false R52.htm 0000052 - Disclosure - Stock-based Compensation - PSUs and PBOs (Details) Sheet http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails Stock-based Compensation - PSUs and PBOs (Details) Details 52 false false R53.htm 0000053 - 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 53 false false R54.htm 0000054 - Disclosure - Capital Stock (Details) Sheet http://www.codexis.com/role/CapitalStockDetails Capital Stock (Details) Details http://www.codexis.com/role/CapitalStock 54 false false R55.htm 0000055 - Disclosure - Commitments and Contingencies - Narrative (Details) Sheet http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails Commitments and Contingencies - Narrative (Details) Details 55 false false R56.htm 0000056 - Disclosure - Commitments and Contingencies - Lease Cost (Details) Sheet http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails Commitments and Contingencies - Lease Cost (Details) Details 56 false false R57.htm 0000057 - Disclosure - Commitments and Contingencies - Other Lease Information (Details) Sheet http://www.codexis.com/role/CommitmentsandContingenciesOtherLeaseInformationDetails Commitments and Contingencies - Other Lease Information (Details) Details 57 false false R58.htm 0000058 - 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 58 false false R59.htm 0000059 - 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 59 false false R60.htm 0000060 - Disclosure - Commitments and Contingencies - Other Commitments (Details) Sheet http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails Commitments and Contingencies - Other Commitments (Details) Details 60 false false R61.htm 0000061 - Disclosure - Related Party Transactions - Molecular Assemblies, Inc. (Details) Sheet http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails Related Party Transactions - Molecular Assemblies, Inc. (Details) Details 61 false false R62.htm 0000062 - 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 62 false false R63.htm 0000063 - 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 63 false false R64.htm 0000064 - 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 64 false false R65.htm 0000065 - 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 65 false false R66.htm 0000066 - 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 66 false false R67.htm 0000067 - 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 67 false false R68.htm 0000068 - 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 68 false false R69.htm 0000069 - 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 69 false false R70.htm 0000070 - Disclosure - Restructuring Charges - Narrative (Details) Sheet http://www.codexis.com/role/RestructuringChargesNarrativeDetails Restructuring Charges - Narrative (Details) Details 70 false false All Reports Book All Reports [dq-0542-Deprecated-Concept] Concept RevenueFromRelatedParties in us-gaap/2022 used in 2 facts was deprecated in us-gaap/2023 as of 2023 and should not be used. cdxs-20230331.htm 4 [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 14 fact(s) appearing in ix:hidden were eligible for transformation: cdxs:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceGoalsAchievedSuperiorLevelSharesEligibleToVestMultiplier, cdxs:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceGoalsAchievedTargetLevelSharesEligibleToVestMultiplier, cdxs:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceGoalsAchievedThresholdLevelSharesEligibleToVestMultiplier, cdxs:ShareBasedPaymentAwardPerformanceGoalsAchievedThresholdLevelSharesEligibleToVestMultiplier, us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 - cdxs-20230331.htm 4 [ix-0514-Hidden-Fact-Not-Referenced] WARN: 3 fact(s) appearing in ix:hidden were not referenced by any -sec-ix-hidden style property: us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 - cdxs-20230331.htm 4 cdxs-20230331.htm cdxs-20230331.xsd cdxs-20230331_cal.xml cdxs-20230331_def.xml cdxs-20230331_lab.xml cdxs-20230331_pre.xml cdxs_20230331xex311sp.htm cdxs_20230331xex312sp.htm cdxs_20230331xex321sp.htm pfizercodexisenzymesupplya.htm westernalliancebridgebankt.htm http://fasb.org/us-gaap/2022 http://xbrl.sec.gov/dei/2022 true true JSON 90 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "cdxs-20230331.htm": { "axisCustom": 0, "axisStandard": 34, "baseTaxonomies": { "http://fasb.org/us-gaap/2022": 667, "http://xbrl.sec.gov/dei/2022": 29 }, "contextCount": 235, "dts": { "calculationLink": { "local": [ "cdxs-20230331_cal.xml" ] }, "definitionLink": { "local": [ "cdxs-20230331_def.xml" ] }, "inline": { "local": [ "cdxs-20230331.htm" ] }, "labelLink": { "local": [ "cdxs-20230331_lab.xml" ] }, "presentationLink": { "local": [ "cdxs-20230331_pre.xml" ] }, "schema": { "local": [ "cdxs-20230331.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://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd", "https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd", "https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd", "https://xbrl.sec.gov/country/2022/country-2022.xsd", "https://xbrl.sec.gov/dei/2022/dei-2022.xsd" ] } }, "elementCount": 501, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2022": 12, "http://www.codexis.com/20230331": 5, "http://xbrl.sec.gov/dei/2022": 5, "total": 22 }, "keyCustom": 29, "keyStandard": 239, "memberCustom": 44, "memberStandard": 43, "nsprefix": "cdxs", "nsuri": "http://www.codexis.com/20230331", "report": { "R1": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "0000001 - Document - Cover Page", "menuCat": "Cover", "order": "1", "role": "http://www.codexis.com/role/CoverPage", "shortName": "Cover Page", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000010 - Disclosure - Description of Business", "menuCat": "Notes", "order": "10", "role": "http://www.codexis.com/role/DescriptionofBusiness", "shortName": "Description of Business", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000011 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies", "menuCat": "Notes", "order": "11", "role": "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPolicies", "shortName": "Basis of Presentation and Summary of Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000012 - Disclosure - Revenue Recognition", "menuCat": "Notes", "order": "12", "role": "http://www.codexis.com/role/RevenueRecognition", "shortName": "Revenue Recognition", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000013 - Disclosure - Net Loss per Share", "menuCat": "Notes", "order": "13", "role": "http://www.codexis.com/role/NetLossperShare", "shortName": "Net Loss per Share", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000014 - Disclosure - Investments in Non-Marketable Securities", "menuCat": "Notes", "order": "14", "role": "http://www.codexis.com/role/InvestmentsinNonMarketableSecurities", "shortName": "Investments in Non-Marketable Securities", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueMeasurementInputsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000015 - Disclosure - Fair Value Measurements", "menuCat": "Notes", "order": "15", "role": "http://www.codexis.com/role/FairValueMeasurements", "shortName": "Fair Value Measurements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueMeasurementInputsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "cdxs:BalanceSheetsDetailsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000016 - Disclosure - Balance Sheets Details", "menuCat": "Notes", "order": "16", "role": "http://www.codexis.com/role/BalanceSheetsDetails", "shortName": "Balance Sheets Details", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "cdxs:BalanceSheetsDetailsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000017 - Disclosure - Stock-based Compensation", "menuCat": "Notes", "order": "17", "role": "http://www.codexis.com/role/StockbasedCompensation", "shortName": "Stock-based Compensation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000018 - Disclosure - Capital Stock", "menuCat": "Notes", "order": "18", "role": "http://www.codexis.com/role/CapitalStock", "shortName": "Capital Stock", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000019 - Disclosure - Commitments and Contingencies", "menuCat": "Notes", "order": "19", "role": "http://www.codexis.com/role/CommitmentsandContingencies", "shortName": "Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000002 - Statement - Condensed Consolidated Balance Sheets (Unaudited)", "menuCat": "Statements", "order": "2", "role": "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited", "shortName": "Condensed Consolidated Balance Sheets (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RestrictedCash", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000020 - Disclosure - Related Party Transactions", "menuCat": "Notes", "order": "20", "role": "http://www.codexis.com/role/RelatedPartyTransactions", "shortName": "Related Party Transactions", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000021 - Disclosure - Segment, Geographical and Other Revenue Information", "menuCat": "Notes", "order": "21", "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformation", "shortName": "Segment, Geographical and Other Revenue Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CreditLossFinancialInstrumentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000022 - Disclosure - Allowance for Credit Losses", "menuCat": "Notes", "order": "22", "role": "http://www.codexis.com/role/AllowanceforCreditLosses", "shortName": "Allowance for Credit Losses", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CreditLossFinancialInstrumentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000023 - Disclosure - Restructuring Charges", "menuCat": "Notes", "order": "23", "role": "http://www.codexis.com/role/RestructuringCharges", "shortName": "Restructuring Charges", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000024 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies)", "menuCat": "Policies", "order": "24", "role": "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies", "shortName": "Basis of Presentation and Summary of Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000025 - Disclosure - Revenue Recognition (Tables)", "menuCat": "Tables", "order": "25", "role": "http://www.codexis.com/role/RevenueRecognitionTables", "shortName": "Revenue Recognition (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000026 - Disclosure - Net Loss per Share (Tables)", "menuCat": "Tables", "order": "26", "role": "http://www.codexis.com/role/NetLossperShareTables", "shortName": "Net Loss per Share (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000027 - Disclosure - Investments in Non-Marketable Securities (Tables)", "menuCat": "Tables", "order": "27", "role": "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesTables", "shortName": "Investments in Non-Marketable Securities (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000028 - Disclosure - Fair Value Measurements (Tables)", "menuCat": "Tables", "order": "28", "role": "http://www.codexis.com/role/FairValueMeasurementsTables", "shortName": "Fair Value Measurements (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000029 - Disclosure - Balance Sheets Details (Tables)", "menuCat": "Tables", "order": "29", "role": "http://www.codexis.com/role/BalanceSheetsDetailsTables", "shortName": "Balance Sheets Details (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:InvestmentsAndOtherNoncurrentAssets", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000003 - Statement - Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical)", "menuCat": "Statements", "order": "3", "role": "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical", "shortName": "Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "us-gaap:PreferredStockParOrStatedValuePerShare", "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "INF", "lang": "en-US", "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000030 - Disclosure - Stock-based Compensation (Tables)", "menuCat": "Tables", "order": "30", "role": "http://www.codexis.com/role/StockbasedCompensationTables", "shortName": "Stock-based Compensation (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000031 - Disclosure - Commitments and Contingencies (Tables)", "menuCat": "Tables", "order": "31", "role": "http://www.codexis.com/role/CommitmentsandContingenciesTables", "shortName": "Commitments and Contingencies (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000032 - Disclosure - Segment, Geographical and Other Revenue Information (Tables)", "menuCat": "Tables", "order": "32", "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables", "shortName": "Segment, Geographical and Other Revenue Information (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000033 - Disclosure - Allowance for Credit Losses (Tables)", "menuCat": "Tables", "order": "33", "role": "http://www.codexis.com/role/AllowanceforCreditLossesTables", "shortName": "Allowance for Credit Losses (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unitRef": "segment", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000034 - Disclosure - Description of Business (Details)", "menuCat": "Details", "order": "34", "role": "http://www.codexis.com/role/DescriptionofBusinessDetails", "shortName": "Description of Business (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R35": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000035 - Disclosure - Revenue Recognition - Disaggregation of Revenue (Details)", "menuCat": "Details", "order": "35", "role": "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "shortName": "Revenue Recognition - Disaggregation of Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i94b546c47e154ad6a89d04134820c4e4_D20230101-20230331", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerAssetGrossCurrent", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000036 - Disclosure - Revenue Recognition - Contracts with Customer (Details)", "menuCat": "Details", "order": "36", "role": "http://www.codexis.com/role/RevenueRecognitionContractswithCustomerDetails", "shortName": "Revenue Recognition - Contracts with Customer (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-3", "lang": "en-US", "name": "us-gaap:CapitalizedContractCostNetCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "us-gaap:ContractWithCustomerAssetCreditLossExpense", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerAssetCreditLossExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000037 - Disclosure - Revenue Recognition - Narrative (Details)", "menuCat": "Details", "order": "37", "role": "http://www.codexis.com/role/RevenueRecognitionNarrativeDetails", "shortName": "Revenue Recognition - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:ContractWithCustomerAssetCreditLossExpense", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerAssetCreditLossExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000038 - Disclosure - Revenue Recognition - Revenue Recognized During Period (Details)", "menuCat": "Details", "order": "38", "role": "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails", "shortName": "Revenue Recognition - Revenue Recognized During Period (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000039 - Disclosure - Revenue Recognition - Performance Obligation (Details)", "menuCat": "Details", "order": "39", "role": "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails", "shortName": "Revenue Recognition - Performance Obligation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000004 - Statement - Condensed Consolidated Statements of Operations (Unaudited)", "menuCat": "Statements", "order": "4", "role": "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "shortName": "Condensed Consolidated Statements of Operations (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "-3", "lang": "en-US", "name": "us-gaap:InvestmentIncomeInterest", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "if5b16b9af4a34166a99b4ea0b859ab10_D20230101-20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000040 - Disclosure - Net Loss per Share - Shares Not Included in Computation of Diluted Net Loss Per Share (Details)", "menuCat": "Details", "order": "40", "role": "http://www.codexis.com/role/NetLossperShareSharesNotIncludedinComputationofDilutedNetLossPerShareDetails", "shortName": "Net Loss per Share - Shares Not Included in Computation of Diluted Net Loss Per Share (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "if5b16b9af4a34166a99b4ea0b859ab10_D20230101-20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PaymentsToAcquireOtherInvestments", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000041 - Disclosure - Investments in Non-Marketable Securities - Narrative (Details)", "menuCat": "Details", "order": "41", "role": "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "shortName": "Investments in Non-Marketable Securities - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "cdxs:NonMarketableDebtSecuritiesWithoutReadilyDeterminableFairValueAnnualAmount", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "INF", "lang": "en-US", "name": "cdxs:NonMarketableDebtSecuritiesWithoutReadilyDeterminableFairValueAnnualAmount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000042 - Disclosure - Investments in Non-Marketable Securities - Carrying Value of Non-marketable Equity Securities (Details)", "menuCat": "Details", "order": "42", "role": "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueofNonmarketableEquitySecuritiesDetails", "shortName": "Investments in Non-Marketable Securities - Carrying Value of Non-marketable Equity Securities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "iae7212fe870f4a4fad20ca68d68c9398_I20230331", "decimals": "-3", "lang": "en-US", "name": "us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "idce6af8f36514746ad33de714153930c_D20230101-20230331", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossWriteoff", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000043 - Disclosure - Fair Value Measurements (Details)", "menuCat": "Details", "order": "43", "role": "http://www.codexis.com/role/FairValueMeasurementsDetails", "shortName": "Fair Value Measurements (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "idce6af8f36514746ad33de714153930c_D20230101-20230331", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleAllowanceForCreditLossWriteoff", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000044 - Disclosure - Balance Sheets Details - Cash and Cash Equivalents (Details)", "menuCat": "Details", "order": "44", "role": "http://www.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails", "shortName": "Balance Sheets Details - Cash and Cash Equivalents (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-5", "lang": "en-US", "name": "us-gaap:MoneyMarketFundsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:InventoryRawMaterials", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000045 - Disclosure - Balance Sheets Details - Inventories (Details)", "menuCat": "Details", "order": "45", "role": "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails", "shortName": "Balance Sheets Details - Inventories (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:InventoryRawMaterials", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000046 - Disclosure - Balance Sheets Details - Property and Equipment, net (Details)", "menuCat": "Details", "order": "46", "role": "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails", "shortName": "Balance Sheets Details - Property and Equipment, net (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000047 - Disclosure - Balance Sheets Details - Goodwill (Details)", "menuCat": "Details", "order": "47", "role": "http://www.codexis.com/role/BalanceSheetsDetailsGoodwillDetails", "shortName": "Balance Sheets Details - Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R48": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AccruedProfessionalFeesCurrentAndNoncurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000048 - Disclosure - Balance Sheets Details - Other Accrued Liabilities (Details)", "menuCat": "Details", "order": "48", "role": "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails", "shortName": "Balance Sheets Details - Other Accrued Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AccruedProfessionalFeesCurrentAndNoncurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i3f72519364ba4a8fbb10088fb1ab444d_I20230131", "decimals": "-6", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000049 - Disclosure - Stock-based Compensation - Equity Incentive Plans (Details)", "menuCat": "Details", "order": "49", "role": "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails", "shortName": "Stock-based Compensation - Equity Incentive Plans (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i3f72519364ba4a8fbb10088fb1ab444d_I20230131", "decimals": "-6", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i035c727a0d624446b0157744a278fbec_D20230101-20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromRelatedParties", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000005 - Statement - Condensed Consolidated Statements of Operations (Unaudited) (Parenthetical)", "menuCat": "Statements", "order": "5", "role": "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnauditedParenthetical", "shortName": "Condensed Consolidated Statements of Operations (Unaudited) (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i035c727a0d624446b0157744a278fbec_D20230101-20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromRelatedParties", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i796c87c1e15646a8a6214a4329225421_D20230101-20230331", "decimals": "2", "first": true, "lang": "en-US", "name": "cdxs:PercentofVotingInterestsThresholdtotriggerhigherexerciseprice", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000050 - Disclosure - Stock-based Compensation - Stock Options (Details)", "menuCat": "Details", "order": "50", "role": "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails", "shortName": "Stock-based Compensation - Stock Options (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i796c87c1e15646a8a6214a4329225421_D20230101-20230331", "decimals": "2", "first": true, "lang": "en-US", "name": "cdxs:PercentofVotingInterestsThresholdtotriggerhigherexerciseprice", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i9e9d09b843934863ba6261ec2c338417_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000051 - Disclosure - Stock-based Compensation - Restricted Stock Units (Details)", "menuCat": "Details", "order": "51", "role": "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "shortName": "Stock-based Compensation - Restricted Stock Units (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i9e9d09b843934863ba6261ec2c338417_D20230101-20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5e0999763dc04d0faef40483a6648cb6_I20230331", "decimals": "INF", "first": true, "lang": "en-US", "name": "cdxs:SharebasedCompensationArrangementbySharebasedPaymentAwardNumberofInstallments", "reportCount": 1, "unique": true, "unitRef": "installment", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000052 - Disclosure - Stock-based Compensation - PSUs and PBOs (Details)", "menuCat": "Details", "order": "52", "role": "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "shortName": "Stock-based Compensation - PSUs and PBOs (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5e0999763dc04d0faef40483a6648cb6_I20230331", "decimals": "INF", "first": true, "lang": "en-US", "name": "cdxs:SharebasedCompensationArrangementbySharebasedPaymentAwardNumberofInstallments", "reportCount": 1, "unique": true, "unitRef": "installment", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensation", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000053 - Disclosure - Stock-based Compensation - Stock-based Compensation Expense (Details)", "menuCat": "Details", "order": "53", "role": "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails", "shortName": "Stock-based Compensation - Stock-based Compensation Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i796c87c1e15646a8a6214a4329225421_D20230101-20230331", "decimals": "-3", "lang": "en-US", "name": "us-gaap:ShareBasedCompensation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "0", "first": true, "lang": "en-US", "name": "us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised", "reportCount": 1, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000054 - Disclosure - Capital Stock (Details)", "menuCat": "Details", "order": "54", "role": "http://www.codexis.com/role/CapitalStockDetails", "shortName": "Capital Stock (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "2", "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-2", "first": true, "lang": "en-US", "name": "us-gaap:AreaOfRealEstateProperty", "reportCount": 1, "unique": true, "unitRef": "sqft", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000055 - Disclosure - Commitments and Contingencies - Narrative (Details)", "menuCat": "Details", "order": "55", "role": "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails", "shortName": "Commitments and Contingencies - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-2", "first": true, "lang": "en-US", "name": "us-gaap:AreaOfRealEstateProperty", "reportCount": 1, "unique": true, "unitRef": "sqft", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "cdxs:FinanceLeaseCost", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000056 - Disclosure - Commitments and Contingencies - Lease Cost (Details)", "menuCat": "Details", "order": "56", "role": "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails", "shortName": "Commitments and Contingencies - Lease Cost (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "cdxs:FinanceLeaseCost", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000057 - Disclosure - Commitments and Contingencies - Other Lease Information (Details)", "menuCat": "Details", "order": "57", "role": "http://www.codexis.com/role/CommitmentsandContingenciesOtherLeaseInformationDetails", "shortName": "Commitments and Contingencies - Other Lease Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeasePayments", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000058 - Disclosure - Commitments and Contingencies - Cash Paid for Lease Obligations (Details)", "menuCat": "Details", "order": "58", "role": "http://www.codexis.com/role/CommitmentsandContingenciesCashPaidforLeaseObligationsDetails", "shortName": "Commitments and Contingencies - Cash Paid for Lease Obligations (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeasePayments", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000059 - Disclosure - Commitments and Contingencies - Maturity Analysis of Operating Lease (Details)", "menuCat": "Details", "order": "59", "role": "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails", "shortName": "Commitments and Contingencies - Maturity Analysis of Operating Lease (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "ie242f25054dc4a929d6c438718cf6ec6_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:SharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000006 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited)", "menuCat": "Statements", "order": "6", "role": "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited", "shortName": "Condensed Consolidated Statements of Stockholders' Equity (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "ie242f25054dc4a929d6c438718cf6ec6_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:SharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R60": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:SupplyCommitmentTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OtherCommitment", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000060 - Disclosure - Commitments and Contingencies - Other Commitments (Details)", "menuCat": "Details", "order": "60", "role": "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails", "shortName": "Commitments and Contingencies - Other Commitments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:SupplyCommitmentTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OtherCommitment", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PaymentsToAcquireOtherInvestments", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000061 - Disclosure - Related Party Transactions - Molecular Assemblies, Inc. (Details)", "menuCat": "Details", "order": "61", "role": "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails", "shortName": "Related Party Transactions - Molecular Assemblies, Inc. (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "ix:continuation", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "id82df63bbde041e18327c72681734a3d_D20220101-20220331", "decimals": "-5", "lang": "en-US", "name": "us-gaap:NonmonetaryTransactionGrossOperatingRevenueRecognized", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R62": { "firstAnchor": { "ancestors": [ "span", "div", "us-gaap:SegmentReportingPolicyPolicyTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:NumberOfOperatingSegments", "reportCount": 1, "unique": true, "unitRef": "segment", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000062 - Disclosure - Segment, Geographical and Other Revenue Information - Narrative (Details)", "menuCat": "Details", "order": "62", "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationNarrativeDetails", "shortName": "Segment, Geographical and Other Revenue Information - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "us-gaap:SegmentReportingPolicyPolicyTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:NumberOfOperatingSegments", "reportCount": 1, "unique": true, "unitRef": "segment", "xsiNil": "false" } }, "R63": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000063 - Disclosure - Segment, Geographical and Other Revenue Information - Segment Reporting (Details)", "menuCat": "Details", "order": "63", "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails", "shortName": "Segment, Geographical and Other Revenue Information - Segment Reporting (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "iab7e381f2ee84406aa780297d110d20e_D20230101-20230331", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R64": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i8cd36590b3cc4ac0a80001ca1cbfc7aa_D20220101-20220331", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000064 - Disclosure - Segment, Geographical and Other Revenue Information - Concentration Risk (Details)", "menuCat": "Details", "order": "64", "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails", "shortName": "Segment, Geographical and Other Revenue Information - Concentration Risk (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i8cd36590b3cc4ac0a80001ca1cbfc7aa_D20220101-20220331", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R65": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000065 - Disclosure - Segment, Geographical and Other Revenue Information - Revenues by Geographic Area (Details)", "menuCat": "Details", "order": "65", "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails", "shortName": "Segment, Geographical and Other Revenue Information - Revenues by Geographic Area (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R66": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "ib752f199b2eb454eb62f7f15d5ce6dcb_I20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NoncurrentAssets", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000066 - Disclosure - Segment, Geographical and Other Revenue Information - Long-Lived Assets by Geographic Area (Details)", "menuCat": "Details", "order": "66", "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails", "shortName": "Segment, Geographical and Other Revenue Information - Long-Lived Assets by Geographic Area (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "ib752f199b2eb454eb62f7f15d5ce6dcb_I20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NoncurrentAssets", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R67": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000067 - Disclosure - Segment, Geographical and Other Revenue Information - Goodwill (Details)", "menuCat": "Details", "order": "67", "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "shortName": "Segment, Geographical and Other Revenue Information - Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:Goodwill", "span", "td", "tr", "table", "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i1a553b3fd78741f69bcb8dd1a0e94ec6_I20230331", "decimals": "-3", "lang": "en-US", "name": "us-gaap:Goodwill", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R68": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllowanceForNotesAndLoansReceivableCurrent", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000068 - Disclosure - Allowance for Credit Losses - Analysis of Allowance for Credit Losses (Details)", "menuCat": "Details", "order": "68", "role": "http://www.codexis.com/role/AllowanceforCreditLossesAnalysisofAllowanceforCreditLossesDetails", "shortName": "Allowance for Credit Losses - Analysis of Allowance for Credit Losses (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i91a508887d594b67b62577249b04dc2f_I20211231", "decimals": "-3", "lang": "en-US", "name": "us-gaap:AllowanceForNotesAndLoansReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R69": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:PastDueFinancingReceivablesTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AccountsReceivableGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000069 - Disclosure - Allowance for Credit Losses - Summary of Finance Receivables by Aging Category (Details)", "menuCat": "Details", "order": "69", "role": "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails", "shortName": "Allowance for Credit Losses - Summary of Finance Receivables by Aging Category (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:PastDueFinancingReceivablesTableTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i5f603bf3b6bf4927aebeacb2084b7b71_I20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AccountsReceivableGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PaymentsOfStockIssuanceCosts", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000007 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited) (Parenthetical)", "menuCat": "Statements", "order": "7", "role": "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnauditedParenthetical", "shortName": "Condensed Consolidated Statements of Stockholders' Equity (Unaudited) (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": null }, "R70": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RestructuringCharges", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000070 - Disclosure - Restructuring Charges - Narrative (Details)", "menuCat": "Details", "order": "70", "role": "http://www.codexis.com/role/RestructuringChargesNarrativeDetails", "shortName": "Restructuring Charges - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "ix:continuation", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "ib765e9ad00ee44c0a10013bde03caf84_D20221101-20221130", "decimals": "2", "lang": "en-US", "name": "us-gaap:RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000008 - Statement - Condensed Consolidated Statements of Cash Flows", "menuCat": "Statements", "order": "8", "role": "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows", "shortName": "Condensed Consolidated Statements of Cash Flows", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "-3", "lang": "en-US", "name": "us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "i60f93cfccf874693b0f77e51074aef55_D20230101-20230331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OtherNoncashIncome", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000009 - Statement - Condensed Consolidated Statements of Cash Flows (Parenthetical)", "menuCat": "Statements", "order": "9", "role": "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsParenthetical", "shortName": "Condensed Consolidated Statements of Cash Flows (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20230331.htm", "contextRef": "ifac4aa607db34c56867c283fc5461578_D20230101-20230331", "decimals": "-3", "lang": "en-US", "name": "us-gaap:OtherNoncashIncome", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } } }, "segmentCount": 91, "tag": { "cdxs_A200220PenobscotMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "200-220 Penobscot", "label": "200-220 Penobscot [Member]", "terseLabel": "200-220 Penobscot" } } }, "localname": "A200220PenobscotMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "domainItemType" }, "cdxs_A2019PlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2019 Plan [Member]", "label": "2019 Plan [Member]", "terseLabel": "2019 Plan" } } }, "localname": "A2019PlanMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails" ], "xbrltype": "domainItemType" }, "cdxs_A2021PBOMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2021 PBO", "label": "2021 PBO [Member]", "terseLabel": "2021 PBO" } } }, "localname": "A2021PBOMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "cdxs_A2021PSUAnd2021PBOMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2021 PSU And 2021 PBO", "label": "2021 PSU And 2021 PBO [Member]", "terseLabel": "2021 PSU and 2021 PBO" } } }, "localname": "A2021PSUAnd2021PBOMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "cdxs_A2021PSUMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2021 PSU", "label": "2021 PSU [Member]", "terseLabel": "2021 PSU" } } }, "localname": "A2021PSUMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "cdxs_A2022InducementPlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2022 Inducement Plan", "label": "2022 Inducement Plan [Member]", "terseLabel": "2022 Inducement Plan" } } }, "localname": "A2022InducementPlanMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails" ], "xbrltype": "domainItemType" }, "cdxs_A2022PBOMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2022 PBO", "label": "2022 PBO [Member]", "terseLabel": "2022 PBO" } } }, "localname": "A2022PBOMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "cdxs_A2022PSUAnd2022PBOMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2022 PSU And 2022 PBO", "label": "2022 PSU And 2022 PBO [Member]", "terseLabel": "2022 PSU and 2022 PBO" } } }, "localname": "A2022PSUAnd2022PBOMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "cdxs_A2022PSUMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2022 PSU", "label": "2022 PSU [Member]", "terseLabel": "2022 PSU" } } }, "localname": "A2022PSUMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "cdxs_A400PenoscotMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "400 Penoscot", "label": "400 Penoscot [Member]", "terseLabel": "400 Penobscot" } } }, "localname": "A400PenoscotMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "domainItemType" }, "cdxs_A501ChesapeakeMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "501 Chesapeake", "label": "501 Chesapeake [Member]", "terseLabel": "501 Chesapeake" } } }, "localname": "A501ChesapeakeMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "domainItemType" }, "cdxs_APACMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Regions of Australia, New Zealand, Southeast Asia and China", "label": "APAC [Member]", "terseLabel": "APAC" } } }, "localname": "APACMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "cdxs_AllowanceForCreditLossAdjustment": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Allowance For Credit Loss, Adjustment", "label": "Allowance For Credit Loss, Adjustment", "negatedTerseLabel": "Adjustment to the existing allowance" } } }, "localname": "AllowanceForCreditLossAdjustment", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesAnalysisofAllowanceforCreditLossesDetails" ], "xbrltype": "monetaryItemType" }, "cdxs_AllowanceForCreditLossWriteOff": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Allowance For Credit Loss, Write Off", "label": "Allowance For Credit Loss, Write Off", "negatedTerseLabel": "Write-offs" } } }, "localname": "AllowanceForCreditLossWriteOff", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesAnalysisofAllowanceforCreditLossesDetails" ], "xbrltype": "monetaryItemType" }, "cdxs_ArzedaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Arzeda", "label": "Arzeda [Member]", "terseLabel": "Arzeda" } } }, "localname": "ArzedaMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueofNonmarketableEquitySecuritiesDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "xbrltype": "domainItemType" }, "cdxs_BalanceSheetDetailsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Balance Sheet Details [Abstract]", "label": "Balance Sheet Details [Abstract]", "terseLabel": "Balance Sheet Details [Abstract]" } } }, "localname": "BalanceSheetDetailsAbstract", "nsuri": "http://www.codexis.com/20230331", "xbrltype": "stringItemType" }, "cdxs_BalanceSheetsDetailsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "-- None. No documentation exists for this element. --", "label": "Balance Sheets Details [Abstract]", "terseLabel": "Balance Sheets Details [Abstract]" } } }, "localname": "BalanceSheetsDetailsAbstract", "nsuri": "http://www.codexis.com/20230331", "xbrltype": "stringItemType" }, "cdxs_BalanceSheetsDetailsTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Balance sheets details.", "label": "Balance Sheets Details [Text Block]", "verboseLabel": "Balance Sheets Details" } } }, "localname": "BalanceSheetsDetailsTextBlock", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetails" ], "xbrltype": "textBlockItemType" }, "cdxs_ContractwithCustomerLiabilityNewActivitiesPerformanceObligationSatisfiedRevenueRecognition": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails": { "order": 3.0, "parentTag": "us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Contract with Customer, Liability, New Activities, Performance Obligation Satisfied, Revenue Recognition", "label": "Contract with Customer, Liability, New Activities, Performance Obligation Satisfied, Revenue Recognition", "terseLabel": "Performance obligations satisfied from new activities in the period - contract revenue" } } }, "localname": "ContractwithCustomerLiabilityNewActivitiesPerformanceObligationSatisfiedRevenueRecognition", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails" ], "xbrltype": "monetaryItemType" }, "cdxs_CustomerAMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customer A [Member]", "label": "Customer A [Member]", "terseLabel": "Customer A" } } }, "localname": "CustomerAMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "cdxs_CustomerBMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customer B [Member]", "label": "Customer B [Member]", "terseLabel": "Customer B" } } }, "localname": "CustomerBMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "cdxs_CustomerCMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customer C [Member]", "label": "Customer C [Member]", "terseLabel": "Customer C" } } }, "localname": "CustomerCMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "cdxs_CustomerDMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customer D [Member]", "label": "Customer D [Member]", "terseLabel": "Customer D" } } }, "localname": "CustomerDMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "cdxs_CustomerEMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customer E", "label": "Customer E [Member]", "terseLabel": "Customer E" } } }, "localname": "CustomerEMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "cdxs_CustomerFMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customer F", "label": "Customer F [Member]", "terseLabel": "Customer F" } } }, "localname": "CustomerFMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "cdxs_CustomerGMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customer G", "label": "Customer G [Member]", "terseLabel": "Customer G" } } }, "localname": "CustomerGMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "cdxs_DevelopmentAndManufacturingServicesAgreementsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Development And Manufacturing Services Agreements", "label": "Development And Manufacturing Services Agreements [Member]", "terseLabel": "Development and manufacturing services agreements" } } }, "localname": "DevelopmentAndManufacturingServicesAgreementsMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "domainItemType" }, "cdxs_EquitySecuritiesWithoutReadilyDeterminableFairValueShares": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Equity Securities Without Readily Determinable Fair Value, Shares", "label": "Equity Securities Without Readily Determinable Fair Value, Shares", "terseLabel": "Non-marketable equity securities purchased (in shares)" } } }, "localname": "EquitySecuritiesWithoutReadilyDeterminableFairValueShares", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "xbrltype": "sharesItemType" }, "cdxs_FacilityMaintenanceAgreementMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Facility Maintenance Agreement", "label": "Facility Maintenance Agreement [Member]", "terseLabel": "Facility maintenance agreement" } } }, "localname": "FacilityMaintenanceAgreementMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "domainItemType" }, "cdxs_FinanceLeaseCost": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails": { "order": 1.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Finance Lease, Cost", "label": "Finance Lease, Cost", "terseLabel": "Finance lease costs" } } }, "localname": "FinanceLeaseCost", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "cdxs_FinancialReceivablesNotPastDueMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Financial Receivables Not Past Due", "label": "Financial Receivables Not Past Due [Member]", "terseLabel": "Current" } } }, "localname": "FinancialReceivablesNotPastDueMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "domainItemType" }, "cdxs_FinancialReceivablesPastDueMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Financial Receivables Past Due", "label": "Financial Receivables Past Due [Member]", "terseLabel": "Total over 31 Days" } } }, "localname": "FinancialReceivablesPastDueMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "domainItemType" }, "cdxs_IncentiveStockOptionsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Incentive Stock Options [Member]", "label": "Incentive Stock Options [Member]", "terseLabel": "Incentive Stock Options" } } }, "localname": "IncentiveStockOptionsMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "domainItemType" }, "cdxs_IncreaseDecreaseInEmployeeRelatedLiabilitiesAndOtherAccruedLiabilities": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Increase (Decrease) in Employee Related Liabilities and Other Accrued Liabilities", "label": "Increase (Decrease) in Employee Related Liabilities and Other Accrued Liabilities", "negatedTerseLabel": "Accrued compensation and other accrued liabilities" } } }, "localname": "IncreaseDecreaseInEmployeeRelatedLiabilitiesAndOtherAccruedLiabilities", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "cdxs_LaboratoryEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Laboratory Equipment [Member]", "label": "Laboratory Equipment [Member]", "terseLabel": "Laboratory equipment" } } }, "localname": "LaboratoryEquipmentMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "cdxs_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails_1": { "order": 5.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Lessee, Operating Lease, Liability, to be Paid, After Year Four", "label": "Lessee, Operating Lease, Liability, to be Paid, After Year Four", "terseLabel": "Thereafter" } } }, "localname": "LesseeOperatingLeaseLiabilityToBePaidAfterYearFour", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "xbrltype": "monetaryItemType" }, "cdxs_LesseeOperatingLeaseOptionToExtendNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Lessee, Operating Lease, Option To Extend, Number", "label": "Lessee, Operating Lease, Option To Extend, Number", "terseLabel": "Number of options to extend" } } }, "localname": "LesseeOperatingLeaseOptionToExtendNumber", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "integerItemType" }, "cdxs_LineofCreditFacilityAccountsReceivableBorrowingBasePercentage": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line of Credit Facility, Accounts Receivable Borrowing Base Percentage", "label": "Line of Credit Facility, Accounts Receivable Borrowing Base Percentage", "terseLabel": "Accounts receivable, borrowing base percentage" } } }, "localname": "LineofCreditFacilityAccountsReceivableBorrowingBasePercentage", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "percentItemType" }, "cdxs_MasterCollaborationResearchAgreementMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Master Collaboration & Research Agreement", "label": "Master Collaboration & Research Agreement [Member]", "terseLabel": "MCRA" } } }, "localname": "MasterCollaborationResearchAgreementMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "domainItemType" }, "cdxs_MolecularAssembliesIncMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Molecular Assemblies, Inc.", "label": "Molecular Assemblies, Inc. [Member]", "terseLabel": "MAI" } } }, "localname": "MolecularAssembliesIncMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueofNonmarketableEquitySecuritiesDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "domainItemType" }, "cdxs_NonMarketableDebtSecuritiesWithoutReadilyDeterminableFairValueAnnualAmount": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Non Marketable Debt Securities Without Readily Determinable Fair Value Annual Amount", "label": "Non Marketable Debt Securities Without Readily Determinable Fair Value Annual Amount", "terseLabel": "Unrealized or realized gains or losses" } } }, "localname": "NonMarketableDebtSecuritiesWithoutReadilyDeterminableFairValueAnnualAmount", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "cdxs_NonStatutoryStockOptionsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Non-Statutory Stock Options [Member]", "label": "Non-Statutory Stock Options [Member]", "terseLabel": "Non-Statutory Stock Options" } } }, "localname": "NonStatutoryStockOptionsMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "domainItemType" }, "cdxs_NovelBiotherapeuticsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Novel Biotherapeutics [Member]", "label": "Novel Biotherapeutics [Member]", "terseLabel": "Novel Biotherapeutics" } } }, "localname": "NovelBiotherapeuticsMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "cdxs_OfficeEquipmentAndFurnitureMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Office Equipment and Furniture [Member]", "label": "Office Equipment and Furniture [Member]", "terseLabel": "Office equipment and furniture" } } }, "localname": "OfficeEquipmentAndFurnitureMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "cdxs_OtherCommitmentToBePaidYearOneAndThereafter": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails": { "order": 2.0, "parentTag": "us-gaap_OtherCommitment", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Other Commitment, To Be Paid, Year One And Thereafter", "label": "Other Commitment, To Be Paid, Year One And Thereafter", "terseLabel": "2024 and Thereafter" } } }, "localname": "OtherCommitmentToBePaidYearOneAndThereafter", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "monetaryItemType" }, "cdxs_PercentofVotingInterestsThresholdtotriggerhigherexerciseprice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percent of Voting Interests Threshold to trigger higher exercise price", "label": "Percent of Voting Interests Threshold to trigger higher exercise price", "terseLabel": "Percent of voting interests" } } }, "localname": "PercentofVotingInterestsThresholdtotriggerhigherexerciseprice", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "percentItemType" }, "cdxs_PerformanceBasedOptionsPBOsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Performance Based Options (PBOs) [Member]", "label": "Performance Based Options (PBOs) [Member]", "terseLabel": "Performance Based Options (PBOs)", "verboseLabel": "PBOs" } } }, "localname": "PerformanceBasedOptionsPBOsMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "cdxs_PerformanceEnzymesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Performance Enzymes [Member]", "label": "Performance Enzymes [Member]", "terseLabel": "Performance Enzymes" } } }, "localname": "PerformanceEnzymesMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "cdxs_PerformanceShareUnitsPSUsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Performance Share Units (PSUs)", "label": "Performance Share Units (PSUs) [Member]", "terseLabel": "Performance Share Units (PSUs)" } } }, "localname": "PerformanceShareUnitsPSUsMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "cdxs_PerformanceStockUnitsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Performance Stock Units [Member]", "label": "Performance Stock Units [Member]", "verboseLabel": "PSUs" } } }, "localname": "PerformanceStockUnitsMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "cdxs_PiperSandlerCoMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Piper Sandler & Co", "label": "Piper Sandler & Co [Member]", "terseLabel": "Piper Sandler & Co" } } }, "localname": "PiperSandlerCoMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "xbrltype": "domainItemType" }, "cdxs_ProductSalesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Product Sales [Member]", "label": "Product Sales [Member]", "terseLabel": "Product revenue" } } }, "localname": "ProductSalesMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "cdxs_RSAsandRSUsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "RSAs and RSUs [Member]", "label": "RSAs and RSUs [Member]", "verboseLabel": "RSUs and RSAs" } } }, "localname": "RSAsandRSUsMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "cdxs_ResearchandDevelopmentRevenueMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Research and Development Revenue [Member]", "label": "Research and Development Revenue [Member]", "terseLabel": "Research and development revenue ($0 and $245 from a related party)", "verboseLabel": "Research and development revenue" } } }, "localname": "ResearchandDevelopmentRevenueMember", "nsuri": "http://www.codexis.com/20230331", "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" ], "xbrltype": "domainItemType" }, "cdxs_SaleOfStockCommissionsAndReimbursementsPercentageOfGrossSalesPrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Sale Of Stock, Commissions And Reimbursements, Percentage Of Gross Sales Price", "label": "Sale Of Stock, Commissions And Reimbursements, Percentage Of Gross Sales Price", "terseLabel": "Sale of stock, commissions and reimbursements, percentage of gross sales price" } } }, "localname": "SaleOfStockCommissionsAndReimbursementsPercentageOfGrossSalesPrice", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "xbrltype": "percentItemType" }, "cdxs_SaleOfStockCommissionsPercentageOfGrossSalesPrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Sale Of Stock, Commissions, Percentage Of Gross Sales Price", "label": "Sale Of Stock, Commissions, Percentage Of Gross Sales Price", "terseLabel": "Sale of stock, commissions, percentage of gross sales price" } } }, "localname": "SaleOfStockCommissionsPercentageOfGrossSalesPrice", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "xbrltype": "percentItemType" }, "cdxs_SaleOfStockConsiderationReceivedOnTransactionGross": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sale of Stock, Consideration Received on Transaction, Gross", "label": "Sale of Stock, Consideration Received on Transaction, Gross", "terseLabel": "Sale of stock, consideration received on transaction, gross" } } }, "localname": "SaleOfStockConsiderationReceivedOnTransactionGross", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "xbrltype": "monetaryItemType" }, "cdxs_SaleOfStockMaximumSellingPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Sale Of Stock, Maximum Selling Period", "label": "Sale Of Stock, Maximum Selling Period", "terseLabel": "Sale of stock, maximum selling period" } } }, "localname": "SaleOfStockMaximumSellingPeriod", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "xbrltype": "durationItemType" }, "cdxs_SaleOfStockPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Sale Of Stock, Period", "label": "Sale Of Stock, Period", "terseLabel": "Sale of stock, period" } } }, "localname": "SaleOfStockPeriod", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "xbrltype": "durationItemType" }, "cdxs_SaleOfStockSecuritiesRegisteredAggregateAmount": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Sale Of Stock, Securities Registered Aggregate Amount", "label": "Sale Of Stock, Securities Registered Aggregate Amount", "terseLabel": "Sale of stock, securities registered aggregate amount" } } }, "localname": "SaleOfStockSecuritiesRegisteredAggregateAmount", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "xbrltype": "monetaryItemType" }, "cdxs_SaleOfStockValueOfSharesForIssuance": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Sale Of Stock, Value Of Shares For Issuance", "label": "Sale Of Stock, Value Of Shares For Issuance", "terseLabel": "Sale of stock, value of shares for issuance" } } }, "localname": "SaleOfStockValueOfSharesForIssuance", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "xbrltype": "monetaryItemType" }, "cdxs_SanCarlosMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "San Carlos", "label": "San Carlos [Member]", "terseLabel": "San Carlos" } } }, "localname": "SanCarlosMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "domainItemType" }, "cdxs_ScheduleOfCommitmentsAndContingenciesLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule of Commitments and Contingencies [Line Items]", "label": "Schedule of Commitments and Contingencies [Line Items]", "terseLabel": "Schedule of Commitments and Contingencies [Line Items]" } } }, "localname": "ScheduleOfCommitmentsAndContingenciesLineItems", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "stringItemType" }, "cdxs_ScheduleOfCommitmentsAndContingenciesTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule of commitments and contingencies.", "label": "Schedule of Commitments and Contingencies [Table]", "terseLabel": "Schedule of Commitments and Contingencies [Table]" } } }, "localname": "ScheduleOfCommitmentsAndContingenciesTable", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "stringItemType" }, "cdxs_SeqWellMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "seqWell", "label": "seqWell [Member]", "terseLabel": "seqWell" } } }, "localname": "SeqWellMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueofNonmarketableEquitySecuritiesDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "xbrltype": "domainItemType" }, "cdxs_SeriesAAndBPreferredStockMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Series A And B Preferred Stock", "label": "Series A And B Preferred Stock [Member]", "terseLabel": "Series A And B Preferred Stock" } } }, "localname": "SeriesAAndBPreferredStockMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "xbrltype": "domainItemType" }, "cdxs_SeriesB2PreferredStockMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Series B-2 Preferred Stock", "label": "Series B-2 Preferred Stock [Member]", "terseLabel": "Series B-2 Preferred Stock" } } }, "localname": "SeriesB2PreferredStockMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "xbrltype": "domainItemType" }, "cdxs_ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationPeriodUponTerminationOfService": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Expiration Period Upon Termination Of Service", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Expiration Period Upon Termination Of Service", "terseLabel": "Award, expiration period upon termination of service" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationPeriodUponTerminationOfService", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "durationItemType" }, "cdxs_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceGoalsAchievedSuperiorLevelSharesEligibleToVestMultiplier": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "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", "terseLabel": "Share-based compensation arrangement by share-based payment award, performance goals achieved, superior level, shares eligible to vest, multiplier" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceGoalsAchievedSuperiorLevelSharesEligibleToVestMultiplier", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "percentItemType" }, "cdxs_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceGoalsAchievedTargetLevelSharesEligibleToVestMultiplier": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "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", "terseLabel": "Share-based compensation arrangement by share-based payment award, performance goals achieved, target level, shares eligible to vest, multiplier" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceGoalsAchievedTargetLevelSharesEligibleToVestMultiplier", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "percentItemType" }, "cdxs_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceGoalsAchievedThresholdLevelSharesEligibleToVestMultiplier": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "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", "terseLabel": "Share-based compensation arrangement by share-based payment award, performance goals achieved, threshold level, shares eligible to vest, multiplier" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceGoalsAchievedThresholdLevelSharesEligibleToVestMultiplier", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "percentItemType" }, "cdxs_ShareBasedCompensationArrangementByShareBasedPaymentAwardPurchasePriceOfCommonStockAboveMinimumThresholdPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock Above Minimum Threshold, Percent", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock Above Minimum Threshold, Percent", "terseLabel": "Purchase price of common stock above minimum threshold" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPurchasePriceOfCommonStockAboveMinimumThresholdPercent", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "percentItemType" }, "cdxs_ShareBasedPaymentAwardPerformanceGoalsAchievedThresholdLevelSharesEligibleToVestMultiplier": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "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", "terseLabel": "Share-based payment award, performance goals achieved, threshold level, shares Eligible to vest, multiplier" } } }, "localname": "ShareBasedPaymentAwardPerformanceGoalsAchievedThresholdLevelSharesEligibleToVestMultiplier", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "percentItemType" }, "cdxs_SharebasedCompensationArrangementbySharebasedPaymentAwardEstimatedPerformanceGoalAchievementRate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Estimated Performance Goal Achievement Rate", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Estimated Performance Goal Achievement Rate", "terseLabel": "Estimated performance goal achievement rate" } } }, "localname": "SharebasedCompensationArrangementbySharebasedPaymentAwardEstimatedPerformanceGoalAchievementRate", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "percentItemType" }, "cdxs_SharebasedCompensationArrangementbySharebasedPaymentAwardNumberofInstallments": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Installments", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Installments", "terseLabel": "Number of installments" } } }, "localname": "SharebasedCompensationArrangementbySharebasedPaymentAwardNumberofInstallments", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "integerItemType" }, "cdxs_SharebasedCompensationArrangementbySharebasedPaymentAwardPerformanceAwardsThresholdLevelNumberofSharesMultiplier": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, 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", "terseLabel": "Performance awards, threshold level, number of shares, multiplier" } } }, "localname": "SharebasedCompensationArrangementbySharebasedPaymentAwardPerformanceAwardsThresholdLevelNumberofSharesMultiplier", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "pureItemType" }, "cdxs_TermLoanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Term Loan [Member]", "label": "Term Loan [Member]", "terseLabel": "Term Loan" } } }, "localname": "TermLoanMember", "nsuri": "http://www.codexis.com/20230331", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "domainItemType" }, "country_US": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "UNITED STATES", "terseLabel": "United States" } } }, "localname": "US", "nsuri": "http://xbrl.sec.gov/country/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "dei_AmendmentFlag": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.", "label": "Amendment Flag", "terseLabel": "Amendment Flag" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code", "terseLabel": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cover page.", "label": "Cover [Abstract]", "terseLabel": "Cover page." } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2022", "xbrltype": "stringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date", "terseLabel": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentFiscalPeriodFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.", "label": "Document Fiscal Period Focus", "terseLabel": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.", "label": "Document Fiscal Year Focus", "terseLabel": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "gYearItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.", "label": "Document Period End Date", "terseLabel": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r576" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an quarterly report.", "label": "Document Quarterly Report", "terseLabel": "Document Quarterly Report" } } }, "localname": "DocumentQuarterlyReport", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r577" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report", "terseLabel": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_DocumentType": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.", "label": "Document Type", "terseLabel": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "submissionTypeItemType" }, "dei_EntityAddressAddressLine1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 1 such as Attn, Building Name, Street Name", "label": "Entity Address, Address Line One", "terseLabel": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town", "terseLabel": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code", "terseLabel": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province", "terseLabel": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r574" ], "lang": { "en-us": { "role": { "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.", "label": "Entity Central Index Key", "terseLabel": "Entity Central Index Key" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "centralIndexKeyItemType" }, "dei_EntityCommonStockSharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.", "label": "Entity Common Stock, Shares Outstanding", "terseLabel": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "sharesItemType" }, "dei_EntityCurrentReportingStatus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Current Reporting Status", "terseLabel": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains.", "label": "Entity [Domain]", "terseLabel": "Entity [Domain]" } } }, "localname": "EntityDomain", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "xbrltype": "domainItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r574" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company", "terseLabel": "Entity Emerging Growth" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntityFileNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.", "label": "Entity File Number", "terseLabel": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r574" ], "lang": { "en-us": { "role": { "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Filer Category", "terseLabel": "Entity Filer Category" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "filerCategoryItemType" }, "dei_EntityIncorporationStateCountryCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two-character EDGAR code representing the state or country of incorporation.", "label": "Entity Incorporation, State or Country Code", "terseLabel": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r578" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).", "label": "Entity Interactive Data Current", "terseLabel": "Entity Interactive Data Current" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r574" ], "lang": { "en-us": { "role": { "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.", "label": "Entity Registrant Name", "terseLabel": "Entity Registrant Name" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r574" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.", "label": "Entity Shell Company", "terseLabel": "Entity Shell Company" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r574" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business", "terseLabel": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r574" ], "lang": { "en-us": { "role": { "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.", "label": "Entity Tax Identification Number", "terseLabel": "Entity Tax Identification Number" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "employerIdItemType" }, "dei_LegalEntityAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The set of legal entities associated with a report.", "label": "Legal Entity [Axis]", "terseLabel": "Legal Entity [Axis]" } } }, "localname": "LegalEntityAxis", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "xbrltype": "stringItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number", "terseLabel": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r573" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(b) registered security.", "label": "Title of 12(b) Security", "terseLabel": "Title of 12(b) Security" } } }, "localname": "Security12bTitle", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r575" ], "lang": { "en-us": { "role": { "documentation": "Name of the Exchange on which a security is registered.", "label": "Security Exchange Name", "terseLabel": "Security Exchange Name" } } }, "localname": "SecurityExchangeName", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol", "terseLabel": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "tradingSymbolItemType" }, "srt_AffiliatedEntityMember": { "auth_ref": [ "r502", "r631", "r665", "r666", "r667" ], "lang": { "en-us": { "role": { "label": "Affiliated Entity [Member]", "terseLabel": "Affiliated Entity" } } }, "localname": "AffiliatedEntityMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsParenthetical", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnauditedParenthetical" ], "xbrltype": "domainItemType" }, "srt_AmericasMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Americas [Member]", "terseLabel": "Americas" } } }, "localname": "AmericasMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "srt_ConsolidationItemsAxis": { "auth_ref": [ "r168", "r209", "r227", "r228", "r229", "r230", "r231", "r233", "r237", "r299", "r300", "r301", "r302", "r304", "r305", "r307", "r309", "r310", "r621", "r622" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Axis]", "terseLabel": "Consolidation Items [Axis]" } } }, "localname": "ConsolidationItemsAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "stringItemType" }, "srt_ConsolidationItemsDomain": { "auth_ref": [ "r168", "r209", "r227", "r228", "r229", "r230", "r231", "r233", "r237", "r299", "r300", "r301", "r302", "r304", "r305", "r307", "r309", "r310", "r621", "r622" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Domain]", "terseLabel": "Consolidation Items [Domain]" } } }, "localname": "ConsolidationItemsDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "srt_CounterpartyNameAxis": { "auth_ref": [ "r166", "r167", "r314", "r325", "r530", "r532" ], "lang": { "en-us": { "role": { "label": "Counterparty Name [Axis]", "terseLabel": "Counterparty Name [Axis]" } } }, "localname": "CounterpartyNameAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "stringItemType" }, "srt_EquityMethodInvesteeNameDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Investment, Name [Domain]", "terseLabel": "Investment, Name [Domain]" } } }, "localname": "EquityMethodInvesteeNameDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "domainItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r243", "r556", "r629", "r680" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]", "terseLabel": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "srt_MaximumMember": { "auth_ref": [ "r295", "r296", "r297", "r298", "r367", "r450", "r474", "r504", "r505", "r550", "r564", "r572", "r623", "r670", "r671", "r672", "r673", "r674", "r675" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "xbrltype": "domainItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r243", "r556", "r629", "r680" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]", "terseLabel": "Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r239", "r452", "r554", "r570", "r618", "r619", "r629", "r679" ], "lang": { "en-us": { "role": { "label": "Product and Service [Axis]", "terseLabel": "Product and Service [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2022", "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" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r239", "r452", "r554", "r570", "r618", "r619", "r629", "r679" ], "lang": { "en-us": { "role": { "label": "Product and Service [Domain]", "terseLabel": "Product and Service [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2022", "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" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r295", "r296", "r297", "r298", "r359", "r367", "r395", "r396", "r397", "r449", "r450", "r474", "r504", "r505", "r550", "r564", "r572", "r614", "r623", "r671", "r672", "r673", "r674", "r675" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]", "terseLabel": "Statistical Measurement [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r295", "r296", "r297", "r298", "r359", "r367", "r395", "r396", "r397", "r449", "r450", "r474", "r504", "r505", "r550", "r564", "r572", "r614", "r623", "r671", "r672", "r673", "r674", "r675" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]", "terseLabel": "Statistical Measurement [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "xbrltype": "domainItemType" }, "srt_RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis": { "auth_ref": [ "r503", "r682", "r683", "r684", "r685", "r686", "r687", "r688", "r689" ], "lang": { "en-us": { "role": { "label": "Name of Property [Axis]", "terseLabel": "Name of Property [Axis]" } } }, "localname": "RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "stringItemType" }, "srt_RealEstateAndAccumulatedDepreciationNameOfPropertyDomain": { "auth_ref": [ "r503", "r682", "r683", "r684", "r685", "r686", "r687", "r688", "r689" ], "lang": { "en-us": { "role": { "label": "Name of Property [Domain]", "terseLabel": "Name of Property [Domain]" } } }, "localname": "RealEstateAndAccumulatedDepreciationNameOfPropertyDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "domainItemType" }, "srt_RepurchaseAgreementCounterpartyNameDomain": { "auth_ref": [ "r166", "r167", "r314", "r325", "r531", "r532" ], "lang": { "en-us": { "role": { "label": "Counterparty Name [Domain]", "terseLabel": "Counterparty Name [Domain]" } } }, "localname": "RepurchaseAgreementCounterpartyNameDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "domainItemType" }, "srt_ScenarioForecastMember": { "auth_ref": [ "r368", "r599" ], "lang": { "en-us": { "role": { "label": "Forecast [Member]", "terseLabel": "Forecast" } } }, "localname": "ScenarioForecastMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "srt_ScenarioUnspecifiedDomain": { "auth_ref": [ "r182", "r368", "r580", "r599" ], "lang": { "en-us": { "role": { "label": "Scenario [Domain]", "terseLabel": "Scenario [Domain]" } } }, "localname": "ScenarioUnspecifiedDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis": { "auth_ref": [ "r250" ], "lang": { "en-us": { "role": { "label": "Investment, Name [Axis]", "terseLabel": "Investment, Name [Axis]" } } }, "localname": "ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "stringItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r240", "r241", "r493", "r494", "r495", "r496", "r497", "r498", "r499", "r500", "r501", "r555", "r571", "r629" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]", "terseLabel": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r240", "r241", "r487", "r493", "r494", "r495", "r496", "r497", "r498", "r499", "r500", "r501", "r555", "r571", "r629" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]", "terseLabel": "Geographical [Axis]", "verboseLabel": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "srt_StatementScenarioAxis": { "auth_ref": [ "r182", "r368", "r580", "r581", "r599" ], "lang": { "en-us": { "role": { "label": "Scenario [Axis]", "terseLabel": "Scenario [Axis]" } } }, "localname": "StatementScenarioAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accounting Policies [Abstract]", "terseLabel": "Accounting Policies [Abstract]" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_AccountsNotesAndLoansReceivableNetCurrent": { "auth_ref": [ "r245", "r471", "r536" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Accounts and Financing Receivable, after Allowance for Credit Loss, Current", "totalLabel": "Total financial assets, net" } } }, "localname": "AccountsNotesAndLoansReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r13", "r569" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accounts Payable, Current", "verboseLabel": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableGross": { "auth_ref": [ "r146", "r245" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business.", "label": "Accounts Receivable, before Allowance for Credit Loss", "terseLabel": "Accounts receivable, before allowance for credit loss" } } }, "localname": "AccountsReceivableGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableGrossCurrent": { "auth_ref": [ "r146", "r245", "r246", "r529" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_NotesReceivableGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Accounts Receivable, before Allowance for Credit Loss, Current", "terseLabel": "Accounts receivable" } } }, "localname": "AccountsReceivableGrossCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableMember": { "auth_ref": [ "r491" ], "lang": { "en-us": { "role": { "documentation": "Due from customers or clients for goods or services that have been delivered or sold.", "label": "Accounts Receivable [Member]", "terseLabel": "Accounts Receivable" } } }, "localname": "AccountsReceivableMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r16" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Liabilities, Current", "totalLabel": "Total other accrued liabilities", "verboseLabel": "Other accrued liabilities" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedProfessionalFeesCurrentAndNoncurrent": { "auth_ref": [ "r115", "r125" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received.", "label": "Accrued Professional Fees", "terseLabel": "Accrued professional and outside service fees" } } }, "localname": "AccruedProfessionalFeesCurrentAndNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r73", "r139" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails": { "order": 2.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.", "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "negatedTerseLabel": "Less: accumulated depreciation and amortization" } } }, "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapital": { "auth_ref": [ "r4", "r569" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.", "label": "Additional Paid in Capital", "verboseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapital", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r402", "r403", "r404", "r596", "r597", "r598", "r659" ], "lang": { "en-us": { "role": { "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.", "label": "Additional Paid-in Capital [Member]", "terseLabel": "Additional Paid-in Capital" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation", "negatedTerseLabel": "Taxes paid related to net share settlement of equity awards" } } }, "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for option under share-based payment arrangement.", "label": "APIC, Share-Based Payment Arrangement, Option, Increase for Cost Recognition", "terseLabel": "Non-employee stock-based compensation" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r97", "r98", "r370" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.", "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition", "verboseLabel": "Employee stock-based compensation" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "verboseLabel": "Adjustments to reconcile net loss to net cash used in operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock": { "auth_ref": [ "r64", "r610" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of allowance for credit loss on financing receivable.", "label": "Financing Receivable, Allowance for Credit Loss [Table Text Block]", "terseLabel": "Analysis of allowance for credit losses" } } }, "localname": "AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_AllowanceForNotesAndLoansReceivableCurrent": { "auth_ref": [ "r148", "r247", "r253" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_AccountsNotesAndLoansReceivableNetCurrent", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on financing receivable, classified as current.", "label": "Financing Receivable, Allowance for Credit Loss, Current", "negatedLabel": "Less: allowances", "periodEndLabel": "Balance at end of period", "terseLabel": "Balance at beginning of period" } } }, "localname": "AllowanceForNotesAndLoansReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesAnalysisofAllowanceforCreditLossesDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r191" ], "lang": { "en-us": { "role": { "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "terseLabel": "Total shares excluded as anti-dilutive (in shares)" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/NetLossperShareSharesNotIncludedinComputationofDilutedNetLossPerShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "auth_ref": [ "r48" ], "lang": { "en-us": { "role": { "documentation": "Information by type of antidilutive security.", "label": "Antidilutive Securities [Axis]", "terseLabel": "Antidilutive Securities [Axis]" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/NetLossperShareSharesNotIncludedinComputationofDilutedNetLossPerShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]", "terseLabel": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/NetLossperShareSharesNotIncludedinComputationofDilutedNetLossPerShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AntidilutiveSecuritiesNameDomain": { "auth_ref": [ "r48" ], "lang": { "en-us": { "role": { "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented.", "label": "Antidilutive Securities, Name [Domain]", "terseLabel": "Antidilutive Securities, Name [Domain]" } } }, "localname": "AntidilutiveSecuritiesNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/NetLossperShareSharesNotIncludedinComputationofDilutedNetLossPerShareDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AreaOfRealEstateProperty": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area of a real estate property.", "label": "Area of Real Estate Property", "terseLabel": "Area of real estate property (in square feet)" } } }, "localname": "AreaOfRealEstateProperty", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "areaItemType" }, "us-gaap_AssetRetirementObligation": { "auth_ref": [ "r278", "r279" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Asset Retirement Obligation", "terseLabel": "Asset retirement obligation" } } }, "localname": "AssetRetirementObligation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Assets": { "auth_ref": [ "r113", "r119", "r142", "r164", "r217", "r229", "r235", "r251", "r299", "r300", "r302", "r303", "r304", "r306", "r308", "r310", "r311", "r411", "r413", "r422", "r569", "r621", "r622", "r668" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "verboseLabel": "Assets" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r135", "r150", "r164", "r251", "r299", "r300", "r302", "r303", "r304", "r306", "r308", "r310", "r311", "r411", "r413", "r422", "r569", "r621", "r622", "r668" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Current", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "verboseLabel": "Current assets:" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesGrossUnrealizedLoss": { "auth_ref": [ "r68" ], "crdr": "debit", "lang": { "en-us": { "role": { "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).", "label": "Debt Securities, Available-for-Sale, Unrealized Loss", "terseLabel": "Other-than-temporary impairment losses" } } }, "localname": "AvailableForSaleDebtSecuritiesGrossUnrealizedLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398" ], "lang": { "en-us": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]", "terseLabel": "Award Type [Axis]" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).", "label": "Basis of Accounting, Policy [Policy Text Block]", "verboseLabel": "Basis of Presentation and Principles of Consolidation" } } }, "localname": "BasisOfAccountingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "auth_ref": [ "r43", "r44", "r45" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred.", "label": "Capital Expenditures Incurred but Not yet Paid", "terseLabel": "Capital expenditures incurred but not yet paid" } } }, "localname": "CapitalExpendituresIncurredButNotYetPaid", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedContractCostNetCurrent": { "auth_ref": [ "r265" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Capitalized Contract Cost, Net, Current", "terseLabel": "Contract costs" } } }, "localname": "CapitalizedContractCostNetCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionContractswithCustomerDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Cash": { "auth_ref": [ "r481", "r482", "r569", "r582" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash", "terseLabel": "Cash" } } }, "localname": "Cash", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents [Abstract]", "terseLabel": "Cash reconciliation:" } } }, "localname": "CashAndCashEquivalentsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r41", "r137", "r527" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Adjusted Cost", "verboseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAxis": { "auth_ref": [ "r137" ], "lang": { "en-us": { "role": { "documentation": "Information by type of cash and cash equivalent balance.", "label": "Cash and Cash Equivalents [Axis]", "terseLabel": "Cash and Cash Equivalents [Axis]" } } }, "localname": "CashAndCashEquivalentsAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails", "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash and Cash Equivalents, Fair Value Disclosure", "terseLabel": "Estimated Fair Value", "verboseLabel": "Money market funds" } } }, "localname": "CashAndCashEquivalentsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails", "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Cash and Cash Equivalents [Line Items]", "terseLabel": "Cash and Cash Equivalents [Line Items]" } } }, "localname": "CashAndCashEquivalentsLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r35", "r41", "r46" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents", "periodEndLabel": "Cash, cash equivalents and restricted cash at the end of the period", "periodStartLabel": "Cash, cash equivalents and restricted cash at the beginning of the period", "terseLabel": "Total cash, cash equivalents and restricted cash" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r35", "r106" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Net decrease in cash, cash equivalents and restricted cash" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ChangeInContractWithCustomerAssetAndLiabilityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Change in Contract with Customer, Asset and Liability [Abstract]", "terseLabel": "Amounts included in contract liabilities at the beginning of the period:" } } }, "localname": "ChangeInContractWithCustomerAssetAndLiabilityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ChangeInContractWithCustomerLiabilityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Change in Contract with Customer, Liability [Abstract]", "terseLabel": "Changes in the period:" } } }, "localname": "ChangeInContractWithCustomerLiabilityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ClassOfStockDomain": { "auth_ref": [ "r143", "r144", "r145", "r164", "r185", "r186", "r188", "r190", "r197", "r198", "r251", "r299", "r302", "r303", "r304", "r310", "r311", "r323", "r324", "r327", "r331", "r338", "r422", "r506", "r579", "r594", "r600" ], "lang": { "en-us": { "role": { "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.", "label": "Class of Stock [Domain]", "terseLabel": "Class of Stock [Domain]" } } }, "localname": "ClassOfStockDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ClassOfStockLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Class of Stock [Line Items]", "terseLabel": "Class of Stock [Line Items]" } } }, "localname": "ClassOfStockLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r19", "r116", "r124" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.", "label": "Commitments and Contingencies", "verboseLabel": "Commitments and Contingencies (Note 10)" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Abstract]", "terseLabel": "Commitments and Contingencies Disclosure [Abstract]" } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r75", "r292", "r293", "r492", "r620" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for commitments and contingencies.", "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": { "auth_ref": [ "r20" ], "lang": { "en-us": { "role": { "documentation": "Aggregate number of common shares reserved for future issuance.", "label": "Common Stock, Capital Shares Reserved for Future Issuance", "terseLabel": "Maximum number of shares to be issued upon exercise of stock options" } } }, "localname": "CommonStockCapitalSharesReservedForFutureIssuance", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r596", "r597", "r659" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]", "terseLabel": "Common Stock" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r3" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common Stock, Par or Stated Value Per Share", "verboseLabel": "Common stock, par value (in dollars per share)" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r3" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Common Stock, Shares Authorized", "terseLabel": "Common stock, shares authorized (in shares)" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r3" ], "lang": { "en-us": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common Stock, Shares, Issued", "terseLabel": "Common stock, shares, issued (in shares)" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r3", "r84" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common Stock, Shares, Outstanding", "terseLabel": "Common stock, shares outstanding (in shares)" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r3", "r569" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Common Stock, Value, Issued", "verboseLabel": "Common stock, $0.0001 par value per share; 100,000 shares authorized; 66,696 shares and 65,811 shares issued and outstanding as of March\u00a031, 2023 and December\u00a031, 2022, respectively" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComputerEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems.", "label": "Computer Equipment [Member]", "terseLabel": "Computer equipment and software" } } }, "localname": "ComputerEquipmentMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r51", "r52", "r103", "r104", "r243", "r491" ], "lang": { "en-us": { "role": { "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.", "label": "Concentration Risk Benchmark [Domain]", "terseLabel": "Concentration Risk Benchmark [Domain]" } } }, "localname": "ConcentrationRiskBenchmarkDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r51", "r52", "r103", "r104", "r243", "r480", "r491" ], "lang": { "en-us": { "role": { "documentation": "Information by benchmark of concentration risk.", "label": "Concentration Risk Benchmark [Axis]", "terseLabel": "Concentration Risk Benchmark [Axis]" } } }, "localname": "ConcentrationRiskByBenchmarkAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r51", "r52", "r103", "r104", "r243", "r491", "r681" ], "lang": { "en-us": { "role": { "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.", "label": "Concentration Risk Type [Axis]", "terseLabel": "Concentration Risk Type [Axis]" } } }, "localname": "ConcentrationRiskByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Concentration Risk [Line Items]", "terseLabel": "Concentration Risk [Line Items]" } } }, "localname": "ConcentrationRiskLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r51", "r52", "r103", "r104", "r243" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.", "label": "Concentration Risk, Percentage", "terseLabel": "Concentration risk, percentage" } } }, "localname": "ConcentrationRiskPercentage1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTable": { "auth_ref": [ "r49", "r51", "r52", "r53", "r103", "r105", "r491" ], "lang": { "en-us": { "role": { "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.", "label": "Concentration Risk [Table]", "terseLabel": "Concentration Risk [Table]" } } }, "localname": "ConcentrationRiskTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r51", "r52", "r103", "r104", "r243", "r491" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.", "label": "Concentration Risk Type [Domain]", "terseLabel": "Concentration Risk Type [Domain]" } } }, "localname": "ConcentrationRiskTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConstructionInProgressMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.", "label": "Construction in Progress [Member]", "terseLabel": "Construction in progress" } } }, "localname": "ConstructionInProgressMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "auth_ref": [ "r627" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.", "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]", "terseLabel": "Contract with customer" } } }, "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractWithCustomerAssetCreditLossExpense": { "auth_ref": [ "r255", "r353", "r552" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense (reversal of expense) for expected credit loss on right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.", "label": "Contract with Customer, Asset, Credit Loss Expense (Reversal)", "terseLabel": "Impairment charges related to contract assets" } } }, "localname": "ContractWithCustomerAssetCreditLossExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerAssetGrossCurrent": { "auth_ref": [ "r625", "r626" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_NotesReceivableGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Contract with Customer, Asset, before Allowance for Credit Loss, Current", "terseLabel": "Contract assets" } } }, "localname": "ContractWithCustomerAssetGrossCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited", "http://www.codexis.com/role/RevenueRecognitionContractswithCustomerDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiability": { "auth_ref": [ "r340", "r341", "r355" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "Contract with Customer, Liability", "verboseLabel": "Contract liabilities: deferred revenue" } } }, "localname": "ContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionContractswithCustomerDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized": { "auth_ref": [ "r553" ], "calculation": { "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized arising from contract liability from change in timeframe for performance obligation to be satisfied.", "label": "Contract with Customer, Liability, Change in Timeframe, Performance Obligation Satisfied, Revenue Recognized", "totalLabel": "Total revenues" } } }, "localname": "ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice": { "auth_ref": [ "r551" ], "calculation": { "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails": { "order": 2.0, "parentTag": "us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Contract with Customer, Liability, Cumulative Catch-up Adjustment to Revenue, Change in Estimate of Transaction Price", "terseLabel": "Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods" } } }, "localname": "ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r340", "r341", "r355" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 5.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.", "label": "Contract with Customer, Liability, Current", "terseLabel": "Deferred revenue" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityNoncurrent": { "auth_ref": [ "r340", "r341", "r355" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent.", "label": "Contract with Customer, Liability, Noncurrent", "verboseLabel": "Deferred revenue, net of current portion" } } }, "localname": "ContractWithCustomerLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r356" ], "calculation": { "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails": { "order": 1.0, "parentTag": "us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.", "label": "Contract with Customer, Liability, Revenue Recognized", "terseLabel": "Performance obligations satisfied" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ConvertibleDebtMember": { "auth_ref": [ "r80", "r312", "r313", "r315", "r316", "r317", "r318", "r319", "r320", "r321", "r322", "r545", "r546", "r547", "r548", "r549" ], "lang": { "en-us": { "role": { "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.", "label": "Convertible Debt [Member]", "terseLabel": "Convertible Debt" } } }, "localname": "ConvertibleDebtMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CorporateNonSegmentMember": { "auth_ref": [ "r62", "r228", "r229", "r230", "r231", "r237", "r604" ], "lang": { "en-us": { "role": { "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.", "label": "Corporate, Non-Segment [Member]", "terseLabel": "Corporate" } } }, "localname": "CorporateNonSegmentMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r26", "r452" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "order": 3.0, "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.", "label": "Cost of Goods and Services Sold", "terseLabel": "Cost of product revenue" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfSalesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing cost of sales.", "label": "Cost of Sales [Member]", "terseLabel": "Cost of product revenue" } } }, "localname": "CostOfSalesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CostsAndExpenses": { "auth_ref": [ "r24" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "order": 2.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 }, "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails": { "order": 3.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Total costs of sales and operating expenses for the period.", "label": "Costs and Expenses", "totalLabel": "Total costs and operating expenses" } } }, "localname": "CostsAndExpenses", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CreditFacilityAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.", "label": "Credit Facility [Axis]", "terseLabel": "Credit Facility [Axis]" } } }, "localname": "CreditFacilityAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CreditFacilityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.", "label": "Credit Facility [Domain]", "terseLabel": "Credit Facility [Domain]" } } }, "localname": "CreditFacilityDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CreditLossFinancialInstrumentTextBlock": { "auth_ref": [ "r254", "r257", "r258", "r260", "r261", "r262", "r263" ], "lang": { "en-us": { "role": { "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.", "label": "Credit Loss, Financial Instrument [Text Block]", "terseLabel": "Allowance for Credit Losses" } } }, "localname": "CreditLossFinancialInstrumentTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLosses" ], "xbrltype": "textBlockItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r50", "r243" ], "lang": { "en-us": { "role": { "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.", "label": "Customer Concentration Risk [Member]", "terseLabel": "Customer Concentration Risk" } } }, "localname": "CustomerConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossWriteoff": { "auth_ref": [ "r264" ], "crdr": "debit", "lang": { "en-us": { "role": { "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).", "label": "Debt Securities, Available-for-Sale, Allowance for Credit Loss, Writeoff", "terseLabel": "Credit losses" } } }, "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLossWriteoff", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DemandDepositsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Demand Deposits [Member]", "terseLabel": "Demand Deposits" } } }, "localname": "DemandDepositsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r39", "r71" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.", "label": "Depreciation", "negatedTerseLabel": "Unallocated depreciation and amortization", "terseLabel": "Depreciation expense", "verboseLabel": "Depreciation" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DisaggregationOfRevenueLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of Revenue [Line Items]" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r354", "r554", "r555", "r556", "r557", "r558", "r559", "r560" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table]", "terseLabel": "Disaggregation of Revenue [Table]" } } }, "localname": "DisaggregationOfRevenueTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r629" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Disaggregation of revenue" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "auth_ref": [ "r372", "r399", "r400", "r401", "r405", "r565" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for share-based payment arrangement.", "label": "Share-Based Payment Arrangement [Text Block]", "terseLabel": "Stock-based Compensation" } } }, "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensation" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement [Abstract]", "terseLabel": "Share-based Payment Arrangement [Abstract]" } } }, "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_EMEAMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Regions of Europe, Middle East and Africa.", "label": "EMEA [Member]", "terseLabel": "EMEA" } } }, "localname": "EMEAMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Abstract]", "terseLabel": "Earnings Per Share [Abstract]" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r156", "r174", "r175", "r176", "r177", "r178", "r183", "r185", "r188", "r189", "r190", "r194", "r417", "r418", "r467", "r472", "r533" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Earnings Per Share, Basic", "terseLabel": "Net loss per share, basic (in dollars per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r156", "r174", "r175", "r176", "r177", "r178", "r185", "r188", "r189", "r190", "r194", "r417", "r418", "r467", "r472", "r533" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.", "label": "Earnings Per Share, Diluted", "terseLabel": "Net loss per share, diluted (in dollars per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r191", "r192", "r193", "r195" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]", "terseLabel": "Net Loss per Share" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/NetLossperShare" ], "xbrltype": "textBlockItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r16" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Employee-related Liabilities, Current", "verboseLabel": "Accrued compensation" } } }, "localname": "EmployeeRelatedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]", "terseLabel": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]" } } }, "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": { "auth_ref": [ "r658" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount", "terseLabel": "Compensation not yet recognized, share-based awards other than options" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": { "auth_ref": [ "r658" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost to be recognized for option under share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount", "terseLabel": "Compensation not yet recognized, stock options" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.", "label": "Share-Based Payment Arrangement, Option [Member]", "verboseLabel": "Stock options" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Equity [Abstract]", "terseLabel": "Equity [Abstract]" } } }, "localname": "EquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r84", "r132", "r153", "r154", "r155", "r169", "r170", "r171", "r173", "r179", "r181", "r196", "r252", "r339", "r402", "r403", "r404", "r407", "r408", "r416", "r423", "r424", "r425", "r426", "r427", "r428", "r439", "r475", "r476", "r477" ], "lang": { "en-us": { "role": { "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.", "label": "Equity Component [Domain]", "terseLabel": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount": { "auth_ref": [ "r249" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in equity security without readily determinable fair value.", "label": "Equity Securities without Readily Determinable Fair Value, Amount", "terseLabel": "Total non-marketable equity securities" } } }, "localname": "EquitySecuritiesWithoutReadilyDeterminableFairValueAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueofNonmarketableEquitySecuritiesDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueTableTextBlock": { "auth_ref": [ "r605", "r606", "r607" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of investment in equity security without readily determinable fair value.", "label": "Equity Securities without Readily Determinable Fair Value [Table Text Block]", "terseLabel": "Carrying Value of Non-marketable Equity Securities" } } }, "localname": "EquitySecuritiesWithoutReadilyDeterminableFairValueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "terseLabel": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r419", "r420", "r421" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.", "label": "Fair Value, Recurring and Nonrecurring [Table]", "terseLabel": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Table]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": { "auth_ref": [ "r100", "r101" ], "lang": { "en-us": { "role": { "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).", "label": "Fair Value, Assets Measured on Recurring Basis [Table Text Block]", "verboseLabel": "Summary of financial instruments measured at fair value on a recurring basis" } } }, "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r317", "r360", "r361", "r362", "r363", "r364", "r365", "r420", "r446", "r447", "r448", "r546", "r547", "r561", "r562", "r563" ], "lang": { "en-us": { "role": { "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.", "label": "Fair Value Hierarchy and NAV [Axis]", "terseLabel": "Fair Value Hierarchy and NAV [Axis]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Abstract]", "terseLabel": "Fair Value Disclosures [Abstract]" } } }, "localname": "FairValueDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r317", "r360", "r365", "r420", "r446", "r561", "r562", "r563" ], "lang": { "en-us": { "role": { "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.", "label": "Fair Value, Inputs, Level 1 [Member]", "terseLabel": "Level 1" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r317", "r360", "r365", "r420", "r447", "r546", "r547", "r561", "r562", "r563" ], "lang": { "en-us": { "role": { "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.", "label": "Fair Value, Inputs, Level 2 [Member]", "terseLabel": "Level 2" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r317", "r360", "r361", "r362", "r363", "r364", "r365", "r420", "r448", "r546", "r547", "r561", "r562", "r563" ], "lang": { "en-us": { "role": { "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Inputs, Level 3 [Member]", "terseLabel": "Level\u00a03" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementInputsDisclosureTextBlock": { "auth_ref": [ "r102" ], "lang": { "en-us": { "role": { "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.", "label": "Fair Value Measurement and Measurement Inputs, Recurring and Nonrecurring [Text Block]", "verboseLabel": "Fair Value Measurements" } } }, "localname": "FairValueMeasurementInputsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/FairValueMeasurements" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r317", "r360", "r361", "r362", "r363", "r364", "r365", "r446", "r447", "r448", "r546", "r547", "r561", "r562", "r563" ], "lang": { "en-us": { "role": { "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.", "label": "Fair Value Hierarchy and NAV [Domain]", "terseLabel": "Fair Value, Measurements, Fair Value Hierarchy [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract]", "verboseLabel": "Summary of financial instruments measured at fair value on a recurring basis" } } }, "localname": "FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Financing Receivable, Allowance for Credit Loss [Line Items]", "terseLabel": "Financing Receivable, Allowance for Credit Loss [Line Items]" } } }, "localname": "FinancingReceivableAllowanceForCreditLossesLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FinancingReceivableAllowanceForCreditLossesRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Financing Receivable, Allowance for Credit Loss [Roll Forward]", "terseLabel": "Financing Receivable, Allowance for Credit Loss [Roll Forward]" } } }, "localname": "FinancingReceivableAllowanceForCreditLossesRollForward", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesAnalysisofAllowanceforCreditLossesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FinancingReceivableBeforeAllowanceForCreditLossAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Financing Receivable, before Allowance for Credit Loss [Abstract]", "terseLabel": "Financial assets:" } } }, "localname": "FinancingReceivableBeforeAllowanceForCreditLossAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_FinancingReceivables30To59DaysPastDueMember": { "auth_ref": [ "r539" ], "lang": { "en-us": { "role": { "documentation": "Financial asset more than 29 days past due but fewer than 60 days past due.", "label": "Financial Asset, 30 to 59 Days Past Due [Member]", "terseLabel": "31-60 Days" } } }, "localname": "FinancingReceivables30To59DaysPastDueMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FinancingReceivables60To89DaysPastDueMember": { "auth_ref": [ "r539" ], "lang": { "en-us": { "role": { "documentation": "Financial asset more than 59 days past due but fewer than 90 days past due.", "label": "Financial Asset, 60 to 89 Days Past Due [Member]", "terseLabel": "61-90 Days" } } }, "localname": "FinancingReceivables60To89DaysPastDueMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FinancingReceivablesEqualToGreaterThan90DaysPastDueMember": { "auth_ref": [ "r539" ], "lang": { "en-us": { "role": { "documentation": "Financial asset equal to or greater than 90 days past due.", "label": "Financial Asset, Equal to or Greater than 90 Days Past Due [Member]", "terseLabel": "91 Days and over" } } }, "localname": "FinancingReceivablesEqualToGreaterThan90DaysPastDueMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FinancingReceivablesPeriodPastDueAxis": { "auth_ref": [ "r248", "r256", "r539" ], "lang": { "en-us": { "role": { "documentation": "Information by period in which financial asset is past due or not past due.", "label": "Financial Asset, Aging [Axis]", "terseLabel": "Financial Asset, Period Past Due [Axis]" } } }, "localname": "FinancingReceivablesPeriodPastDueAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FinancingReceivablesPeriodPastDueDomain": { "auth_ref": [ "r248", "r256", "r539" ], "lang": { "en-us": { "role": { "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.", "label": "Financial Asset, Aging [Domain]", "terseLabel": "Financial Asset, Period Past Due [Domain]" } } }, "localname": "FinancingReceivablesPeriodPastDueDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "domainItemType" }, "us-gaap_GeographicAreasLongLivedAssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Geographic Areas, Long-Lived Assets [Abstract]", "terseLabel": "Geographic Areas, Long-Lived Assets [Abstract]" } } }, "localname": "GeographicAreasLongLivedAssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GeographicDistributionAxis": { "auth_ref": [ "r468", "r469", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r521", "r522", "r523", "r524", "r525", "r526", "r537" ], "lang": { "en-us": { "role": { "documentation": "Information by geographic distribution of business activity identified as either domestic or foreign. Excludes names of countries, states and provinces, and cities.", "label": "Geographic Distribution [Axis]", "terseLabel": "Geographic Distribution [Axis]" } } }, "localname": "GeographicDistributionAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GeographicDistributionDomain": { "auth_ref": [ "r468", "r469", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r521", "r522", "r523", "r524", "r525", "r526" ], "lang": { "en-us": { "role": { "documentation": "Allocation of business activity identified as domestic or foreign. Excludes names of countries, states and provinces, and cities.", "label": "Geographic Distribution [Domain]", "terseLabel": "Geographic Distribution [Domain]" } } }, "localname": "GeographicDistributionDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r140", "r266", "r465", "r540", "r569", "r612", "r613" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill", "terseLabel": "Goodwill", "verboseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsGoodwillDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r22", "r110", "r117", "r127", "r217", "r228", "r234", "r237", "r469", "r535" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "totalLabel": "Loss before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments": { "auth_ref": [ "r217", "r228", "r234", "r237", "r535" ], "calculation": { "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.", "label": "Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest", "totalLabel": "Loss before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Statement [Abstract]", "terseLabel": "Income Statement [Abstract]" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r276", "r283" ], "lang": { "en-us": { "role": { "documentation": "Information by location in the income statement.", "label": "Income Statement Location [Axis]", "terseLabel": "Income Statement Location [Axis]" } } }, "localname": "IncomeStatementLocationAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [ "r283" ], "lang": { "en-us": { "role": { "documentation": "Location in the income statement.", "label": "Income Statement Location [Domain]", "terseLabel": "Income Statement Location [Domain]" } } }, "localname": "IncomeStatementLocationDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r165", "r180", "r181", "r215", "r406", "r409", "r410", "r473" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "order": 2.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Income Tax Expense (Benefit)", "verboseLabel": "Provision for income taxes" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesPaid": { "auth_ref": [ "r36", "r42" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.", "label": "Income Taxes Paid", "terseLabel": "Income taxes paid" } } }, "localname": "IncomeTaxesPaid", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r38" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.", "label": "Increase (Decrease) in Accounts Payable", "verboseLabel": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "auth_ref": [ "r451", "r591" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "Increase (Decrease) in Contract with Customer, Liability", "verboseLabel": "Deferred revenue" } } }, "localname": "IncreaseDecreaseInContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInFinanceReceivables": { "auth_ref": [ "r38" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in outstanding loans including accrued interest.", "label": "Increase (Decrease) in Finance Receivables", "negatedLabel": "Financial assets" } } }, "localname": "IncreaseDecreaseInFinanceReceivables", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r38" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.", "label": "Increase (Decrease) in Inventories", "negatedLabel": "Inventories" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "verboseLabel": "Changes in operating assets and liabilities:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other.", "label": "Increase (Decrease) in Other Noncurrent Liabilities", "terseLabel": "Other long-term liabilities" } } }, "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r38" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedLabel": "Prepaid expenses and other assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "terseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]" } } }, "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_IndemnificationGuaranteeMember": { "auth_ref": [ "r76", "r79" ], "lang": { "en-us": { "role": { "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.", "label": "Indemnification Agreement [Member]", "terseLabel": "Indemnification Agreement" } } }, "localname": "IndemnificationGuaranteeMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_InterestPaidNet": { "auth_ref": [ "r158", "r160", "r161" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.", "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities", "terseLabel": "Interest paid" } } }, "localname": "InterestPaidNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryFinishedGoods": { "auth_ref": [ "r586" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails": { "order": 3.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.", "label": "Inventory, Finished Goods, Gross", "terseLabel": "Finished goods" } } }, "localname": "InventoryFinishedGoods", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r149", "r528", "r569" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory, Net", "totalLabel": "Total Inventories", "verboseLabel": "Inventories" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNetAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Inventory, Net [Abstract]", "verboseLabel": "Schedule of Inventory Components" } } }, "localname": "InventoryNetAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_InventoryRawMaterials": { "auth_ref": [ "r588" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails": { "order": 1.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory, Raw Materials, Gross", "terseLabel": "Raw materials" } } }, "localname": "InventoryRawMaterials", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryValuationReserves": { "auth_ref": [ "r69", "r589" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of valuation reserve for inventory.", "label": "Inventory Valuation Reserves", "terseLabel": "Inventory net of reserves" } } }, "localname": "InventoryValuationReserves", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWorkInProcess": { "auth_ref": [ "r587" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails": { "order": 2.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Inventory, Work in Process, Gross", "terseLabel": "Work in process" } } }, "localname": "InventoryWorkInProcess", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentIncomeInterest": { "auth_ref": [ "r28", "r210" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.", "label": "Investment Income, Interest", "verboseLabel": "Interest income" } } }, "localname": "InvestmentIncomeInterest", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentOwnedBalanceShares": { "auth_ref": [ "r128", "r484" ], "lang": { "en-us": { "role": { "documentation": "Balance held at close of period in number of shares.", "label": "Investment Owned, Balance, Shares", "terseLabel": "Number of shares purchased (in shares)" } } }, "localname": "InvestmentOwnedBalanceShares", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_InvestmentsAndOtherNoncurrentAssets": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investments, and noncurrent assets classified as other.", "label": "Investments and Other Noncurrent Assets", "terseLabel": "Investment at cost basis", "verboseLabel": "Investment in non-marketable equity securities ($0 and $13,921 with a related party)" } } }, "localname": "InvestmentsAndOtherNoncurrentAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Investments, Debt and Equity Securities [Abstract]" } } }, "localname": "InvestmentsDebtAndEquitySecuritiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Investments in Debt and Equity Instruments, Cash and Cash Equivalents, Unrealized and Realized Gains (Losses) [Text Block]", "terseLabel": "Investments in Non-Marketable Securities" } } }, "localname": "InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecurities" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseCost": { "auth_ref": [ "r437", "r568" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lease cost recognized by lessee for lease contract.", "label": "Lease, Cost", "totalLabel": "Total lease cost" } } }, "localname": "LeaseCost", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseCostAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Lease, Cost [Abstract]", "terseLabel": "Lease, Cost [Abstract]" } } }, "localname": "LeaseCostAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LeaseCostTableTextBlock": { "auth_ref": [ "r663" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.", "label": "Lease, Cost [Table Text Block]", "terseLabel": "Lease cost" } } }, "localname": "LeaseCostTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseholdImprovementsMember": { "auth_ref": [ "r72" ], "lang": { "en-us": { "role": { "documentation": "Additions or improvements to assets held under a lease arrangement.", "label": "Leasehold Improvements [Member]", "terseLabel": "Leasehold improvements" } } }, "localname": "LeaseholdImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedRenewalTerm1": { "auth_ref": [ "r662" ], "lang": { "en-us": { "role": { "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.", "label": "Lessee, Operating Lease, Lease Not yet Commenced, Renewal Term", "terseLabel": "Renewal term" } } }, "localname": "LesseeOperatingLeaseLeaseNotYetCommencedRenewalTerm1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1": { "auth_ref": [ "r662" ], "lang": { "en-us": { "role": { "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.", "label": "Lessee, Operating Lease, Lease Not yet Commenced, Term of Contract", "terseLabel": "Lease term" } } }, "localname": "LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r664" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.", "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]", "verboseLabel": "Operating lease maturity" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r438" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails_1": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.", "label": "Lessee, Operating Lease, Liability, to be Paid", "totalLabel": "Total minimum lease payments" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r438" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails_1": { "order": 4.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year One", "terseLabel": "2024" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r438" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails_1": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four", "terseLabel": "2027" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r438" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails_1": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three", "terseLabel": "2026" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r438" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails_1": { "order": 3.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two", "terseLabel": "2025" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r664" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails_1": { "order": 6.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.", "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year", "terseLabel": "2023 (remaining 9 months)" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r438" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.", "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "terseLabel": "Less: imputed interest" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseRenewalTerm": { "auth_ref": [ "r661" ], "lang": { "en-us": { "role": { "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.", "label": "Lessee, Operating Lease, Renewal Term", "terseLabel": "Renewal term" } } }, "localname": "LesseeOperatingLeaseRenewalTerm", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r15", "r164", "r251", "r299", "r300", "r302", "r303", "r304", "r306", "r308", "r310", "r311", "r412", "r413", "r414", "r422", "r534", "r621", "r668", "r669" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.", "label": "Liabilities", "totalLabel": "Total liabilities" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r8", "r114", "r122", "r569", "r595", "r608", "r660" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders' equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "verboseLabel": "Liabilities and Stockholders' Equity" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r17", "r136", "r164", "r251", "r299", "r300", "r302", "r303", "r304", "r306", "r308", "r310", "r311", "r412", "r413", "r414", "r422", "r569", "r621", "r668", "r669" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.", "label": "Liabilities, Current", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "verboseLabel": "Current liabilities:" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "auth_ref": [ "r14" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.", "label": "Line of Credit Facility, Maximum Borrowing Capacity", "terseLabel": "Borrowing capacity" } } }, "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LossContingenciesByNatureOfContingencyAxis": { "auth_ref": [ "r77", "r78", "r294", "r295", "r296", "r616", "r617" ], "lang": { "en-us": { "role": { "documentation": "Information by type of existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur.", "label": "Loss Contingency Nature [Axis]", "terseLabel": "Loss Contingency Nature [Axis]" } } }, "localname": "LossContingenciesByNatureOfContingencyAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LossContingencyAccrualCarryingValueCurrent": { "auth_ref": [ "r294" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of loss contingency liability expected to be resolved within one year or the normal operating cycle, if longer.", "label": "Loss Contingency, Accrual, Current", "terseLabel": "Loss contingency accrual" } } }, "localname": "LossContingencyAccrualCarryingValueCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LossContingencyNatureDomain": { "auth_ref": [ "r77", "r78", "r294", "r295", "r296", "r616", "r617" ], "lang": { "en-us": { "role": { "documentation": "An existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur. Resolution of the uncertainty may confirm the incurrence of a loss or impairment of an asset or the incurrence of a liability.", "label": "Loss Contingency, Nature [Domain]", "terseLabel": "Loss Contingency, Nature [Domain]" } } }, "localname": "LossContingencyNatureDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_MarketableSecuritiesLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Marketable Securities [Line Items]", "terseLabel": "Marketable Securities [Line Items]" } } }, "localname": "MarketableSecuritiesLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueofNonmarketableEquitySecuritiesDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_MarketableSecuritiesTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about investment in marketable security.", "label": "Marketable Securities [Table]", "terseLabel": "Marketable Securities [Table]" } } }, "localname": "MarketableSecuritiesTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueofNonmarketableEquitySecuritiesDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_MoneyMarketFundsAtCarryingValue": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Investment in short-term money-market instruments (such as commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and so forth) which are highly liquid (that is, readily convertible to known amounts of cash) and so near their maturity that they present an insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify as cash equivalents by definition. Original maturity means an original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.", "label": "Money Market Funds, at Carrying Value", "terseLabel": "Money market funds" } } }, "localname": "MoneyMarketFundsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_MoneyMarketFundsMember": { "auth_ref": [ "r630" ], "lang": { "en-us": { "role": { "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.", "label": "Money Market Funds [Member]", "terseLabel": "Money market funds" } } }, "localname": "MoneyMarketFundsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails", "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NatureOfOperations": { "auth_ref": [ "r199", "r204" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.", "label": "Nature of Operations [Text Block]", "verboseLabel": "Description of Business" } } }, "localname": "NatureOfOperations", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/DescriptionofBusiness" ], "xbrltype": "textBlockItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r159" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash provided by (used in) financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "verboseLabel": "Financing activities:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r159" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash used in investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "verboseLabel": "Investing activities:" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r35", "r37", "r40" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.", "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash used in operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "verboseLabel": "Operating activities:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r23", "r40", "r118", "r126", "r134", "r151", "r152", "r155", "r164", "r172", "r174", "r175", "r176", "r177", "r180", "r181", "r187", "r217", "r228", "r234", "r237", "r251", "r299", "r300", "r302", "r303", "r304", "r306", "r308", "r310", "r311", "r418", "r422", "r535", "r621" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss) Attributable to Parent", "netLabel": "Net loss", "terseLabel": "Net loss", "totalLabel": "Net loss" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnauditedParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "verboseLabel": "Accounting Pronouncements" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Noncash Investing and Financing Items [Abstract]", "terseLabel": "Supplemental non-cash investing and financing activities:" } } }, "localname": "NoncashInvestingAndFinancingItemsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NoncashOrPartNoncashAcquisitionNoncashFinancialOrEquityInstrumentConsiderationSharesIssued1": { "auth_ref": [ "r43", "r44", "r45" ], "lang": { "en-us": { "role": { "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.", "label": "Noncash or Part Noncash Acquisition, Noncash Financial or Equity Instrument Consideration, Shares Issued", "terseLabel": "Number of shares received in exchange for services (in shares)" } } }, "localname": "NoncashOrPartNoncashAcquisitionNoncashFinancialOrEquityInstrumentConsiderationSharesIssued1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_NoncurrentAssets": { "auth_ref": [ "r241" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Long-Lived Assets", "terseLabel": "Long-lived assets" } } }, "localname": "NoncurrentAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_NonmonetaryTransactionGrossOperatingRevenueRecognized": { "auth_ref": [ "r107" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of gross operating revenue recognized in a nonmonetary transaction.", "label": "Nonmonetary Transaction, Gross Operating Revenue Recognized", "terseLabel": "Research and development revenue from transactions with MAI" } } }, "localname": "NonmonetaryTransactionGrossOperatingRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_NotesReceivableGross": { "auth_ref": [ "r147", "r248", "r256", "r259", "r518", "r519", "r538", "r539", "r609", "r690" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_AccountsNotesAndLoansReceivableNetCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amortized cost, before allowance for credit loss, of financing receivable. Excludes financing receivable covered under loss sharing agreement and net investment in lease.", "label": "Financing Receivable, before Allowance for Credit Loss", "totalLabel": "Total financial assets" } } }, "localname": "NotesReceivableGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_NumberOfOperatingSegments": { "auth_ref": [ "r603" ], "lang": { "en-us": { "role": { "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.", "label": "Number of Operating Segments", "terseLabel": "Number of operating segments" } } }, "localname": "NumberOfOperatingSegments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationNarrativeDetails" ], "xbrltype": "integerItemType" }, "us-gaap_NumberOfReportableSegments": { "auth_ref": [ "r603" ], "lang": { "en-us": { "role": { "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.", "label": "Number of Reportable Segments", "terseLabel": "Number of reportable segments" } } }, "localname": "NumberOfReportableSegments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationNarrativeDetails" ], "xbrltype": "integerItemType" }, "us-gaap_OneTimeTerminationBenefitsMember": { "auth_ref": [ "r541", "r542", "r543", "r544" ], "lang": { "en-us": { "role": { "documentation": "A lump sum payment to an involuntarily terminated employee in conjunction with exit or disposal activities.", "label": "One-time Termination Benefits [Member]", "terseLabel": "One-time Termination Benefits" } } }, "localname": "OneTimeTerminationBenefitsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OperatingCostsAndExpensesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Costs and Expenses [Abstract]", "verboseLabel": "Costs and operating expenses:" } } }, "localname": "OperatingCostsAndExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r217", "r228", "r234", "r237", "r535" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 }, "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "Operating Income (Loss)", "totalLabel": "Loss from operations" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r432", "r568" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails": { "order": 2.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Operating Lease, Cost", "terseLabel": "Operating lease cost" } } }, "localname": "OperatingLeaseCost", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, to be Paid [Abstract]", "terseLabel": "Operating Leases" } } }, "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r430" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Operating Lease, Liability", "totalLabel": "Lease obligations" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r430" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails": { "order": 2.0, "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0 }, "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 4.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Operating Lease, Liability, Current", "terseLabel": "Current portion of lease obligations - Operating leases" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r430" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails": { "order": 1.0, "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0 }, "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Long-term lease obligations - Operating leases" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r431", "r434" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.", "label": "Operating Lease, Payments", "terseLabel": "Operating cash flows from operating leases" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesCashPaidforLeaseObligationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r429" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Right-of-use assets - Operating leases, net" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": { "auth_ref": [ "r592" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization expense for right-of-use asset from operating lease.", "label": "Operating Lease, Right-of-Use Asset, Amortization Expense", "terseLabel": "Amortization expense - right-of-use assets - operating and finance leases" } } }, "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r436", "r568" ], "lang": { "en-us": { "role": { "documentation": "Weighted average discount rate for operating lease calculated at point in time.", "label": "Operating Lease, Weighted Average Discount Rate, Percent", "verboseLabel": "Weighted-average discount rate" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherLeaseInformationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r435", "r568" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Operating Lease, Weighted Average Remaining Lease Term", "terseLabel": "Weighted-average remaining lease term (in years)" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherLeaseInformationDetails" ], "xbrltype": "durationItemType" }, "us-gaap_OperatingSegmentsMember": { "auth_ref": [ "r227", "r228", "r229", "r230", "r231", "r237" ], "lang": { "en-us": { "role": { "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Operating Segments [Member]", "terseLabel": "Operating Segments" } } }, "localname": "OperatingSegmentsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]", "terseLabel": "Organization, Consolidation and Presentation of Financial Statements [Abstract]" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_OtherAccruedLiabilitiesCurrentAndNoncurrent": { "auth_ref": [ "r115", "r125" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of expenses incurred but not yet paid classified as other.", "label": "Other Accrued Liabilities", "terseLabel": "Other" } } }, "localname": "OtherAccruedLiabilitiesCurrentAndNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAggregatedInvestmentsMember": { "auth_ref": [ "r483", "r485", "r486" ], "lang": { "en-us": { "role": { "documentation": "Other investments in debt and equity securities and other forms of securities that provide ownership interests.", "label": "Other Security Investments [Member]", "terseLabel": "Other investments in non-marketable equity securities" } } }, "localname": "OtherAggregatedInvestmentsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueofNonmarketableEquitySecuritiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r141" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other Assets, Noncurrent", "verboseLabel": "Other non-current assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherCommitment": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Other Commitment", "totalLabel": "Total" } } }, "localname": "OtherCommitment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherCommitmentsAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of other commitment.", "label": "Other Commitments [Axis]", "terseLabel": "Other Commitments [Axis]" } } }, "localname": "OtherCommitmentsAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OtherCommitmentsDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Other future obligation.", "label": "Other Commitments [Domain]", "terseLabel": "Other Commitments [Domain]" } } }, "localname": "OtherCommitmentsDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherCommitmentsFutureMinimumPaymentsRemainderOfFiscalYear": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails": { "order": 1.0, "parentTag": "us-gaap_OtherCommitment", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of commitment classified as other to be paid in remainder of current fiscal year.", "label": "Other Commitment, to be Paid, Remainder of Fiscal Year", "terseLabel": "2023 (Remaining 9 Months)" } } }, "localname": "OtherCommitmentsFutureMinimumPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherCommitmentsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Other Commitments [Line Items]", "terseLabel": "Other Commitments [Line Items]" } } }, "localname": "OtherCommitmentsLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OtherCommitmentsTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about obligations resulting from other commitments.", "label": "Other Commitments [Table]", "terseLabel": "Other Commitments [Table]" } } }, "localname": "OtherCommitmentsTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r18" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.", "label": "Other Liabilities, Noncurrent", "verboseLabel": "Other long-term liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNoncashIncome": { "auth_ref": [ "r40" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income or gain included in net income that result in no cash inflow (outflow), classified as other.", "label": "Other Noncash Income", "negatedTerseLabel": "Equity securities earned from research and development activities ($0 and ($245) from a related party)", "terseLabel": "Equity securities earned from research and development activities" } } }, "localname": "OtherNoncashIncome", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r29" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "order": 3.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.", "label": "Other Nonoperating Income (Expense)", "terseLabel": "Other expense, net" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherOperatingActivitiesCashFlowStatement": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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).", "label": "Other Operating Activities, Cash Flow Statement", "terseLabel": "Other non-cash items" } } }, "localname": "OtherOperatingActivitiesCashFlowStatement", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PastDueFinancingReceivablesTableTextBlock": { "auth_ref": [ "r65", "r66", "r539", "r611" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of aging analysis for financing receivable.", "label": "Financing Receivable, Past Due [Table Text Block]", "terseLabel": "Summary of accounts receivable by aging" } } }, "localname": "PastDueFinancingReceivablesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PaymentsOfFinancingCosts": { "auth_ref": [ "r34" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for loan and debt issuance costs.", "label": "Payments of Financing Costs", "negatedTerseLabel": "Costs incurred in connection with issuance of common stock at public offering" } } }, "localname": "PaymentsOfFinancingCosts", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsOfStockIssuanceCosts": { "auth_ref": [ "r34" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for cost incurred directly with the issuance of an equity security.", "label": "Payments of Stock Issuance Costs", "terseLabel": "Costs incurred in connection with offering" } } }, "localname": "PaymentsOfStockIssuanceCosts", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnauditedParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [ "r157" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Payment, Tax Withholding, Share-Based Payment Arrangement", "negatedTerseLabel": "Taxes paid related to net share settlement of equity awards" } } }, "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireOtherInvestments": { "auth_ref": [ "r32" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to acquire investments classified as other.", "label": "Payments to Acquire Other Investments", "negatedTerseLabel": "Investment in non-marketable securities", "terseLabel": "Payments to acquire other investments" } } }, "localname": "PaymentsToAcquireOtherInvestments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r31" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.", "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchase of property and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PerformanceSharesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement awarded for meeting performance target.", "label": "Performance Shares [Member]", "terseLabel": "Performance Shares" } } }, "localname": "PerformanceSharesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r632", "r633", "r634", "r635", "r636", "r637", "r638", "r639", "r640", "r641", "r642", "r643", "r644", "r645", "r646", "r647", "r648", "r649", "r650", "r651", "r652", "r653", "r654", "r655", "r656", "r657" ], "lang": { "en-us": { "role": { "documentation": "Information by plan name for share-based payment arrangement.", "label": "Plan Name [Axis]", "terseLabel": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails", "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [ "r632", "r633", "r634", "r635", "r636", "r637", "r638", "r639", "r640", "r641", "r642", "r643", "r644", "r645", "r646", "r647", "r648", "r649", "r650", "r651", "r652", "r653", "r654", "r655", "r656", "r657" ], "lang": { "en-us": { "role": { "documentation": "Plan name for share-based payment arrangement.", "label": "Plan Name [Domain]", "terseLabel": "Plan Name [Domain]" } } }, "localname": "PlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails", "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "auth_ref": [ "r2", "r323" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.", "label": "Preferred Stock, Par or Stated Value Per Share", "terseLabel": "Preferred stock, par value (in dollars per share)" } } }, "localname": "PreferredStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r2" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.", "label": "Preferred Stock, Shares Authorized", "terseLabel": "Preferred stock, shares authorized (in shares)" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesIssued": { "auth_ref": [ "r2", "r323" ], "lang": { "en-us": { "role": { "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.", "label": "Preferred Stock, Shares Issued", "terseLabel": "Preferred stock, shares issued (in shares)" } } }, "localname": "PreferredStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesOutstanding": { "auth_ref": [ "r2" ], "lang": { "en-us": { "role": { "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.", "label": "Preferred Stock, Shares Outstanding", "terseLabel": "Preferred stock, shares outstanding (in shares)" } } }, "localname": "PreferredStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r2", "r569" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Preferred Stock, Value, Issued", "terseLabel": "Preferred stock, $0.0001 par value per share; 5,000 shares authorized, none issued and outstanding" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r590" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.", "label": "Prepaid Expense and Other Assets, Current", "verboseLabel": "Prepaid expenses and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromIssuanceOfCommonStock": { "auth_ref": [ "r33" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from the additional capital contribution to the entity.", "label": "Proceeds from Issuance of Common Stock", "terseLabel": "Proceeds from issuance of common stock in connection with public offering" } } }, "localname": "ProceedsFromIssuanceOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": { "auth_ref": [ "r30" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.", "label": "Proceeds from Sale of Property, Plant, and Equipment", "terseLabel": "Proceeds from sale of property and equipment" } } }, "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockOptionsExercised": { "auth_ref": [ "r33", "r95" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.", "label": "Proceeds from Stock Options Exercised", "terseLabel": "Proceeds from exercises of stock options", "verboseLabel": "Proceeds from exercises of stock options" } } }, "localname": "ProceedsFromStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "auth_ref": [ "r74" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.", "label": "Long-Lived Tangible Asset [Axis]", "terseLabel": "Property, Plant and Equipment, Type [Axis]" } } }, "localname": "PropertyPlantAndEquipmentByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r72", "r138" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails": { "order": 1.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Gross", "terseLabel": "Property and equipment" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Property, Plant and Equipment [Line Items]", "terseLabel": "Property, Plant and Equipment [Line Items]" } } }, "localname": "PropertyPlantAndEquipmentLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r74", "r123", "r470", "r569" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Net", "totalLabel": "Property and equipment, net", "verboseLabel": "Property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r74" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table Text Block]", "terseLabel": "Schedule of property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "auth_ref": [ "r72" ], "lang": { "en-us": { "role": { "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.", "label": "Long-Lived Tangible Asset [Domain]", "terseLabel": "Property, Plant and Equipment, Type [Domain]" } } }, "localname": "PropertyPlantAndEquipmentTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ProvisionForLoanLossesExpensed": { "auth_ref": [ "r255", "r466" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of credit loss expense (reversal of expense) for financing receivable.", "label": "Financing Receivable, Credit Loss, Expense (Reversal)", "terseLabel": "Provision for credit losses" } } }, "localname": "ProvisionForLoanLossesExpensed", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesAnalysisofAllowanceforCreditLossesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PurchaseObligation": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier.", "label": "Purchase Obligation", "terseLabel": "Accrued purchases" } } }, "localname": "PurchaseObligation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReceivablesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Receivables [Abstract]" } } }, "localname": "ReceivablesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock": { "auth_ref": [ "r59", "r61" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of all significant reconciling items in the reconciliation of total revenues from reportable segments to the entity's consolidated revenues.", "label": "Reconciliation of Revenue from Segments to Consolidated [Table Text Block]", "verboseLabel": "Schedule of revenues by geographical area" } } }, "localname": "ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_RelatedPartyDomain": { "auth_ref": [ "r366", "r442", "r443" ], "lang": { "en-us": { "role": { "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.", "label": "Related Party [Domain]", "terseLabel": "Related Party [Domain]" } } }, "localname": "RelatedPartyDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsParenthetical", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnauditedParenthetical", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RelatedPartyTransactionAxis": { "auth_ref": [ "r131", "r442", "r443", "r667" ], "lang": { "en-us": { "role": { "documentation": "Information by type of related party transaction.", "label": "Related Party Transaction [Axis]", "terseLabel": "Related Party Transaction [Axis]" } } }, "localname": "RelatedPartyTransactionAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RelatedPartyTransactionDomain": { "auth_ref": [ "r131" ], "lang": { "en-us": { "role": { "documentation": "Transaction between related party.", "label": "Related Party Transaction [Domain]", "terseLabel": "Related Party Transaction [Domain]" } } }, "localname": "RelatedPartyTransactionDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RelatedPartyTransactionLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Related Party Transaction [Line Items]", "terseLabel": "Related Party Transaction [Line Items]" } } }, "localname": "RelatedPartyTransactionLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RelatedPartyTransactionsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Related Party Transactions [Abstract]" } } }, "localname": "RelatedPartyTransactionsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": { "auth_ref": [ "r366", "r442", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r462", "r463", "r464", "r667" ], "lang": { "en-us": { "role": { "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.", "label": "Related Party [Axis]", "terseLabel": "Related Party [Axis]" } } }, "localname": "RelatedPartyTransactionsByRelatedPartyAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsParenthetical", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnauditedParenthetical", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": { "auth_ref": [ "r440", "r441", "r443", "r444", "r445" ], "lang": { "en-us": { "role": { "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.", "label": "Related Party Transactions Disclosure [Text Block]", "terseLabel": "Related Party Transactions" } } }, "localname": "RelatedPartyTransactionsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactions" ], "xbrltype": "textBlockItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r99", "r130", "r676" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "order": 2.0, "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.", "label": "Research and Development Expense", "verboseLabel": "Research and development" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included.", "label": "Research and Development Expense [Member]", "verboseLabel": "Research and development" } } }, "localname": "ResearchAndDevelopmentExpenseMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedCash": { "auth_ref": [ "r582", "r593", "r677", "r678" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Restricted Cash", "terseLabel": "Restricted cash, current" } } }, "localname": "RestrictedCash", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCashAndCashEquivalents": { "auth_ref": [ "r41", "r46", "r112", "r120", "r137" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Restricted Cash and Cash Equivalents", "terseLabel": "Restricted cash, current and non-current" } } }, "localname": "RestrictedCashAndCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis": { "auth_ref": [ "r12" ], "lang": { "en-us": { "role": { "documentation": "Information by category of cash or cash equivalent items which are restricted as to withdrawal or usage.", "label": "Restricted Cash and Cash Equivalents [Axis]", "terseLabel": "Restricted Cash and Cash Equivalents [Axis]" } } }, "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": { "auth_ref": [ "r137" ], "lang": { "en-us": { "role": { "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.", "label": "Cash and Cash Equivalents [Domain]", "terseLabel": "Cash and Cash Equivalents [Domain]" } } }, "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails", "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails", "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsNoncurrent": { "auth_ref": [ "r41", "r46", "r489" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 7.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Restricted Cash and Cash Equivalents, Noncurrent", "terseLabel": "Restricted cash" } } }, "localname": "RestrictedCashAndCashEquivalentsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCashAndInvestmentsNoncurrent": { "auth_ref": [ "r488", "r490" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Restricted Cash and Investments, Noncurrent", "terseLabel": "Non-current restricted cash" } } }, "localname": "RestrictedCashAndInvestmentsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedStockUnitsRSUMember": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Restricted Stock Units (RSUs) [Member]", "terseLabel": "RSUs" } } }, "localname": "RestrictedStockUnitsRSUMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestructuringAndRelatedActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Restructuring and Related Activities [Abstract]" } } }, "localname": "RestructuringAndRelatedActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock": { "auth_ref": [ "r280", "r282", "r285", "r290", "r291" ], "lang": { "en-us": { "role": { "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.", "label": "Restructuring and Related Activities Disclosure [Text Block]", "terseLabel": "Restructuring Charges" } } }, "localname": "RestructuringAndRelatedActivitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RestructuringCharges" ], "xbrltype": "textBlockItemType" }, "us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "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).", "label": "Restructuring and Related Cost, Number of Positions Eliminated, Period Percent", "terseLabel": "Restructuring and related cost, number of positions eliminated, period percent" } } }, "localname": "RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_RestructuringCharges": { "auth_ref": [ "r39", "r286", "r287", "r615" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "order": 1.0, "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Restructuring Charges", "terseLabel": "Restructuring charges" } } }, "localname": "RestructuringCharges", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/RestructuringChargesNarrativeDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestructuringCostAndReserveAxis": { "auth_ref": [ "r281", "r282", "r287", "r288" ], "lang": { "en-us": { "role": { "documentation": "Information by type of restructuring cost.", "label": "Restructuring Type [Axis]", "terseLabel": "Restructuring Type [Axis]" } } }, "localname": "RestructuringCostAndReserveAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RestructuringCostAndReserveLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Restructuring Cost and Reserve [Line Items]", "terseLabel": "Restructuring Cost and Reserve [Line Items]" } } }, "localname": "RestructuringCostAndReserveLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r5", "r91", "r121", "r478", "r479", "r569" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings (Accumulated Deficit)", "verboseLabel": "Accumulated deficit" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r132", "r169", "r170", "r171", "r173", "r179", "r181", "r252", "r402", "r403", "r404", "r407", "r408", "r416", "r475", "r477" ], "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]", "terseLabel": "Accumulated Deficit" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Abstract]", "terseLabel": "Revenue from Contract with Customer [Abstract]" } } }, "localname": "RevenueFromContractWithCustomerAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r208", "r209", "r227", "r232", "r233", "r239", "r240", "r243", "r352", "r354", "r452" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Total revenues" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r342", "r343", "r344", "r345", "r346", "r347", "r350", "r351", "r357", "r358" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.", "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "Revenue Recognition" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RevenueRecognition" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueFromRelatedParties": { "auth_ref": [ "r25", "r129", "r301", "r302", "r303", "r309", "r310", "r311" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue, fees and commissions earned from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, for example, but not limited to, pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates.", "label": "Revenue from Related Parties", "terseLabel": "Revenue from related parties" } } }, "localname": "RevenueFromRelatedParties", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnauditedParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueRemainingPerformanceObligation": { "auth_ref": [ "r348" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.", "label": "Revenue, Remaining Performance Obligation, Amount", "terseLabel": "Performance obligation" } } }, "localname": "RevenueRemainingPerformanceObligation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]", "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "auth_ref": [ "r349" ], "lang": { "en-us": { "role": { "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period", "terseLabel": "Expected timing of satisfaction, period" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails" ], "xbrltype": "durationItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "auth_ref": [ "r349" ], "lang": { "en-us": { "role": { "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]", "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock": { "auth_ref": [ "r628" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of expected timing for satisfying remaining performance obligation.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block]", "terseLabel": "Performance obligation, expected timing of satisfaction" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenuesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Revenues [Abstract]", "verboseLabel": "Revenues:" } } }, "localname": "RevenuesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_RevolvingCreditFacilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.", "label": "Revolving Credit Facility [Member]", "terseLabel": "Revolving Credit Facility" } } }, "localname": "RevolvingCreditFacilityMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SaleOfStockConsiderationReceivedOnTransaction": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Cash received on stock transaction after deduction of issuance costs.", "label": "Sale of Stock, Consideration Received on Transaction", "terseLabel": "Net proceeds received" } } }, "localname": "SaleOfStockConsiderationReceivedOnTransaction", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SalesRevenueProductLineMember": { "auth_ref": [ "r602" ], "lang": { "en-us": { "role": { "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.", "label": "Revenue, Product and Service Benchmark [Member]", "terseLabel": "Revenue" } } }, "localname": "SalesRevenueProductLineMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of accrued liabilities.", "label": "Schedule of Accrued Liabilities [Table Text Block]", "terseLabel": "Schedule of other accrued liabilities" } } }, "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": { "auth_ref": [ "r48" ], "lang": { "en-us": { "role": { "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities.", "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]", "terseLabel": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]" } } }, "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/NetLossperShareSharesNotIncludedinComputationofDilutedNetLossPerShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": { "auth_ref": [ "r48" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]", "terseLabel": "Shares Not Included in Computation of Diluted Net Loss Per Share" } } }, "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/NetLossperShareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfCashAndCashEquivalentsTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule of cash and cash equivalent balances. This table excludes restricted cash balances.", "label": "Schedule of Cash and Cash Equivalents [Table]", "terseLabel": "Schedule of Cash and Cash Equivalents [Table]" } } }, "localname": "ScheduleOfCashAndCashEquivalentsTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of cash and cash equivalents.", "label": "Schedule of Cash and Cash Equivalents [Table Text Block]", "terseLabel": "Schedule of cash and cash equivalents" } } }, "localname": "ScheduleOfCashAndCashEquivalentsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": { "auth_ref": [ "r93", "r96" ], "lang": { "en-us": { "role": { "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.", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]", "terseLabel": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "auth_ref": [ "r93" ], "lang": { "en-us": { "role": { "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.", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]", "verboseLabel": "Schedule of stock-based compensation expense" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock": { "auth_ref": [ "r63" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Disclosure on Geographic Areas, Long-Lived Assets in Individual Foreign Countries by Country [Table Text Block]", "verboseLabel": "Schedule of long-lived assets by geographical area" } } }, "localname": "ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable": { "auth_ref": [ "r520", "r610" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about allowance for credit loss on financing receivable.", "label": "Financing Receivable, Allowance for Credit Loss [Table]", "terseLabel": "Financing Receivable, Allowance for Credit Loss [Table]" } } }, "localname": "ScheduleOfFinancingReceivableAllowanceForCreditLossesTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock": { "auth_ref": [ "r70" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of goodwill and intangible assets, which may be broken down by segment or major class.", "label": "Schedule of Intangible Assets and Goodwill [Table Text Block]", "terseLabel": "Schedule of intangible assets and goodwill" } } }, "localname": "ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r0", "r9", "r10", "r11" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.", "label": "Schedule of Inventory, Current [Table Text Block]", "verboseLabel": "Schedule of inventory components" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "auth_ref": [ "r74" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table]", "terseLabel": "Schedule of Property, Plant and Equipment [Table]" } } }, "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": { "auth_ref": [ "r108", "r109" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Related Party Transactions, by Related Party [Table]", "terseLabel": "Schedule of Related Party Transactions, by Related Party [Table]" } } }, "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfRestructuringAndRelatedCostsTable": { "auth_ref": [ "r281", "r282", "r283", "r284", "r287", "r288", "r289" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Restructuring and Related Costs [Table]", "terseLabel": "Schedule of Restructuring and Related Costs [Table]" } } }, "localname": "ScheduleOfRestructuringAndRelatedCostsTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "auth_ref": [ "r57", "r58", "r60", "r70" ], "lang": { "en-us": { "role": { "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.", "label": "Schedule of Segment Reporting Information, by Segment [Table]", "terseLabel": "Schedule of Segment Reporting Information, by Segment [Table]" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "nsuri": "http://fasb.org/us-gaap/2022", "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" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "auth_ref": [ "r57", "r58", "r60", "r70" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.", "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "terseLabel": "Schedule of segment reporting" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r369", "r371", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about share-based payment arrangement.", "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]", "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]" } } }, "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails", "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]", "terseLabel": "Schedule of stock-based compensation expense by security types" } } }, "localname": "ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfStockByClassTable": { "auth_ref": [ "r81", "r82", "r83", "r85", "r86", "r87", "r88", "r89", "r90", "r91", "r143", "r144", "r145", "r197", "r323", "r324", "r325", "r327", "r331", "r336", "r338", "r550", "r579", "r594" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Stock by Class [Table]", "terseLabel": "Schedule of Stock by Class [Table]" } } }, "localname": "ScheduleOfStockByClassTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": { "auth_ref": [ "r49", "r51", "r52", "r53", "r103", "r105" ], "lang": { "en-us": { "role": { "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.", "label": "Schedules of Concentration of Risk, by Risk Factor [Table Text Block]", "terseLabel": "Schedule of customers that contributed 10% or more of total accounts receivable" } } }, "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SecurityDeposit": { "auth_ref": [ "r583" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Security Deposit", "terseLabel": "Security deposit" } } }, "localname": "SecurityDeposit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SecurityOwnedNotReadilyMarketableAxis": { "auth_ref": [ "r111" ], "lang": { "en-us": { "role": { "documentation": "Information by name of not readily marketable security.", "label": "Security Owned Not Readily Marketable [Axis]", "terseLabel": "Security Owned Not Readily Marketable [Axis]" } } }, "localname": "SecurityOwnedNotReadilyMarketableAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueofNonmarketableEquitySecuritiesDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SecurityOwnedNotReadilyMarketableNameDomain": { "auth_ref": [ "r111" ], "lang": { "en-us": { "role": { "documentation": "Name of the security category or actual security title.", "label": "Security Owned Not Readily Marketable, Name [Domain]", "terseLabel": "Security Owned Not Readily Marketable, Name [Domain]" } } }, "localname": "SecurityOwnedNotReadilyMarketableNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueofNonmarketableEquitySecuritiesDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentDomain": { "auth_ref": [ "r205", "r208", "r209", "r210", "r211", "r212", "r213", "r214", "r215", "r216", "r217", "r218", "r219", "r227", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r235", "r237", "r243", "r267", "r268", "r269", "r270", "r271", "r272", "r273", "r274", "r275", "r284", "r289", "r540", "r679" ], "lang": { "en-us": { "role": { "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Segments [Domain]", "terseLabel": "Segments [Domain]" } } }, "localname": "SegmentDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentReportingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Segment Reporting [Abstract]", "terseLabel": "Segment Reporting [Abstract]" } } }, "localname": "SegmentReportingAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r205", "r206", "r207", "r217", "r220", "r231", "r235", "r236", "r237", "r238", "r239", "r242", "r243", "r244" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.", "label": "Segment Reporting Disclosure [Text Block]", "verboseLabel": "Segment, Geographical and Other Revenue Information" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformation" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentReportingInformationLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Segment Reporting Information [Line Items]", "terseLabel": "Segment Reporting Information [Line Items]" } } }, "localname": "SegmentReportingInformationLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "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" ], "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingPolicyPolicyTextBlock": { "auth_ref": [ "r221", "r222", "r223", "r224", "r225", "r226", "r240" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for segment reporting.", "label": "Segment Reporting, Policy [Policy Text Block]", "terseLabel": "Segment Information" } } }, "localname": "SegmentReportingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r27" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "order": 4.0, "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.", "label": "Selling, General and Administrative Expense", "terseLabel": "Selling, general and administrative" } } }, "localname": "SellingGeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpensesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing selling, general and administrative expense.", "label": "Selling, General and Administrative Expenses [Member]", "verboseLabel": "Selling, general and administrative" } } }, "localname": "SellingGeneralAndAdministrativeExpensesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SeriesAPreferredStockMember": { "auth_ref": [ "r584", "r585", "r624" ], "lang": { "en-us": { "role": { "documentation": "Series A preferred stock.", "label": "Series A Preferred Stock [Member]", "terseLabel": "Series A Preferred Stock" } } }, "localname": "SeriesAPreferredStockMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SeriesBPreferredStockMember": { "auth_ref": [ "r584", "r585", "r624" ], "lang": { "en-us": { "role": { "documentation": "Series B preferred stock.", "label": "Series B Preferred Stock [Member]", "terseLabel": "Series B Preferred Stock" } } }, "localname": "SeriesBPreferredStockMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SeriesCPreferredStockMember": { "auth_ref": [ "r584", "r585", "r624" ], "lang": { "en-us": { "role": { "documentation": "Series C preferred stock.", "label": "Series C Preferred Stock [Member]", "terseLabel": "Series C Preferred Stock" } } }, "localname": "SeriesCPreferredStockMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r38" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Noncash Expense", "verboseLabel": "Stock-based compensation" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "auth_ref": [ "r565" ], "lang": { "en-us": { "role": { "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period", "terseLabel": "Award vesting period" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r387" ], "lang": { "en-us": { "role": { "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period", "terseLabel": "Grants in period (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails", "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "auth_ref": [ "r567" ], "lang": { "en-us": { "role": { "documentation": "Number of shares authorized for issuance under share-based payment arrangement.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized", "terseLabel": "Number of shares authorized" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "auth_ref": [ "r94" ], "lang": { "en-us": { "role": { "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant", "terseLabel": "Number of shares available for grant" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Award Type [Domain]", "terseLabel": "Award Type [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r381" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "terseLabel": "Weighted average exercise price of stock options exercised (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationAwardTrancheOneMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "First portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.", "label": "Share-Based Payment Arrangement, Tranche One [Member]", "terseLabel": "Tranche One" } } }, "localname": "ShareBasedCompensationAwardTrancheOneMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationAwardTrancheTwoMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Second portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.", "label": "Share-Based Payment Arrangement, Tranche Two [Member]", "terseLabel": "Tranche Two" } } }, "localname": "ShareBasedCompensationAwardTrancheTwoMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": { "auth_ref": [ "r632" ], "lang": { "en-us": { "role": { "documentation": "Percentage of vesting of award under share-based payment arrangement.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Percentage", "terseLabel": "Award vesting rights" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": { "auth_ref": [ "r566" ], "lang": { "en-us": { "role": { "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.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Period", "terseLabel": "Expiration period" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Purchase price of common stock expressed as a percentage of its fair value.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent", "terseLabel": "Purchase price of common stock" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_SharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.", "label": "Shares, Outstanding", "periodEndLabel": "Ending balance (in shares)", "periodStartLabel": "Beginning balance (in shares)" } } }, "localname": "SharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation", "negatedTerseLabel": "Taxes paid related to net share settlement of equity awards (in shares)" } } }, "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_ShortTermLeaseCost": { "auth_ref": [ "r433", "r568" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails": { "order": 3.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less.", "label": "Short-Term Lease, Cost", "terseLabel": "Short-term lease cost" } } }, "localname": "ShortTermLeaseCost", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r47", "r162" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.", "label": "Significant Accounting Policies [Text Block]", "verboseLabel": "Basis of Presentation and Summary of Significant Accounting Policies" } } }, "localname": "SignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_StatementBusinessSegmentsAxis": { "auth_ref": [ "r133", "r205", "r208", "r209", "r210", "r211", "r212", "r213", "r214", "r215", "r216", "r217", "r218", "r219", "r227", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r235", "r237", "r243", "r267", "r268", "r269", "r270", "r271", "r272", "r273", "r274", "r275", "r277", "r284", "r289", "r540", "r679" ], "lang": { "en-us": { "role": { "documentation": "Information by business segments.", "label": "Segments [Axis]", "terseLabel": "Segments [Axis]" } } }, "localname": "StatementBusinessSegmentsAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementClassOfStockAxis": { "auth_ref": [ "r143", "r144", "r145", "r164", "r185", "r186", "r188", "r190", "r197", "r198", "r251", "r299", "r302", "r303", "r304", "r310", "r311", "r323", "r324", "r327", "r331", "r338", "r422", "r506", "r579", "r594", "r600" ], "lang": { "en-us": { "role": { "documentation": "Information by the different classes of stock of the entity.", "label": "Class of Stock [Axis]", "terseLabel": "Class of Stock [Axis]" } } }, "localname": "StatementClassOfStockAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r21", "r84", "r132", "r153", "r154", "r155", "r169", "r170", "r171", "r173", "r179", "r181", "r196", "r252", "r339", "r402", "r403", "r404", "r407", "r408", "r416", "r423", "r424", "r425", "r426", "r427", "r428", "r439", "r475", "r476", "r477" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]", "terseLabel": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Statement [Line Items]", "terseLabel": "Statement [Line Items]" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsParenthetical", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnauditedParenthetical", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Cash Flows [Abstract]", "terseLabel": "Statement of Cash Flows [Abstract]" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Financial Position [Abstract]", "terseLabel": "Statement of Financial Position [Abstract]" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Stockholders' Equity [Abstract]", "terseLabel": "Statement of Stockholders' Equity [Abstract]" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r169", "r170", "r171", "r196", "r452" ], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.", "label": "Statement [Table]", "terseLabel": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsParenthetical", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnauditedParenthetical", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_StockCompensationPlanMember": { "auth_ref": [ "r601" ], "lang": { "en-us": { "role": { "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.", "label": "Share-Based Payment Arrangement [Member]", "terseLabel": "Shares issuable under the Equity Incentive Plan" } } }, "localname": "StockCompensationPlanMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/NetLossperShareSharesNotIncludedinComputationofDilutedNetLossPerShareDetails" ], "xbrltype": "domainItemType" }, "us-gaap_StockIssuedDuringPeriodSharesIssuedForServices": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Stock Issued During Period, Shares, Issued for Services", "terseLabel": "Shares issued in exchange for service (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesIssuedForServices", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesNarrativeDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesNewIssues": { "auth_ref": [ "r2", "r3", "r84", "r91" ], "lang": { "en-us": { "role": { "documentation": "Number of new stock issued during the period.", "label": "Stock Issued During Period, Shares, New Issues", "terseLabel": "Issuance of common stock, net of issuance costs (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesNewIssues", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesOther": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares of stock issued attributable to transactions classified as other.", "label": "Stock Issued During Period, Shares, Other", "terseLabel": "Release of stock awards (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesOther", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r2", "r3", "r84", "r91", "r381" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period", "terseLabel": "Stock options exercised (in shares)", "verboseLabel": "Exercise of stock options (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueNewIssues": { "auth_ref": [ "r2", "r3", "r84", "r91" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Stock Issued During Period, Value, New Issues", "terseLabel": "Issuance of common stock, net of issuance costs of $390" } } }, "localname": "StockIssuedDuringPeriodValueNewIssues", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r21", "r84", "r91" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Stock Issued During Period, Value, Stock Options Exercised", "verboseLabel": "Exercise of stock options" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r3", "r6", "r7", "r67", "r569", "r595", "r608", "r660" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.", "label": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "Ending balance", "periodStartLabel": "Beginning balance", "totalLabel": "Total stockholders' equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "verboseLabel": "Stockholders' equity:" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "auth_ref": [ "r92", "r163", "r324", "r326", "r327", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r335", "r337", "r339", "r415" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.", "label": "Stockholders' Equity Note Disclosure [Text Block]", "terseLabel": "Capital Stock" } } }, "localname": "StockholdersEquityNoteDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CapitalStock" ], "xbrltype": "textBlockItemType" }, "us-gaap_SupplementalCashFlowInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "Supplemental disclosure of cash flow information:" } } }, "localname": "SupplementalCashFlowInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_SupplyCommitmentTableTextBlock": { "auth_ref": [ "r1" ], "lang": { "en-us": { "role": { "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.", "label": "Supply Commitment [Table Text Block]", "terseLabel": "Schedule of supply and service commitments" } } }, "localname": "SupplyCommitmentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_TypeOfRestructuringDomain": { "auth_ref": [ "r281", "r282", "r287", "r288" ], "lang": { "en-us": { "role": { "documentation": "Identification of the types of restructuring costs.", "label": "Type of Restructuring [Domain]", "terseLabel": "Type of Restructuring [Domain]" } } }, "localname": "TypeOfRestructuringDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_UnbilledReceivablesCurrent": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_NotesReceivableGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Unbilled Receivables, Current", "terseLabel": "Unbilled receivables" } } }, "localname": "UnbilledReceivablesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited", "http://www.codexis.com/role/RevenueRecognitionContractswithCustomerDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r54", "r55", "r56", "r200", "r201", "r202", "r203" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.", "label": "Use of Estimates, Policy [Policy Text Block]", "terseLabel": "Use of Estimates" } } }, "localname": "UseOfEstimates", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_VestingAxis": { "auth_ref": [ "r632", "r633", "r634", "r635", "r636", "r637", "r638", "r639", "r640", "r641", "r642", "r643", "r644", "r645", "r646", "r647", "r648", "r649", "r650", "r651", "r652", "r653", "r654", "r655", "r656", "r657" ], "lang": { "en-us": { "role": { "documentation": "Information by vesting schedule of award under share-based payment arrangement.", "label": "Vesting [Axis]", "terseLabel": "Vesting [Axis]" } } }, "localname": "VestingAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VestingDomain": { "auth_ref": [ "r632", "r633", "r634", "r635", "r636", "r637", "r638", "r639", "r640", "r641", "r642", "r643", "r644", "r645", "r646", "r647", "r648", "r649", "r650", "r651", "r652", "r653", "r654", "r655", "r656", "r657" ], "lang": { "en-us": { "role": { "documentation": "Vesting schedule of award under share-based payment arrangement.", "label": "Vesting [Domain]", "terseLabel": "Vesting [Domain]" } } }, "localname": "VestingDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r184", "r190" ], "lang": { "en-us": { "role": { "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.", "label": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Weighted average common stock shares used in computing net loss per share, diluted (in shares)" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r183", "r190" ], "lang": { "en-us": { "role": { "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.", "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Weighted average common stock shares used in computing net loss per share, basic (in shares)" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "xbrltype": "sharesItemType" } }, "unitCount": 9 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(25))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(b))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r102": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "820", "URI": "https://asc.fasb.org/topic&trid=2155941", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "845", "URI": "https://asc.fasb.org/extlink&oid=126934811&loc=d3e32049-108421", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39603-107864", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(c))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "https://asc.fasb.org/extlink&oid=126941158&loc=d3e41242-110953", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "820", "Topic": "940", "URI": "https://asc.fasb.org/extlink&oid=35710923&loc=d3e45360-110995", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(1)(a))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.15(5))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.17)", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(15))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.1)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(2))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.(a),19)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.15(a))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(8))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(c)", "Topic": "946", "URI": "https://asc.fasb.org/extlink&oid=99383244&loc=d3e12121-115841", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07.1(c))", "Topic": "946", "URI": "https://asc.fasb.org/extlink&oid=120401555&loc=SL114874292-224272", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "https://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(n)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "105", "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "205", "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(13))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(14))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(15))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(17))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(18))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(27)(b))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3)(b))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(4))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3367-108585", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18726-107790", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(e)(1))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(m)(1)(iii))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(m)(2)(ii))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-04(a))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.21)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.24)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.M.Q2)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=122038215&loc=d3e31137-122693", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1448-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1505-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1252-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1278-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1337-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.25)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e3842-109258", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r195": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "https://asc.fasb.org/topic&trid=2144383", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org/extlink&oid=6373374&loc=d3e70434-108055", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "272", "URI": "https://asc.fasb.org/extlink&oid=6373374&loc=d3e70478-108055", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r204": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "https://asc.fasb.org/topic&trid=2134479", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8657-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(j)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(10))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "26", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8844-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "34", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8981-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r244": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "https://asc.fasb.org/topic&trid=2134510", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=SL6953401-111524", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "321", "URI": "https://asc.fasb.org/extlink&oid=126980263&loc=SL75117539-209714", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1(e))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "323", "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919244-210447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919253-210447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919269-210447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919272-210447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919230-210447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919230-210447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919236-210447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL82922888-210455", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL82922895-210455", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(g)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL82922900-210455", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "340", "URI": "https://asc.fasb.org/extlink&oid=126905575&loc=SL49131252-203054", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "410", "URI": "https://asc.fasb.org/extlink&oid=116646717&loc=d3e6290-110844", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "410", "URI": "https://asc.fasb.org/extlink&oid=6392692&loc=d3e7535-110849", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7(b))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.3)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140864-122747", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(1))", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(2))", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(d))", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.9)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(e))", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r291": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "420", "URI": "https://asc.fasb.org/topic&trid=2175745", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "440", "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "440", "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496180-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130531-203044", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130532-203044", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130558-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130543-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130543-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r355": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130550-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r358": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "https://asc.fasb.org/topic&trid=49130388", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(A)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(B)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(C)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(n)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(d)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(f)(3)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=SL116886442-113899", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4534-113899", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4549-113899", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r372": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(03)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(01)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(02)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(03)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r390": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r393": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(l)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r405": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "https://asc.fasb.org/topic&trid=2228938", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r407": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.7)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3044-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r410": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126731327&loc=SL126733271-114008", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(4)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19279-110258", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r424": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r425": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r429": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4304-108586", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r432": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r434": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r435": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(3)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r436": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(4)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r437": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r438": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(3)(iii)(03)", "Topic": "848", "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4313-108586", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r441": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r442": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r443": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r444": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39691-107864", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r445": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "850", "URI": "https://asc.fasb.org/topic&trid=2122745", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r446": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r447": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r448": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r449": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4332-108586", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r450": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "https://asc.fasb.org/extlink&oid=126937589&loc=SL119991595-234733", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r451": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "912", "URI": "https://asc.fasb.org/extlink&oid=126938201&loc=d3e55415-109406", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r452": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "https://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r453": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(a)", "Topic": "932", "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e61929-109447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r454": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(b)", "Topic": "932", "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e61929-109447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r455": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(a)", "Topic": "932", "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62059-109447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r456": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(b)", "Topic": "932", "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62059-109447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r457": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(a)", "Topic": "932", "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62395-109447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r458": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(b)", "Topic": "932", "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62395-109447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r459": { "Name": "Accounting Standards Codification", "Paragraph": "33", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(a)", "Topic": "932", "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62479-109447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=SL98516268-108586", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r460": { "Name": "Accounting Standards Codification", "Paragraph": "33", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(b)", "Topic": "932", "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62479-109447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r461": { "Name": "Accounting Standards Codification", "Paragraph": "35A", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(a)", "Topic": "932", "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=SL6807758-109447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r462": { "Name": "Accounting Standards Codification", "Paragraph": "35A", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(b)", "Topic": "932", "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=SL6807758-109447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r463": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(c)(1)", "Topic": "932", "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e61872-109447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r464": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(c)(2)", "Topic": "932", "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e61872-109447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r465": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(10)(1))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r466": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(11))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r467": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r468": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(1))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r469": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(2))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r47": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "https://asc.fasb.org/topic&trid=2122369", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r470": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r471": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(5))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r472": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r473": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(9))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r474": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r475": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r476": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r477": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r478": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r479": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r480": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r481": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org/extlink&oid=118262064&loc=SL116631418-115840", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r482": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org/extlink&oid=118262064&loc=SL116631419-115840", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r483": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column B)(Footnote 6))", "Topic": "946", "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r484": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column B))", "Topic": "946", "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r485": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 6))", "Topic": "946", "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r486": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column D)(Footnote 6))", "Topic": "946", "URI": "https://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r487": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "310", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Topic": "948", "URI": "https://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r488": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "954", "URI": "https://asc.fasb.org/extlink&oid=120413173&loc=SL6242262-115580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r489": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "954", "URI": "https://asc.fasb.org/extlink&oid=120413173&loc=SL116631458-115580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6327-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r490": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Topic": "954", "URI": "https://asc.fasb.org/extlink&oid=127002003&loc=SL6242269-115581", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r491": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Topic": "954", "URI": "https://asc.fasb.org/extlink&oid=126942805&loc=d3e3115-115594", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r492": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "440", "Subparagraph": "(a)", "Topic": "954", "URI": "https://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r493": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column B))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r494": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column C))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r495": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column D))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r496": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column E))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r497": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column F))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r498": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column G))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r499": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column H))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r500": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column I))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r501": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r502": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 4))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r503": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 5))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r504": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(c)", "Topic": "976", "URI": "https://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r505": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "978", "URI": "https://asc.fasb.org/extlink&oid=126945304&loc=d3e27327-108691", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r506": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1402", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r507": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(1)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r508": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r509": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(3)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r510": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(4)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r511": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(5)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r512": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(1)(i)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r513": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(1)(ii)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r514": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(i)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r515": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(ii)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r516": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(iii)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r517": { "Name": "Regulation S-K (SK)", "Number": "229", "Publisher": "SEC", "Section": "1402", "Subsection": "Instruction 5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r518": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1405", "Subparagraph": "(1)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r519": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1405", "Subparagraph": "(2)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r520": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1405", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r521": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1406", "Subparagraph": "(1)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r522": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1406", "Subparagraph": "(2)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r523": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1406", "Subparagraph": "(3)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r524": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1406", "Subparagraph": "(4)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r525": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1406", "Subparagraph": "(5)", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r526": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1406", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r527": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r528": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r529": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6442-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r530": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226024-175313", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r531": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226049-175313", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r532": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226052-175313", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r533": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e4984-109258", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r534": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r535": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r536": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r537": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124267575&loc=SL82921835-210448", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r538": { "Name": "Accounting Standards Codification", "Paragraph": "79", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124267575&loc=SL82922352-210448", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r539": { "Name": "Accounting Standards Codification", "Paragraph": "80", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124267575&loc=SL82922355-210448", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r540": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=122137925&loc=d3e14258-109268", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r541": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r542": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r543": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(1))", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r544": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(2))", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r545": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r546": { "Name": "Accounting Standards Codification", "Paragraph": "69B", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r547": { "Name": "Accounting Standards Codification", "Paragraph": "69C", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r548": { "Name": "Accounting Standards Codification", "Paragraph": "69E", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495743-112612", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r549": { "Name": "Accounting Standards Codification", "Paragraph": "69F", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495745-112612", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r550": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r551": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r552": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r553": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r554": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r555": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r556": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r557": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r558": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r559": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r560": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r561": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r562": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r563": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r564": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "80", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r565": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r566": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r567": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r568": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r569": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "852", "URI": "https://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r570": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r571": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r572": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117819544-158441", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r573": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r574": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r575": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r576": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "308", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r577": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r578": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r579": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70229-108054", "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r580": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14615-108349", "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef" }, "r581": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "https://asc.fasb.org/extlink&oid=6842918&loc=SL6314020-165662", "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef" }, "r582": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r583": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(17))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r584": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(27)(b))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r585": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r586": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r587": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r588": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r589": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r590": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r591": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r592": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r593": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=SL98516268-108586", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r594": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(d))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r595": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r596": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r597": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r598": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r599": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r600": { "Name": "Accounting Standards Codification", "Paragraph": "55", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e2626-109256", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r601": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r602": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r603": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8672-108599", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r604": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r605": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "321", "URI": "https://asc.fasb.org/extlink&oid=126980263&loc=SL75117539-209714", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r606": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "321", "URI": "https://asc.fasb.org/extlink&oid=126980263&loc=SL75117539-209714", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r607": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "321", "URI": "https://asc.fasb.org/extlink&oid=126980263&loc=SL75117539-209714", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r608": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r609": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r610": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r611": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919253-210447", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r612": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r613": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r614": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "410", "URI": "https://asc.fasb.org/extlink&oid=6393242&loc=d3e13237-110859", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r615": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=109237686&loc=d3e17752-110868", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r616": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r617": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r618": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r619": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8475-108599", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r620": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "https://asc.fasb.org/topic&trid=2127136", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r621": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r622": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r623": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r624": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r625": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130531-203044", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r626": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130533-203044", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r627": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r628": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r629": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r630": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r631": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(n)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r632": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r633": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r634": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r635": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r636": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r637": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r638": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r639": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "11B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=SL6953423-111524", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r640": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r641": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(03)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r642": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r643": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r644": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r645": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r646": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(01)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r647": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(02)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r648": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(03)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r649": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5111-111524", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r650": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r651": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r652": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r653": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r654": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r655": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r656": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r657": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r658": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r659": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=SL6953401-111524", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r660": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r661": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r662": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r663": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r664": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r665": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r666": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r667": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39603-107864", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r668": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "852", "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r669": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "852", "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r670": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r671": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r672": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r673": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r674": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r675": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r676": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "730", "Topic": "912", "URI": "https://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r677": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(1)(a))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r678": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(2))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r679": { "Name": "Accounting Standards Codification", "Paragraph": "4H", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27161-111563", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r680": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r681": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r682": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column B))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r683": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column C))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r684": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column D))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r685": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column E))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r686": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column F))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r687": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column G))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r688": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column H))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r689": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column I))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.BB)", "Topic": "330", "URI": "https://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r690": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1404", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r75": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "https://asc.fasb.org/topic&trid=2144648", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "15", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=126907419&loc=d3e10037-110241", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=124440162&loc=d3e12021-110248", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=124440162&loc=d3e12053-110248", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=126907907&loc=d3e13051-110250", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466302&loc=d3e4852-112606", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(CFRR 211.02)", "Topic": "480", "URI": "https://asc.fasb.org/extlink&oid=122040564&loc=d3e177068-122764", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=65888546&loc=d3e21300-112643", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21553-112644", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21475-112644", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21484-112644", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21488-112644", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21506-112644", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21521-112644", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21538-112644", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r92": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "https://asc.fasb.org/topic&trid=2208762", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=SL79508275-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.F)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11149-113907", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11178-113907", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "730", "URI": "https://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" } }, "version": "2.2" } ZIP 91 0001200375-23-000019-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001200375-23-000019-xbrl.zip M4$L#!!0 ( $.#I%;C#O@WXZH" *?-&0 1 8V1X+78 MP*^?K".!V6R#+9".D"-L2SI;G 6/O2'!S6/D3H?ZJE7K==^]#M?6I^ M=D517K/:/3[M-0\.!S5&&+]VL/=<>_Q&?$Y=H%)*QY$'H0'Q,@3H1. /I M=/+YL8<#?#M\PT[_>83FWTN'@\'Q\V?/3GROM=R'L'S0_?P,#SS#YK*E\8DG MK6;GT\6I7[Y\6?["E[N]@V?46ONL/'IQ*MXG7KMM/I,1HIZ-#HY/_?;]*&S0X^%K)(G@UZKM-/W5[;#5!DN>6D(*R@[-)-"GRW*S](G8$??:O^NN=< AM M5S0[_8'K!#B_:CCHW?Z^>)U]AD>_OM.WSJ/\TDN=G][O?>W'Y/J^/!=_O"+G MT!UV!KW3VT$Q/G@5&'A"\YOMS>VX^G;-?EB,B^[H%P?.'=]L^OC ME=;<0.G56^?#WO5'C7G>@4[S;64*M !=?_-6&@:OEZPOX][#Y^>^E MU6YG@+I>[)X>XV5A].WOI0&<#)Z5*'WVXC_^XS_^&C0'+7B1T5&#;4A_+S4529:'%$(R6BC+/4E:@Z1$"P=)RH]K95,HH<57 M9'9<.S\:FL_7.]B^TU5\G9YK;780QO\/3I=JS8BWCOS]J5_K?G[-MC_O\?HP M'JU_WM^P1UM'+P_WCUY]:JR].ZVW]YO[NV_YWMG+YO[&_E']PSK9.ZN?[N^^ M/VRP_>9KWFCMG76_['W8.]E?>TOK1_^T]]KO2(/5O^RUM]M[9Z\.&QOULWK[ M'=W;C>V]EB&OV?[IWH>@]H[B8:.]^:6QMD+WCO9D8V/]2_WL@&U]>'=6W]UN M-H[V>(.M?]GZL/DY;KQJ^HUWJK'Q3NZU-T_V-UZU]G>W6XVU5Y_VVNLG];-7 MK;W=5X?[:_4OC;,Z:;37Q]>\QV?)SOYNE^SOMII[^%Y[']ZW\#ZD_F&[N;>[ M?E;_\/ZP_N'5I_K9"J^?O65[[\WIZ]WU07V'G.#_9XVC UH_^)BHDRE*6^A$ M>"$,6@UK&2^X@&!(B%&B KP@J/<9AEK^]>R*6!]2RBOHJ6+V5J]:[F"I-K)M M>-N3P?/4/(%8)-?*"K$0^_?%?G:+V"T%X-*D@AO0A:#>%%8;=,R"6>.4L-;I MI1=E!S^BQ,_IR:MF/[C6'KC>*_REOQ#QCT1,;A&Q5\$I8Z&0@B+MHH(75@F9 M69@6)E%-7%AZD<4P-0F_P?MWXT+&=Y(QO47&X&D(W$%A-$<&#DBM+2 -ET%Q M880GD%M$M7/3/G1,\XMW <*&D\)9I4"P" M6,)%@H^;U\4^IK//M^$S=(:PC:%!L]/L'*!ZES)'#KWE6\V#,C)9/SF&@*'G M;K.-IVRE'?RUGUS(QT;V@%Z!2HY]GL=AKP3+=(%RUEBU[=!^U=DZ0B%\V#ZJ ML[=G=7Q68_>M0$&+K=UWHG&TWZY_>$<;N^$4GWGVFF\?[K5/6EM'[P0"Y;31 MKK.MW9>'6QDLK-'<_U G^Q_V6.-L[Q0_"P10Z_P:?-9PGR'(=@\1*)ML[VQ/ MUC?6$9CO^![[!]N_W=K/H#S*GP\00._3&"0E6.IG>Z*QN_D1N1T!ETSA(: K M .D1,TP5@1FJT%)HX&3IA;T/2H#8Z!,C$"@7!)2)CI&H@//@!;5D2B@Y18.S M ,E=0')V'23&,6%TH@55SA5".8)L$&21K K!>8*BS>;D/B"11$1FB&7&!$%3 M\,P;[O$I*@EOIF9*%B"Y*TCH=9!$;V*BW!4I)O0Y$4SAD( 4Q@O"G&.!*W-/ MD'AEE0PD&F64 &],#%Y1;4WTEO+ +X/DI-]\WFFV_EX:](;P<)A90./'T MH6%$B%GB4$IV,EH4!%8H8I#36HAEQ=NG%?9 1A50!HO,A&,&Y]D8AM0F* MDIB8TG'!1&8;),V;3$0*H:G!T,&:H!$DQ!8^2?SD,'81E@N?[LM$A-/.>8=D M53JAHK&)Z,2H21C$6 ]IX61F'"0WF(B*3 49;!$X"85@E!7>L500':W0+C@A MU#V=#'/ N 9KF*"">&\ M!UYXZ5*(,>J@R3U!XKS%FZ&#D5R)8)&*,.V0_ ;-(S5>+9C(3$+C!A.AT6@F M#2\T$:I BQ'1R818F.0\DDN ).[)1+PA6@FN*5XJ;-2.4 T0A1%&>N/-@HG, M-DA.;S(1E8@/S(8"#0F"1"%2#/Y2&$Z9349):^-]QT3 6D&5)B99H2@@XY5X MIP@)_Z51+YS,C(/D!A-)D8-V-A7 @2-)U:FP1)3L52HC13)4WW=,A#+EE4S) M:RDT1C8>9"0J4FX]F5Y0LP#)74%R@XDXH24-+!8@'2N$,.AN0J %TT9;3:CE M^KX#9SI*DT 19Q010(FW,8^L,(\^B'N]8"*S"8T;3,0GSXVTK C!RD(0(.A? M;)Z-I:#!:!)=_"83>=4;B: V[#1'N.@,VQYZ2U>Q$B(#(34R'A&$Y\A'4F)< M).Z(!:5OGZ^+$)IMU^K_O;39>'4.FKP&Z/G.H>O!2]>'^,:=YJG:E2^N%R_A M9J.+UZV$PR9"*^X>]J!_V&W%U_BM55[;7T=<-7T+=KOOH3^H#UN#YG&KF=N= MIP3Q.62Z:*+UYCF:]EC][!-K',76_H?WGQ 9>.WVX=;&'MW:;>3GGJ'$Q=Z' M[0MD;+41!6=UN7?VCM3;_[0;9]N(D.WF_M'AT=Y1_ -NZ059OEBDR)*4\.0L#CT<%0$ MR@S%$-D9B!KQ9)G[:42M=MO'T.F71F>EUW.= \@(>WEZ3]"YW@$,%HB;,.*: MEQ$79/TL?$0+XA2D6!!A*0;9X K+8BPB@B-P3SUUEX/LG\3;@UFP!=XJAK>H M9%0^JB(H)@H1HT6\D1R>>42""M:!_'6\S;Q]6SC5QX!<=JKAHTTZN21<$318 M)&9!HU,-H?!>@V<(/ T+XUK7+WYQ_M/5 MNY?8C^??^@/7&^15B^7ZV (;1^CY=5^/730S7CJ5%YQ^?<3HR/GW\X<\N])1 MM_:;IEY;HVT 381 TY28IS$PK92EAIPOG9%D%KIKM%-F,.X!>:FSSH_R M 2U?OU^:GXLW:X/K#WOP8BR \N#Y+'#! M,V*$UU[32V,JL]:CES'UDSTZ+/7Y:I>-MRL]?[>S=N_>Y$"=,"I$0:50>6D7 MC8(Q'0WA-L10]B:C;-9Z,^^L^^G>O-(#QF,\I(%;F8QP)!D@&"5)8,Y%@"OK M#AZX!\9J 0?9QX^^1GS8"?KJT!S4(9.16FSBT=&NT*^#@ZV\"?0-VK/3W;Q] M<.1E^B]/+Q]9.6FB)O9[@^_GMWZP(L^O&C7(\+^BJ!\ M,(R#U)XX+3@)QOA(/,I%6;0&WCT>5.=24+^D49?M$Q+3DG9>2"$V/V/O73ZU M'"%U@V[O)TW9C>OSCVO0Z;:;G=MN>U>'<^46SZZV_D>6%!U\% 0LM82*)(T1 MFFN>B#(B@+5\"@SIOCC-F'O3Z\9A&&SU=J#WN1E@A,8R5!D?VL&0H3]Y*$Z? MJ]'H@T K$R5Q@A'J4V#"&TMY/\WW'TX,_$&F%_=3TC4/R M+ )/7%%IA4_6T"09\5(:#I$G6GWCL(#6E*Q67J-$1 3A@A4T6>N"X$Y'+DFR MVD]C;&6&H%5):T&,2Q!53 "(VMM;7"!HF0],"N)>-K6HI):ZD1T!"E^I%X( MPJ,+7B?C% C CH]V"B*M1+\Q"BDZ%Y&6,6$4,5ZI2&Q(R1!*0YCSU73;Q]T.?NV/U.'\-/R]W>WL#+KAT^P&ZE=$([ATQB;MI ["J6"D MH8[X:)(QP?M''/Q[8-&LQ-C,-,.UWKAFW.RLNN/FP+4J(J8\7ZXX ,/H1DAC M//9&3-LP<,T.4CW7RXL<'R!$?1@U J6X9RG())&X66^=E1J_ M4J'S#I0*\+=9,G739V]"V<""-R(Y(AR5SE*:-S9'[[SF0LV?0!_-0$Y?N-HE MQIQ0PG,B-+%.ZR")4LI)Y32C\R?KTYH$ALV-:*;!,B@S6$@:YE&BIS=R(Z5%9YN3D TRPQ"21(F*P9IF-*@AN-#4A*0BC MO41T#J* Q[)P=&(!@+4VI\ZV+A!DAPPI!?54.\A;QO [S(UHIF'A)B3".L)VCSV MB/*95@]X#C3:Q"%J(W0DWN>A'QUL-(F 4168-I@E8S_]P6^)?PB)% D5,BL. M7L7@(@.=!,T;I.9/H-,929B.<#&>B3F.(2F**)C1EB9/B%64YFRK\R?<1QY) MF(I4>33!@Z7*N"@,%\XDQI0#8F+,^6)&H^US(,S'FZ^:5 @4,4"5@G-&.1?6 M.)>$BB0R"D3*(-+4)LD4\PX_)\2-3=B>N3Y MJHF-]!"M@7*C328EFANP@EHG#=/6VV0>3S[3ZH$<"#JGB(Z>BYP""#DV,SP% M*13-8UW5F0.8\05UTUFKB8$] 4$\,"("U3[7PU&)>1X1[;P*:S4K(M['8FA? M=Q2.6GIC#URY)FU\\/P>=]X$E]-W@0E@F0^":F=T$-)ZEZRGC(X7_E?#'%QX MKI?#/KJF?G]G=(O^Y5T 7W>.KW?.3ML_W OPPZ?/SK:#J=@;A@PT:":) "V\ M4S8Y)[WBRB/=$5/9'/V0^&ET/T/K9;,[.(2>.X;AH!D6"/HU!'D> %+R4@LF M=*"&2V :3,S;5YB/%?)83]T"3670PH,UX ,W-H#(Y1RB9HPY@VR'H7>K$N-9 M6*"I("@*3A1/0+U/>=V;T3(RR2A+V@8G*[DL:I8LT)/; B,"%\;B'4.2(M+D M/),NDJ1IC"I!%4CU+&R8>R!S6$E(T2AHM,Y08#FC%[4D@56Y1("$ &S>O-R3 MLE%3<7J&1T)51%]'B$A4.A ^!)6(-HPK5849O(6-FBU("2\#&):$<%S(9)WD M5C .)G$B0>L*N+T'M5&5=#S14\D,(2D"$"'X?X73]Z [@'" MY; 97.O2Y&%9M\+-I:U7DE-)J?(B1L&B-8X'8@A+3E,(A,P9?AYJA/0)(T@; MJZB1U$OG!"CM$]7:"TD-#0E\%1#TQ"4(8)V/4F:&)T2NY8.!&2/&!&M2C(M9 MMNK@9SKI!8DV(E ,_B )K8C/98Z)=R19B0ZEDMLSGJP/F0J"N9LC#8)AY^]8@'C21*-HT16-<<2%B,B*7PHF$)^^T,63.\#/?/F0Z"'*"H^%)@C(KO"!.IJ $ M1%EN (M5L$!/7()*26936:Q)"2?!Z(@B%8%RM :$SAN/?'0?4CYUY38D>HGAB-)\WB;3IN! YAH^)N24Q#QI%[R03AEFN#5" M2*.E0JM4 ?@\9?$I2:R3@BB(02@MK1)4&.K!<"\LJ<*JQX7KF-I.(ZJ"TGE[ M([%",FZI##0R15G*(]KSMF9JCEW'5. #TAM+.-H?#%G+:0^5B*2(((V1B*G" M$OZG+#[N,'",*7'T%4))D=-<@6(1 (4J$LQNDMC);>\;_YPK<,=O&Y?Q$OMM M:+MF3@YSR0MM^5;SH"SSOGYR#&$ <;?9QE.VT@[^VD^C% \[YP(=M?*OA[GQ MDMYF'HEB+E#G5I8\,>E*#91[HG5EB@TV<'I MH RWT>2O@;II _PIR2(*J0)$YT,P@G/MC?*,!D5)3$SI6%E93&#?\-P9ND6 ME%V<=QC^2R=4-#81G1@UB8=D/:1I(W[N4%?I .F1,TH\3&$D!XQKL(8) M*HCWQE&@7E I%7 &4R>4"QN_"*$FBWCGK>84:8S,Y4LMQE!,.Q5"T#Q2X]4" M\7.$^*F&;[.">*I4,$12T"J*X)--20A5UO*51I*GR>-G13C>$*T$UQ10*#;J M7(4#( HCC/3&3[TRX=R9A$6@,]HL; 55FIADA:)@E9/)J @)_Z51+U W3X'. MK*!.4J:\DBEY+47.2^]!1J(BY=:3&1A0FCO4+0A_W@X09O2[W>NJ$?^Y0MR#=99D63Y6W+N54B@"/>2.L\K4)"E8N"77B' MV&P-!\W/L -AV&L.FM!?/PFM883XJM=MYQI2PT$IQJUT7C *I;QSZ'KP\O3V M&US=RE*6:LOWP:>7-WK3BO]/CZCA0W=[(2*C"-P(ZSVW!DOO7!2.\^1[EC\HAU ./"1!L.B$0,:#D1UP-&'$Y/&%6"&.\QW,E4(= 6YEI1,? M '2KW2'V:N\X5[N;!)CN_-;W*< W:HY#P/=6NZV6\]U>Z8[/!V%7#GI0]N \ MDC:)021+H!F %AKQS7VR7FF0AOIH:(6JOO[(J*Y.%M]?;U[2N].M+QV(C>Y@ M&QPRO].ZZWV"@?,MN*)L__X K:I4! [)1VD($3QQ$5ARE %SR..DU5$S7@%L MS*UL(EBM,;J2+@81N?013" 8=1D5G1:N AXJ0O/Y:SAPK?6R/?<6Q?TMQ!0K MJT_?T@=BI%&>(WUF(BCG9) F:*.D2T#) C$S-RT[?NISN)/U "N],XANXE;GN\3[);L7*YF5H-PA8Z3(&XTF23B17&0D M.&6B,L%R.V? J/3XB4_&)465RNG&6++& @9$PN:2J1V(Q9'V4)4/TWJ*)O0 M*FTPBGJ59( D%&&&62&!$!:]UP*FOHVU>H1[@NN)D[-2 MFN$=$O<4S?GI6SD=T,K!00]#R %,CY9QH MH"',C3)-66*3TS$4CV%>FI3K:B<2G4%'%3R7)$$$,\.[?L]%\,HU>^]=:P@O M3R\^_@_>,8^#G+[.HR!7179QTF;G>#CHEV?02<74JZY_N-*)^;\\EO?9M6X. MX]6['1@#ZM6P$ZNBVRP1S64PC,6$<0 :XJ@H:,.0<3)?A:&6!Q#.HZ*4500I M,A!-N:7HNY60)'@;:*1 N%36J5G>V3@O2.%504K*:0T24X1;0;BSQ'#B==0R M,A4">Y)(F17A>&3<4GLF701AB40ZU%$O\E0\ M$XQ23X, G:SPWDA(=O:14G6#_[#48')(<=)9[< [D%J82 VQ7$1*;% @K><+ MI%2;&DQP\$=Y(AEX!=0)$9D5%-V03DIIH);%)XF461%.#*!<,HDK2846RD7. M(V@J\I@V)Z$"2S5^L<,3\"]5RA5;13Q $$GHJW6K (1UYM>%]]W<)HW M(PW0OF;;6BYS>GFZ>WI\>;+C]6BE=+=W>G%.54(OSKA,,HH8M8A!.BW0Z5$2 M9-X_FRHPESN[4IJ@%Y0F$.N<)DD+HG-2;PR718I:IB!8!69U[R2E\Y-?@^O# M8;<5-]O'O>YGJ-+$E(S.*J:03C(NI(X.&:7,U>D ME'GX@'D1 C'X1X",&@6F>!5&C^\EJM$^7>A5S44I(DQ@R81HK>#:.>F15F@P MTJ"<')DSC7I<,4UPQ9XBSJ>D#89F @QZJ[RTDOIHO8_:33VOZB29Q%9*S0 7 MQ_'<5\->ISD8]BJ3DDP)RI7P6M@HG#.6)^:L#I%[&EV@^-# M$-P%E0120&>3TH$@4T\I6C5O_ ^CX_Z@-RSWJ6YV\-*#'O2K0@"U-V"8UHY' M)5"?##'(VS4')KPU\81K+!6&<&",E8Y.8.%-2$4!>[6.V6,[PE)P +Y%_,Y'H6 B* MDX40;@I!%9Q,0@@BL22"25&!2#$9'<%BE].@;-"$56C:8^6+Z\5KC&RS$_*- M/T.YT6_KN$Q(,2*NTC0WK-7,ZXQ),[Y"U];=WWLTCG$@4E%)O%<-0,.2D5\I' M1Y,''QRC55J%-;.6Z0G!20*Q%C'$8R BDN0@"2(,=TH)$V:Y/-,/9'@IZ7D) MJ1D>L[X(4\O+6JW<@!NQ:AF673KAWA&K#4B/4;A(:J@( ?V0QH@'K48,@B)? MKI#AF)#(I^_W*FDRK$\NTNB8A""4)E8!)SX2BC%7WBQ4(2#-K =Z!.LU?2"% MR$!(K9D407@NO4F)<9&X(Q:4KE*\?ML8VG49EC3BS"&Q$K5WWC"*JFI8491IXQ$DD"9H9R!,Q U*J1E54C'>4>5+ W\ M>%3[S((Z^L^-(:Z2+105LM. 4O:-(LLF L ML8FF$K7B'+5B@=IY0^T/6U!6"#I/6+T3H.,07*-VC(H'C7YYU>U!"A M4N9D0WZ(\IXZ^Y\\E5T="6 M)"^23#9%X26S*0437,Y_:4"?)_6=99E_4P9S1N$F)W.GD[)*&<.%$MHXRPE3 M!@)0Y[UVHD+[[^=F='X2)F?DCN\ _%_U3E-)+$"\M5(:(:U*0FN$+Y&>,Q9 MT43-$UC;,'M3 95"[906?%JC/7"?$YQ0[BT)/C(&P )+%JJTN&NS$[IMN.#( MK[MAA-!K^X+Z@US@NS6?8]9Y X2)Z"EI .'0=:(LN4NTW*T2K:N0ZYPQ<4[% MITA-M$ /XJGD(EIDO](QXH.- AT,J]("ISN)\Z*@YY7R7>LGV=W,Y;A/L(S2 M&(1T@0F1B@93$GAD&+!R0X5@P@A+C14F>AZY MBE5BA7<2\ ZT6D@=-Z #/==",:_$=K/3[ ]RQ=[/,);T7/I>1RV/.FD6(A=) M*!.Y4X*:*(Q1QOIYT^79$/54M#HD[U*TT7!E!2AK4M+@8K(&.(9\LX)"<%7*?RY;8W']LY*WW7B]IPNM++,(1^F MBEEFA"34F[RD(U TQ-(DR:NKAH\LO:GH7D(W*8!;L,AZG?8.32?>W\F@(&=H MJKCN71ZKNM@Y,9]::&DRBN:$YAC"1)< 6:X(2D5+/%$5U\)IR'$J^L@%: /. M"9V("(;X@&$*B4))9BP;;^.?"SD^\GK'Z4B3,J>Y]\$F+CQ)-@\;J11CS(6K M:'4W,ST*,WV0I6E$4"*=I2)!'NOQMBSN2&24N5B(H943R<.SE >1@W&"1WN,\B%RL+1,^.6LHY+*8>9ND%>BFM$".1\]3$>/WAY;+O7N %4Q/PF9+ M[KBRU% MA>(1,>F#XS&B;P4E1Q-J:-9'I @_S!Y$(S2?OX8#UUHOVW,9H$WL MB1TTWBWHK?YH[OY761!2('E'%E2>.IDQ64Z D^0(R;L^$G4R"JL\R\LS%%.C M3(KS++4?/BHXQJ6#.T*>CH3,EZ^GK/LI'L<0E(H((CLQ.!R8\<@SPD/AXD'ZVQY=FQ'1/ M95@)B.':*". 8\0DT=T* E$YQY)DUNG9Y833D]J#D,!(-8M:*&MX$LD:*[@7 MWK#DF+5]Y/G!^\=WS?'(TI-8'"-(+ MKIEE02142DLC2S;,L$:6C@]0_/T\I9VGJD,8MHR6[W1[VJJKY]S;!FN>4X@$P0510BI4:T$E\<2!2C07 M'IU95-Q,*'=[?=B[5(U=@[;+*PB/N_WJ#')R(:)6 8 9E!Z3-D;#,&B-B9"@ M? 5J&E9,=!.LQ9SK4'H1\^X>(;1$YIO0)@/C*+THZ'@8:08+8+@14%?DXE0BG,22= MG2$U+#)%@XW2@4MJ5,Y%SW(YE]4>Q.;@7!27I+,+O?;K[@/7=-$3J^FB+2B: M*XXRYX3#@#!0)2&J8!CQ2:AJ2N(K9?G<;7U&2W;UI*K(QN1\9=A=0(T RITG M2!NU<=Z@K&29%7(DFV(AI'N.QET7TW=&XZZ?^BN+)0-8#S00($00IQQP2![U MSX(/7J?9SV?QNMOOK^(KH;B@$YK0?WG:<+EHY5;Z^O,U 6]V(K0[^.#1/I*- MH>NA1L!#U[F-*=XB>T:37 D;5 MA]&5F;H22'>;J2,3XP:.\V0 \D:T(+R@ED6/P9",E.;I&C<>91(+J%4<:E=' MO,1D+!8%&< GDPNG"TJ,H4$GC!((4.6(M>-U4.)\'=0"1E6'T?4E5N+N2ZS$ MA*(9X(F MU[K8,?'T7OB;I&(G5H:Q[J]U6R_ENKXSB M+Q+PW'&^X$X(7.T.L8M[Q[DELX"LJ6RXU)&A$5-&)95$4-9$1J6+3D.(VI J M+#>^8#OO-#O3[.Z-;7)Z#NK2Y:;US=MK^]5R,&4EO>MTX#(.MWGCB\?(# M1X?NDNOMCJ#M]+NM9BS58A/?]]I"A2V4O1N4]FGB:!;X MP@+'.5-61-II'5C%C6"!6Z>B<=$$ZJUSK@ICF@M[. ,XXA2,C(1):92PECF# MA ]HKN;G@F)52A&Z\.JS@.(I<=-@DO Z!::%X=Q0990C/C(A A^MQI]Q%"^\ M^@+'S:0!'",F&"J%515*%2QL(""6XP9?AS >17$P 20B-]L F&I1DP@;O8I4*HRX\S+0K?F8T2)"B*C,U M/Y+E:K=WG%> 0Z/;&8MS'OF"%5&1Q'4>H!,R%R[(B9Z%"-[B5S!SHIF/+\VI MZ*8)D2MIB>(,[FK@Z/!IZ!=%7SV*,7Z4;>W.NP/NFWH77;2Y[^M3&ID M%7$3L%WCG1[-_J>7IR^A$P[;KG=],U)>M#(>#QN/H[U&+O& #;E9R.G\]6^< M/(]8%M(Q*6U PAF$%,Y+3JV*,E'&(Y-56;'\0RR_7&#Y,;$\%2^+L$H>^:^* MD:";C=9&E=>CJES9C-(J%,V]$Y97%UB>>RP#5\2!3REG1' JV!024UIR$T.* MH4KK#9\&RB:CVFOSB&7KJ)).4>,P M+D=K+.$)O'8Y-RGUG!)-DW348E1H[+78;Y9S[]T=92LAY)WT"+0 S<_.MR:R M5F&J\>?LP/A>8=^5)(2_0I6=3#X:*M R"V&"#TQ3$I*C/.2B+/-BDJ<0]DU> M62H!X^GL9_ TQB "I4'D>=<\?$&(A.1"TDE794Y]%B.^!8P?D51$&[U4AN4% M:GD%)%':*!8E88III2M *A8PGBD83X54Y(5R%K'K9'2""'!46,E-L J"C43/ MBS5^M8#Q/%MC2#PI[YB)1@M$J[=HBF/25&K.J*+S N.-!8SG&<9>2Y:HM9Z! M%U* 5PPY,951!E Q^-FO-+0!W8.>.SYLAK5F+O#FAY?R"&8<]4Z?O]N9I-0> MILHIUR8P(2E-41"T*L&#,M1IXX+G2LQ^E8:I"F)RE1>XH19[QT2;G #+<@53 M1U 9/!>4\ J4RWC2BW4?!!,R&L5I#K2(%&@:+=?.FRB5]YH @]FWD@M,3-I@ MNV"US3E30T("*)CSB6G\#PC-J[+)?-B).5Z*_2"60FBE>+0Q" U"&NECH#J% M1$%S[V>Y[O4"%0]G*P0(G11QDD= 3N&=\9$;3U5@7-LH9]=6S)Y4)J>KU$G) M/4]18PA/D[(^H%./%-F>%1#4[.KJ[$EE@K55?:X%&9W2@($0./Z@[7AY;W^XW-=Z]*YC>Y@?&)%1 8I M*)F8XFCA1 I@(XG6>I*\<$%2,C9I$T(2 0!9CGX;P% K/5%!XT5@IHU 04Q))::>DBM1K%%QTR=,G(;SU?P]= M:[>[T0-DKKW=0]>QI'JB=(9&5$7FDV1"DX04T3L;N5(27:*NP$CLK_J]:LF+ M)TL<""="S-7#J+.&!-0[[V0TFE1@P+8B/&5RA)]Y<#8(0P3G0EDPC 0(&(9) MFRLC5V#(IG(\97+"BUXY'C05E"KA .VC@1B=]\)$_#$]">$]+D^9X+"80.1/0GC3Y"F3-*(4[:;/=1RB""A Q@2+J(M"!/2% M\V-$I\I3)B/.]!OSOL!>B/ MOAZ"BV7C8_/SB[_PG_/]&8E&(1E+'H0.Q,<4* 8DG(%T.OF/6RPXA":!X>#YX(M:WD\^/-+,PX.GZ-A^#]+Y:DO_NH?N\Z+OWSO&=Y@]'ET MGQMWRVTN7*MYT'F>5TM!;VET\?GQT&UU>\__DY1__DSXDD5R[6;K]/E_9P'V M:PWX4MONMEWGO__HNTZ_0&$WT^C$?O,,GE.%#2R_?ADU6N-]6LT.G+\$PA"; M_:ZQN;N^5MO97=E=W[G:YAEL[<[ZZKOMS=W-]9W:2F.MMOZOU?]9:6RLUU:W MZO7-G9W-K<847X'=Z14^N/XA*NF@V_FCMK:\NEQC!.G=-YO==KT#!-Z@>_R< MX_UG11"OMK;K__6?5)$__T(]ZW0[C6$;[Q1J8W74@AY"I6RG)/ MDM8@*=$Y$I&W[K.N=5RVGQ&:S]>Z89BM35YKN#2.9OC[4[_6_?R:;7_>X_5A M/%K_O+]AC[:.7A[N'[WZU%A[=UIO[S?W=]_RO;.7S?V-_:/ZAW6R=U8_W=]] M?]A@^\W7O-':.^M^V?NP=[*_]I;6C_YI[[7?D0:K?]EK;[?WSEX=-C;J9_7V M.[JW&]M[+7/RFNV?[GT(:N]LA=?7WN%U]=/ZT3O9V-AN-XX^G=0WUK_@\]KU MLW6V=_2JO;_V[G/<>"_B__S3VF>MS_[H^*B^%KXT=E]]JI]MGC9V/Y']C3VV MM8O7[;X\JF]@"W?WF_4/^Y\:[\UI'>__T3"F"0=3*!=$(9!Y%%987C!P"4!I M(2-:*DJ*MZ6U^RJ%%W>!$QJP28/'7,..N!4[O]5=[U,-/='OY\T<9'YXW@K? M[:'1+D(N8'S>Q[ M=[5\F0AQI]L^*UL\:C7V2^Z]OY?XTOD%QRY&M"W/V?%)C5ZU%BU(-[JFW8RQ M!7<'P4H/"7WM7:<9NA%J]9UOF1#R(QB,'.;#&XZW0V09T&N=;L-QMS=8JI7K MM ;X@)/!\]0\@5@@;:JF;7G5]!OOU/Y&76RMK?"]]AYO'+TZ0F=X4C\[;-?; M>R?UM?63QMKZE_VU^*EQ5A]?\QZ?)3O[N\>?]LX.1'TM-O>/ JM_J).]W?6S MK8V]T_VC]2_UW752WWWYJ<'>\CHU7U[OK@SJ.^3D-9[3.#J@]8./,2=#%-B% M+DJ"UHF3PAJOB\214"%VI.=FZ<5__:=%"?[Y30,U1OSC@_EN%LW^R!N64'[[ M;F5[=WW[]5YM>_W-UO9N[DO+:U7:/RM_C[ MZ(>M5[7=_UFO72(V%Z1F976WAH>IY>)*=Y5&X%EI_GYHX1^!,%S7]F\0AFZO M-CB$VK_/5;(VXO$UI/<0:X]@#$9#%>NC:.*J*8CX2]'&9Q[FRXKH3HM3<+T" M.I4T#3]-.]!TK'R,6M(8/"\P'N:%$$&B7BM61&--U,I;G^S2BWJNM#"",*=_ MU'+'_R0)F1F(=GL+/K+@(P\:R/2P?V2:VI=%L[.(] M/VR>-#;VQ!XRAOVC3Z)Q]KY=9V\ELH[#_?;Z=49R5#^*1W6V2?'*D[VC=;)_ M=-C<6GO?WMH]X(T/>V?[:Y^^--BK]M[[6QE) J8$T:D DW0ADJ>%]TP5/CEM M8W3@G1\S$C'GC&1W>Z6QLYEYQVQ1$OL8]OYZ&/I]1C*X4,IS2I)ZW79MU!>_ M_F]MT)W8O>[B46>HAU>[[7:SGT>J:ZF)#K4SS&/)SQ^2[*V7X]&O\&F-\F&5 M-*2_-&QT]C%G3>9!L )\L&@&C44SZ*#@(M!$#$AA?9Z(H/B+)O*Z(:Q-<0CU MAYZZQ-7';_^9^1'L!\?^-ASD;:2N,VC@D:>'?X+X1]@0%0O#*2L$8ZYP*I*" M"N8L"&!!DFR<(IPT^W^,+.MF)RS/D"+??X\8B(U*CT'!KHR[V=P_;C34\]\.K5F,M6^]6&R,+@FUC^[M[ M:,%C>_]H[UIHV!5[9X>MK8T]@N$DW?N ;3RJGVQ]V"-[NV]/]G;W6XVC30P- M]]N-UNV#U=RZ0'THB(10",I#X2+8(E#)$TG @TQ++]:@Y;ZX'CQ\;#BR)H\^ M_U8"_%HL\5/O].24=M>=;(X7ZH12<2L<7SRV-F[>&*C!>$1*H0J+0B@$)(J? M+"]$,!(2YREZNO1"TX(8S:RUW]7'27N>QU'-VV'\6^D.:MU>K=PC7CL:]IK] MV SEZ 12O.9EUU&>UCMPG>99^?WWA9FJ@(0WE[>7=Y9KZ^WC5O<417S5JM0: MW>7?[S&T=AMG?W0JK(G^&2K,R+(6>N*DE;)E;NSD;\N7*6,/0MSE0Q!W*>_6 MM;>:3_NS!F/$ *8:5$Z)(*S$V(-^?_Q?KA- *TP.&FULT]D_S?K1R_;^QB9O M;/QSV/CP3ZN._]<__--$U_YI:ZW^9>O#V^OD (G#)K9C\[2^L?]I[RB0O?8Z MQ;9B.]=/]MK8;O96U,]6Y/ZK6ZAZTY+]?QV2T'[?<1_L<*N-[[O;:&ZMO:/U MW8,O6VO;37P7N7?4.-ICF<"\/6NL_=-JG+WC_SI[^]%K0:SFJ@@*8B&BXX4A M-!82>44B,H7DY=(+1DCM#72ZOA^Z@]I:K_GY!N7_X^%'J<=06<6/6[W=[IQ$0#>.(+PC4R46%LX8B2110J&"% &Q.77FQ#_-+MQEH6U?2 4G+# MK=Z;7O2 <=!:Y;%G=(@H MO$[3?7_-S(+(/]GQAK'.O^FB4K?VF\>CL<&%0O]0H=]>'VS@P@A?#OU9@2;> M)U88&@DR!"4C4 ^"HDI:0=2W5[#]&E%^-/#>,00=8RL/*!SWT)4TCUVK!B<0 MA@-D0O@S1J/07PPGS+P@T2[4LF&XRXC!M_>FW2%:^\G+'GL%Y]>Y[__NUP;0 M@N/#;N=\W?2L-N%I>-?B\]ML#FO+,%U?P494UWC\]$T_J&(S1 M*% 7(Q0LF%2(D&3A!(F%)<2+Y+3TG"V]4))DIR0SKW7Q=1$?.Q@QZP MUQPT\8ZCM130@U@['O;ZP[RH8M"MX1GE*"UEO_G?L__,"PA7PN#YO=[M<0=H M48++9$1:[[U8@2]3:R8_E*J7M9S\""V7RUK<;6G%#^:,QC+)%.8Y4H!:F3"T ME@'XY_A07FEY[4BEIB%VFX-6N6AHW87#VFK+]?MWH$9/H%]Z+C=V(GW1&]UW M+ONI,5YS5L)G_20KB MG=.V[[9^NU,<]I-@O+57[R:DL0>Z_6%S82 >?9?0F'Z<4N9+\UQ)8CH>[EE[ MV6SL[O&MM2$D]44B 2!ZIRSU MJ!YK_]IY?.3/!V&:FM\XIV&C?1_7)P9:+3PE;W[.@RS_'C;S$,N@6_,P/@'O/!YEN=B>VNU=WIXZ'G6Y-%AS$7^L M8$?CX;P]M1;+7'CEJ<<]"%".^U(VND>9ZZ%?^PWOC'I2ZP\Q9ND?=O/^F/-- MH(-#-RBO_CJH7/OBKC:ZW-587CQ^I=__J+E.K/W&+KVW1Y7#D_Q1A@%>5)Z/ M5^;VC&]6UADI6U(VU_4'-4M&=XCNM+_\S?V@#ST+N3KL];!MH]WJV?,.W MKZ0!^95-99OR(Q!O@M6Z""*/93/&"\,M%-)0%] 00+!LZ<4>]*^K^&W[=Q\[ MOP$;38"-,_''+1C)31"9[2Y:RF'+ M?37=.\5N[;?\4?_).%L>GS4X;):;$8_S9L3)F>G>M\WTJ/D7AA?ZOT_/HE[J M[]S=8P/[Y"QJ_"F+Q42B2.D8@5A3"@#),L.2D6%O7>%G5A5Q_> MKJ(!<[46MAMJ+@2TJSV7C6.V+;W, &_]M880+FX]T&^C0<:G],YI%MJ=-G;" MZ1^9^N+MD"#F/CJH'?2Z7P:'YX>7D01#V;8(J=DI7/Y5S^05SJR\VG1RZQ\N6K;M!E=-G?<^7ROVRXS-?D= M+T(M4SOYW=\/UP?ZVT&]N8 MQ_$^(;'9;)_%$X:9Y]DXZSQ:;]=Q_?8/-T[>H>D]"6V ML='>WWC?VOKPOC7:HWRQ;#B/"YX@/4U!6J&\*T(D,2\;5H5E3A;21:%!L\BY M7'JQF?$=4>4]8+PCKZ.>>V< MB?S!W5+9I>>%[^X=).T;N MEM7TCH;Z'NK^,*=6P8BLWQX0+PS'_0S'>3=NE+VX>CZJL# @/VE 3F\S(,)+ MJ=%VV#QA)8A+A?6:%Y8$KO!OE SN84#N,D.MIC>0E[XS8):W -TZSM=,MTV= ME!,FR ([W7*^8]B';R4,[O;*1[1.\S._-/&)^+1:!U^IF\?4/C?[)9DJ M?ZRAC]E=/VD<;:*?JO./G$L/TJ>"6^4*$:4IG/:Q(-1'&HD0D84<-%=EANY^ MA4_H/X:=6(P;G,H_?SZ6#VI?\ MSUA'7Y73V>BCAIWF2$/+A=,8!E[16DV]MD;; !J!H\$FYFD,3"MEJ2%0UC_F M1!)4U@BAB1%E_^^ES<:K6U8EE8NWR[7;.^6CMH:#TH^B0[VJRYUANXC=03&^ M(7)P)-9X+_+$-'MK]^W91ZHX8T:80MI$49NY+[Q)I& ZH)&4SA&?M^.J/[32 M?VBJS[7Z7, O1BOB^^<.[ZO3_*__-(SJ/_NU.R^K_Z/6_2JSY6_JY[5ZJ\?= M$>]ZWH.\SN0SW*C ^G5JL9PE)%\O<;[?;0T'-R_Y4='6T;^'O:_QVP$4O@?N M4^'2 'K/7>N+.^TO/7O :K&WVJEO[*K]_I;;NQ7 U4O?;L2X:W.=B3N6G?C! M]M^K]^57[_LX14_OMC_X/&5\;90MONJO7K]5Q):'4+"6=C M]]N5I^]@8JJRIL0N,SOY5)_:+%,R^K=Q9=TS\]F9E>[>V MN5Q[M=E8::QNKKRN88BRM5U?V;U?3>5&9C)3MH_ACQNU]G-W?5Q(7JZ M//G)EXMTQM]\N90>[.5&CIC,=[7SZ[5W'#6-S /'WOYZYZ\'0PR![\O.1"[!,&BRK7;RPD^=. M\%/I8LM5.2]="S$$M9U#@$'_IQ S@73FY6[E;UN]A:SO)VO^#3DNU'D^1,R_ MJ"]&;7]/N"HT-L\78\(SC49.E%W77<0>EA?GO?FVMV0_#?C\O+,L9 M"%8ZKG7:;Y8TXZM)RC9KM!([G[,-_6%K,8HPE]A@[,D8*[XP5C,.2"/+U5-Y M,6JY#+&T/OA#Z_Q[-EZM;G^85TLZWQV>YW^L;3?[GQ86:2X P']QQJ)"%DDL M+-*, ]+2 MFES-\/'UHU3A>=7G^0^C!.'?6VK^V,O!;H73 S[Q!IPZW?LA29PO8=MY%&#VBL7!MW>PLK,B4R?D)E9S+[,/B+YTHMWG4M5;W=<:[33 M>[10ZW*YE3R\\*Y?EG\D77I1QVN0!"5 [G-I-G=A<.9#O$_( MX,B%P9EU1%*V]&*K3$:YV1FE+\-;+4S-? CV"9D:M3 U,X](N?1B_>2PZ9N+ M9?SS(D_]BVMC%]MT9EW(9NG%#O:K&RQBD/F1J/[N M(;:?;OE %P=A*FWCW9 M:,[^\>M95BE?OBW)ZBTXOD]&Q?M<=DU2$Z-A]D?KPMCEQ&3YS_>3DTVUF9L# M:-?H\C>V%=Y3"H_<]KOE?YV9QMXI=])LO\25Q& SWM3-3FWWL#O$6T2$R/I) M@.-![0W&]&6.\MI*.Y?\Z%^\QZ-G+:6,_4S64J66M9A\%5@JEI7YN9JUWS_& MS>23H9:-%9.L6?MKE/LQDXC^$/VEJRW3*M?.,RH_6FW!V>N(-0C0]JCUX[Y@ M]ZG =K/B1 @ 2&;OR>+;S1A;,)T.6.GW+SN6[R31_=;+CHUA3OG\[=2Z=\#- M#WOS5^YQ_T;>6_;C:B/3'P>\+OC;AP%7A[T>JF/-E0!X_E,(N/;*/R6@A[[' MA'2X5OYO?RS0Q[%FWY!I3NB3UWN%_ '^/6Q^=JTK5/VJ/[S3RY/:5'.!W^W- M__&?UX=-9NG5OEFW9]B/UXKVR*0(]XE[Y9.P3#OPX()GQ BOO:;CHCUE MA:VO17L*?EZS9]@O#IP[?IYQM-*)^;_UKR!:&:RZ7B_7S'N?J\3" M]SQ\S;^^R_>C MC=WM3^?7X+.&^^R=JA\UFEMKFU\:1^LG>^R=:&R\/<%GG-5WPUECH]%J[&X2 M?&?:V-A.]=.R &19"+)^MB?PV$<=50HJA$(K:@KA0!4.N"UT(-I$PXT*;ND% M)>P/P^F-TC^WI\;_&9-W#]V8I&]?&*BY-% 5WH3_H-*MNG21&HKQV?3=3" MUMS#UC16;Y(AQST-PHM".HZV!I(IG/10 #7*$QJH +'T0C+YJW;F.[K^4$3H MKO'O4U?-25&'A6K^BFK>H '>*PL\N"(ZR9 &N%3X*+-J2J6E,LX+GU7SEV.4 M":KF4QH2^CIQ^RL#?1,TR2V/$9CR970BBG)VL]"(#ACV_!@M,],*<[ M[_/MBR[?Z'7[_?$X^B+8G)B7:=XD@%P92;D+!407"V$<$D 50Q$E1PDR2T2N M;&__L/R70\T%!9Q939X4!5QH\J-I\@V^2)(6R<181$^@$,J*PO!("V?!"2TC M32%GVZ!_H$[/D"I/DC+..KDH$U-BCX\9XT\1B[L.TU?9'$ULMFWG(ZZDK],1FIQ8*_<@*?8-F4.ZI-$+^?_:^M*F-)%O[KRBX$_?V1.BX M?LX,T."::01THQ!V@Z (FQ$?G8A9HC$6#!/HAF3#>#&ROWP_^@@GC9E3C M(6@^=5&-\TG_H?D4.*H;CO86.+"(5HH(9($')(%Y3$ [R\%+15V0E+EL)9=M MJ66#E)YBOV@FORA2O!8IGB,543OG)140D*695'BP/#*0UAN"C,3.YN)8;71[ M4M%4TX5L-JG8'TY,OQ5G?%ZWL6!<*W'@7J)579RCZE@Y8VHM.%4;3KV>9QM( M19*.% *8DH131%'0PFF(GD85. O:R:3\H#96J";MY]IBLD&VCH -)-"$Y,NHJUMAMN(UF7X6+GHUVD580T/ MU_E/&(\?MTR_/_R:\_X?F$7DM[L(ZSB?ZS^'HPJOG@S\?X;I&7[@UG?EJH#3 M]5,&]I]4P%0!U'Z'[*6Y^, XY<9)"YS8A$Z>8M"*:N">8T0#2\J4W=K&@LY! MTS^+_>,>R&QM 1Q%9EATAW&B5P!3-TR*L;9VX'HV3S80UQ8Y1T%&8X%%)T'S MG*_H(@I<)E0+MK*"('QKI\M2DG,?3"#W&PKJ#C0M4+!>*)CE, 8)(8TTP)G. M[E=M0%,4TQ>J=.3($!JVMAEJ*SE/8YH(!0\IB7EW\"5)R'#4>VC6D#O@+N=S M?9*@J6!2?9BT.T]/-$^'C&0Q)S'3I%<%#D9+#VG!. G<215\TJO:6C?)F5Q, M(LUD&D5P5R:XLV1"1<5T1<4%5SFT%)%;QXHWU"[2 M=,;P8A2.3*);X=M1+JD\;8$ZK!KVN$M5#TMJRXKYQ-E*/)LN1-* JK9)TYJC M1?6I':TZ\S0C<(0UY1:T-PP8)0P,XPZB0Q$3R=,2TJ3ZM+FZ=?&4DMG26'FN MBV84>5ZW/,^Y8VP4C@L/45@"C'N>K9H*,%&>D"3ISL>M;=YFJBZC9M/L%9OA ME:F!:)S-P0.UP=;FCBG@M!IP>KG(ID%C-#Z"LLP T]*!488 55%K:;Q#R&UM M8Z+;FM>5W=\,GTN-]HX'*N^U^5R*O*],WF?)".*2"F4H!"PEL)PQKW7 X+5W M5&&KI= Y-H2TE=X,>5]3QX\&%84M-I"UUH*=KUK='0Y<0:NZT>K-/#M)BZ6Q M)02BE"BQ$R3!2.* &LL%PHQBF:-/VYPTJ29 ,84TDV<4L;XCL9XE(41Q;1 6 M.:-> 4,L@*&8 C&,!)5P6^3BT%FLF]0G8TWMI;Y_Z.H;B%X=O3&>Y'ZAK=Z@ ME>8>#LWHZ7S_\ M[ZN3]V_]D25,=)Z_/.E\ZN#.ZF='D9*9'<(D- M6F%07Q&]=8K>K.9)%6%8"0K(Q411<6*G.AH&,9T;"D=BJ:YRJBWA\G_7_Y$FO5F8O MOAF'"J(*0M6'4&Z>!*@R&6 4..@/%6@\4J*H24)E%M;5/51KBNE*=B M[6Z>*-=%.8HHKT^49\F&E5(%CA6D)>3 ',:01)M!8ADR.)E^UB*)LFZ3!448 M[KV%^[#G?3_<5:+!,,G%Y*2RJF5C]E$FY3\B2[6"*6 M_99-$]IUA];=@/D-98BF"R%X+?PWB'#2H[L)@&K+;33=-FXA^K>_S[@K7U M%EO,C:KT)?7DZ'[?##LIXD=_T_K6975>:4IZAI3 M<6&-:%H%/SS.V:*SBW2E)EV'-KZ:43X Q^59Y9U6_\<>>7RCO7!=G\I=WN,A MU>$_;V;1.C(G.7O[-@K]/6-;BY[POA"JNMLBO9CNGE*@JW:"M:#D#36.<"XH M!$MY4AVY@J0N6B"$:1P3U=)(Y>J_K+;R7 VRK!= NI> 5'=SI@)(*P2DN<1) M2916,6U4B[(7 6M(9X@'9+DQ6"E,F)E&%#2IZ\E#:IZ0Q&)TG&L##@]SD6^3 MI[X$(:Z8'#T[/.H/3T)X-:V/<4&_+K!4.RPM*- 0/#6160*9YKOT25 MTU%$R.N;': M!FNBT JAJFV<)@W2B(J!HYGLHXCR&D5YOF:#B,I8#1AS!XQ; X9HFK2)P(6/ M:4V-R:),Q:T5B6+IIOFCWO;FQP\ M/1ZG1P^C@DJK0Z4%-:$\5A1%X@ I3(%571$PE> CUY92[KCD57EX*N]AJ$F1 MZ)H91I'HM4OT+,]PA@7F#(:H&0%&DO*@A<=@+45&4>*]$I5$2W+KK*.&FCJN MD_-YE_4G+[>:OJT7I9:4J4T&K[KH2+'*KA"J3A<5EV*(4QH8""HX,(8#V(@) M"!FX5HEQ>**K8M>TMOB-34F0+)*_3MI2)'_%DC_GC_&>1QPC8(,]L& T6$XH M*!:IC\;AJ)/D,]U&HJZFKO-).%%*&^"Z&>BT(- M'D4C$$2K,3"B;:(F2H#04C/EC3(X)*$6;:5NK90TSW[29/;QG^'@(TS"Z+ $ MAC2!@USA32Y M0J@6E!?*E#,T]'CH:K R9PFH+!#H#R6A+#T,\O6DP14[-;U M-TMP2&/%><7!(46<5R3.L[S#<)X .?$.+2,%IF@.-$\:123>&$,)E=A6QE B MZZH65ZP>2R2]]'^PCY+VLM["W1?,LP6.5@%'G07LPAK+3(B O=# 1'"@F1> MB#*"IK4,2"8UJ$U5,6W<7S&NM;AW$>/5B_$LJP@4(6P- 0V/&!A4 +T$@#2$<%T"J0%-]T/1RGF&DXR/D!0'/'4D,PSA0 MWG@@ M,@&(G1H*UM3=J(UY7<4J(_[I/(KR#ZHXA\K2(_UXPD&(XX%Q HH_M."T=G3V4:>ABX7$KZ MM^YP$EH8_?,VM:-GH7 U)_^W<>_QH-?_?UN3T7&8][]^?\HG W_I&8O 7T/@ M%Q0R#8$+')0&$[5,9[S$H+CB0!1&QAGMN619CF8D_]V_YP% MO.^CJ;;A"S/:&[V>Y )\?YO^_MGK?DKSL?-W[]TG MGSL+?F!"*27341XHK4H .S ::\"6F!QR( (3/S\QK]A(-[/YX?#R['V/O6_!P&D;#Y5;\Y#XH1! + MD8*6@@!+>Q&4Y1P<0THY+A'F/^-PZ\>XLI\:O9\\\2@A20X2P@*8E@X42E^L MX3Q&&Y!0S=I/>\>3\<0,LA)>-E53-Y54P9@@P&&9"Z5)#%9*#XII'84V' NT M[*9:Z:%7-E7S-U5T)&B++42%PCOK&$U\REHL M-5!G++"T4& H9F "P8$&CPQV313>-?EDO]>(:YX++T<)# >-\-]-AU)\+O5) MZL=?T]_3/_O=MQW^[K"#NF__/NSN['[K?NH?OO^TR][M]P^[IW^F\?0_=]_^ M%3O['S\01 F//&GF"..LJ!O0@FCP/"*$95[W.W;>E5W4_%WD!1+I5#! 6-!I M%UD.UDL$G$ M196SIA&F=V:"++MJ0W>5P93I'#%H@N:0*%@Z+S'QH!*#19X+%$PNBX[03;UV M">@N&8.:QS#7(3*+:F#-2,R5QM4B,@T2F4]O/FB+O;>2 ;%1 ;.6@&;2 ^;8 M$,MT-&9-\1/7V%6+_(IE0S5K0P46+,7< M?. !,,@;56@6(H>L\$\2J=[$*T MQ8).#7PC'+)MS\37CZ^0/63DOI!&#L'3!I&-B\'4W:"A09C)Q=DS.R MG)7W9UM<0I:!5Q)%Q7 &N 1MO*T6%+Z_$MH6.QU;9IPK M-'?,R!U,+;84MUOYW*Q>N1-<.+1A=.D2:;?2#8]"NO^7T#^YA=_R(51@6P%+ M.?-[%#%=3DSGFG=;;75,=#18GRB$UA2,U F]34 D1JEBT$G.&E1.K51';*9; MLLCF;65SKA: I#IJ*4 FEI_IO0*C&0:KF [>4$N5:I9L/J1>F$_2D/-TFW[K MR/0\] 8M9XYZ$],O)0]73 -^3/V+-/.[@Z?3>2^,OCXX6M (4WN)M#>Y((G. M61HX47)!+##.,3%.>6W=UC87NJVQ;% H1(EC:B9A*%*\#BF>:[*-B90N8(@! M)=D-3H/)]4:\BYIQ$HC*54NY$&UT'[LW; :U<.[X\+B?PSN2!,6>ZTT>5J^& MW]9"*L;I,=-/L[CT*DQ,&I%_9D:#-&WC"ZNQ,UV, E%U051W9U'3RXA%(A0( MF)<:F P&K&4V[302#1-"Q M#"7J$"(&KDA2'S1"H&.P(+"52FJ):0Y#8@2WB9X/&+D3J:[3G+$9';?'"^I< MW<:<\7!+K]9EZ[A8>>Q9M1X%I^K#J04M*[FA2 3'(9*@$ONP*,=3"%".2(Z, MDS1['C%)"A*^M>UU63'9(!O(PQ7]N@PD1?17+/JS%(6B!-.:$G ^>&"()(IB MN 0B-#,V1"113*+/6#OQE4T1_75WBKA[$G.A4T05P'$=4K/:&O)-,S#]8W6/ M?U] ? 7=,IX,?('T54+Z@A:@+"BEG'"0#N (+$0')M$XD$)*IWTT2JJM;8)5 M&XFZF@8VALW]PMI4,*]@WJK;A13,6SWFS?5GS^L60@(YP@,PABD8KPE$K:GR MEJ0SRR3,XZA--=T4S#NCL><#.=OBO *TQ7BX3'GT'Z.G:7Q^>&S[86[XU[C1 M:C^SFH/?)R:]<$%6W(7Y="%)]>@,;[;_94>_;U^93'?5V]8'4Z2JL!]"RS@W M/$P??9*#L@?#2;KY9-B:'(0$6N;8][(_- &6#X/Q]*=JFU5NTM@;F('K52;, M](>J.<2C*Y_Y[),)>90VT!]'PW$5B/!X%/HFQW/_\;7G)P?G^'GA?=,M^1C] M>(NQ:0S'DZO?)&)"?]Y(DXV M,.F0]=&E \)1$KB1T7ZH\H:G;SH8_1"!CP'L*)C/8&)ZP,>F_]6AW!ZW]@^%Q MNH=/.^C9-Q?2.?,BC%I5+E3KR6$ZQR?CVSY:=1S-'&KI$?OF:!P>G__PA^^- MC_KFY'%O4 VT>M,?ES\@8\ ,!:@^;WKY#!ZT?J0XS0AQ9M(Z^^ S\'A4@<<, M:9E>D^21HNK*R^@1OO+:SVZ+\2-!Y8UN^_-K5/&5#)9=?7GFM@M(R_DRYC*0 MS7CE+\R;&]1C:#'Q_OY,^CK/-)7*NWFJ.12:FF0/1HG9==+K#L:M9^E\\--$ MNQ;%[6LT4"J;XUJ;8Z%:\4M%K-D[)]M7ZWK@Y?2QS9\XLG+1N@-Q;78CN5^S MLFIQ7H4O87 ^OJ-@T2/>D2_@FL^VA#,@2.09"AIKA%GD2C%))8U(*.:"UO3# M3N4 Q0C#]3RA9\CWYVAXF'NVYB&\[4T.GAZ/TWR$4=)/^\=Y'I^,QR']Y_?- MMPUQ%)R<.PK>G;P_['Y^__S9Z;O##MW;?]5[=_J$=_:[!^_>OOSV_K"#WWWZ MB-Y]>HE_. I>'71W/O/.SE^]=Y^ZO?<[KWKO/WUD[W<<[NS_^U-G_\]>]_ = M[1[NTEE'0??Y,[2W__EKY_"O7H?\];G[_*_#O9V#S]W3-]\ZSSO?.F]WR?M/ MCE1MYV Z6E D@1>WFLB@+(H:;VU3U!8+$@F:!ESW@-W>4@M;9V'/ M:\+-JS .E9$JAP_Z)/_]X5%V8)R3X-9O/ZTG/X-(B'(GB33("\(8$Q9A+B5C MAD@5;7"W85*O0I7"],*,'*;/_=H]?'_02?=.S__MW7[GZ][^01K'&]HE[[Z^VW_#NGUUNO?D@\EU MXM-Q \3:7 O/<[ X,2K/.;?1&(N9WMJ>!Z5JGRVSI:(E/M!(!>::V:@5CIP@ MR[FBP=.(;W/(E2W5E"V%NB\_L$!I(B\$E"3IL/,$0D"#]9('T@.YF%\ M?E/%M)@MTQI-US,7DY^6\80]<99&941@84T1J\+&=LPC)@C8U9; MGQ:0 X\\D3$49NRNHSV=X01]X"J;6!#)- M]Q].$PP&'UOAVU%.1[A=K%53PJE*Q-2F1$SEK9@S78Y^'CFU##6XWZ=_[1I" M7H&]^'PX]%4"('P#V'R1Y[7(\QQIEY9(DV@ZD" ]L,@37^G<'&94 M9'I=,CUOT23..,85)'1.,ATPRVH/@Q"0\@&;$ Q/,JW;'!7_Z M+O I>Q\XX5B"M]F4Y!T!;4(V*F%+G4"!Q,R8>)MJW7C=L]B2FL.8BG"O7;CG MJ)-7$06I,&CD;5*'H@6+C,WS2X.W6BA<^]O>>MPNF(L:JZHKL)8M$!4+Q*=V/L6/)R&T;"(\+(B M?#(CPA8YC)QT8(SQP!C->492@8O4,D\"T;F;S'__ER*8_-%X.;X'+&=C$Q#< M3V+;2E)",VA0%7^8M,DS_7%<%,@5\:-ICP.,HLD%JB"0I$8R;!18GA9+"QK3 M4N*HO#MPP\.05ZP@;GV(NZ ML@B8,L8IY"H)P&A(B(N5!2.2>NNX M4TF-W=HFM"W$O,E^Z>[M=P&V*[54W3=5:QD8J(%L%1BX(QB8)5X8(T$"#B"L M-L"LMF"##B"ED,BZ0#&>UHQ5\[RK/A0HK.O^F;IVI4LEW"GM9FN M=@=?TKSGN-$IC)ZO1('2^J!T06MBXID6A$KPRB%@SBO0+@I U(JHB':!N:UM MW$:J!#C=8W&NW11UM3@7B5U.8F?)CZ=::VL)L& I,)-]>U@IX$Q+(9 Q6.:" M8G75N"D,YW[9E?8F!V%T[KAKMP;AH26_-<1VE)>A.QP,+RN/WP,_"THN@9*= M>5[C'77.LZ0B?%_'9M\G(I,7H#=HE)K"U%@DNB>)3D+3P/" MGBOJI:%.5[Z\!2&4FP(H]X /;J"EZ\5H^*4WSI"4!/CVC'!S]>:[=>N= >Z9 M?OSO, BQ5]P R^'FFP5,S$4DM.;@$4W\BQD%&D<-DBO#@T'"&9R+.34^IZ=8 MN9KDM2O26HNTSCGMDCB20 E(XR@P+"T8'010;KS&!EGMTME\:Q=[L6S=2\M6 M-TQ:_:3;K"9;X)XV%K_FPS?[,&B&O2[MOQ+;NHJ3XMT\KPN("$Z\ ^-X.BD" M1V"5-& -\DZ0$$2(4PL;7J5"W"3S6H&Y G/K,"(6F%L=S,T28DE".J0\!>Q9 MKJS'(YCL]-416^VCCC+7I5!MRF\3PE^R)N>9\OE+S@605UA[![V$+JP*35/O MA\>V'^:LL7?=\:BV439V0SP(U:EU%-+./S"CT&Y9,^ZY:0N 7O]X$OQM8F+O M*:VX+^3A11B]SJM>KZY$KN00S\QHD.9M?/ZY.],=]ITPH$(8KD$8/BY(5$ED MS]+H@!B?"(,.%K3@'G1@42'-',]^PB9OA7]GV"D;X=8;04I,J11 O(S DK8, MUB9].7)LN:0A4H&WMM$CRN:(X^V9Y 9IQ>60:M*SW>20NJ6F6PZIE6/3K%8K MN,/$&)>#X@0P:20HA25@*H((*@:!W(T.J;5MA7)(U;(18EH?2D5VQP<$3"@% MVF,&7#/%),5K\$WS)I5.9C2 ]Z M>#C,PQBZSU-KP;AU/$XOZ WRM:/CJNKIX"8VA8<:M3*=Q56'F9VOY)/I0G:/ M#VT8[<7J2!OO'4_&D[0T:4K/CK=BVJ_I[/NTH$@7,E0YQB10)DDZ^[0")80$ MJP/"4J0ESI%IS=PP9TQX;M^4+;/2+<,](X':""I] Z85 2V- *F$#5Y[*KW8 MVA:\K>E\6DGC@Z9*A.-MSHK:@QR+Z-^EZ,_5$+3:<%)$GU.-$2O MD";.BLH1W,PM4^C%'6R8&"(R+"35VKJ<@F@<:$HM."HB=HESH$"KLP+I^="! MQI\5&Z<(-F_ F_+*Q?$8/PO'6"+:X,Y?VM#Y_GUB;#^D[[[W9?M?Z^ERT6Z;SS M.4.C^JD*:#+YS[$W, /7,_TT[/2'7']M_.@[NLT^\]DG,_)(IFWWQ]%PW,N@ M^'@4^E4;RC^^]OSDX)RU77CC%,D>HQ]O,38-(O&G*]]R:$8?>X,JCF:FF=]J MIOO77+2:;W9YPHF,]@8GK QZ;_U9R,MWZ_/"UI3F:6X:H9O&K*MO]E1^FF5RWR,F]; MOU3,+9-TY\+Y]*)POOXNDJUA3+\-W>>#8=^' MT?A_6L_^[[@W.6G\D_WVYAR!_GGE6,\D_0PCU)T(^Q6CWQVT]@^&Q^D>?GS; M!Z@.DA^ 6$4)I@?IFZ-Q>'S^PQ_G!U%O4 VG>M,?ES\@R_P,4ZP^;WKY# ZT M?J0XS8AP1L7./O@,+!Y58#%#7Z?7&'M$E+SR,GJ$;WB-*GZC=_YLL/*14*R, MM?:QZD=$7^MUD3X]=Q+%Q@+I^BV'FOA+"&>PVPT M/4LKEUQU6E[I4UMNQD;#K[/FU8V:DB=IK)ET)Y9?<;@7IN>A-YC^\M0<]7*[ MQC)7T[ER[OCPN%_QKYT0>ZYW=;W;AS4STZZ>/V6A/T$MME362),2!ZXY.P>C MI(EWTNL.QJUGB<[[5L>,W$&+XG8KNQAKVD67^>.O,Y2:O:>F!O%K3,VOG_?A M3-J3PR0J=:%232^]:?3/C9;DI[)?*6=WX:7\M^F;@0LM4VGK?YG!L1F=M&:E M?VHVN2/?[WVK);B9[;WMGNPM]\AZ=^OG9V7IYWG[]C[_5VZ]_SOS]W3=]^Z.XZ_>]L] M_.' >W_X_NT[UB%OOG7W=_F[_5>?WWWJ'[S[]#[_V^N\[7S=>_OGX;M/+T_G M''B'[_OO/WT\?;__+(VSG\;UJI=>V^L>YG]WOV7GX;NW[WO=G6[LG*"3_YPU M\NN6]<^.7U\SV6?OX-Q;GY:@>U@=P%GC]E^07(E@,R- MD1F+"8^00TC=@ MU%-0UC.("/E@;<(SQA.0%0PK&/:P,8Q1;I2.TG#IF!%.<95+WGD5E7+6NMM@ M6&%JM0$:6 M*L#GM!$T!$+3V<^5LM1BST+ D6*BA;H:YZY(SBR MU+ 8W.,CD4AJ%3@/,7 M(G)@K7+ @D8<"\NEC;FU(FX3C3:VLW3!NH)UMZ5T-&"3U%'G&>9,1&=)0CI" MI%>(:N<+I6L&PGWK/)UKX*.<5$J )X@"<^DGBTD IQB7N>-&)')K&S/6EGJ^ MOFA#.=U#*&3V[%L8N=XX9&?$-#]Y>%0UMKF.MZTTQKZ%GX&%1 HLB8Y'SJC1 M5AO-9?H5,YE4(;=T[FD%>KOC\7'P.\>C-'_/E.)K6-;O(\F59_N__ M4HEG_%&6J=G+M(RY4&A'G%4L&L0,YD;C)*1*>&NLI$S4A;=_F_YQ*'!; ]S. M60XE\>F\3)JS9=@#(UJ#\HIG_PA%001A7&*9Y/96PR+'!6[+,C6KY5N!VQ7# M[;Q6[P.F7"L*A(FDU2O,P7#J 3/%F7;1%(5'-H?_B@:D,L%[ [.Z@14&FR%FT\O MP.:K\'_'O7%O$EZ'T9>>"U-M]U5PPX^#ZBZ5,:^$ZM2F#_?F?2B&,\0BTD Q M=L"D%* 5X\"\,32D2]*[K6W25NC6&G%!A0+>99F:Y44IX+U!X#WOD4%*B"!D M ,J8!68( NL" B&8%9A;1R5O'GJOR2=SV/.^'^ZRN$,VY5?5'8;Q4M.7=M7< M)?VQ=_X"-QQ/ZS7^XR[1X(4YJ:!@+W[W1.31/H*_G3"O-P]?N M_K,O_OG?S/_O7_WWI/_%?AKR[MONY_29GSL[Z1YO.RB-B;Y[^_)D[^W?G_>> MOT2=G<^H>]A!7:QP=^Z_84GP>7>G\P$KQ(3#"@3'!AA.F6K)^%E%V V*+1U(:_ M9!9_<7!$I*T+.*JDT&"=6]L2"PF#&7.<"^KLUC9N8SY/;8IH-UNT"P)OQ#(U M-:BW(/ J$/B"32FIG)^>G'Z(*%+!:0!$3 #FC &+3(08*0V&T*"Y;QX$KRD. MX;M-Z2XD<]]\2S<[,CW?JGKG!)\[]F134J6#ML9A,NE7K3^R)2E4B>ZWB05^ MV&;YJVNRK$GCKSXE6^+_'([2TK_M30YR#8,TC>D/U=5_SQKE"_K=4/__GL%+ MG+9I"<$[:H!Q9L$$E.@H1C8:%Q->V5PV]!9E68I_;2-X9UFFQN#M>H-87DV/ MUOUAP=S5ZOSGF*M,D!PI 5%QE AGT* R^E+.A"-*>X%I0++30((E-:K[Q%(QR'CC7@A./C;-/G^<%P2=XMMN2Q36::R3&69:B-OTD1"#!/,4L0DTD9*QY$0PG!A),'7 M(&]7E(].I];NP T/PW_2T55\,[61MM?SE:-=C$);;4%[)H#%'*>4%A(0TU9X MI(*C;&N;D+; \U55ERX<702YB8)<@Q96!'G-@CRO?5FANN8TFF MHP"%HO3=?D0ZAJ-3=?K@;DA +B3J8 M0LP9IAGTG,^=?GB(CMLH?D/Q M;9[?U09NI17C;0&L.\O:F"61^,# <9Y8&R(8+-<$$&4&6RL<(:&&7HP%NPIV M->>IE\ NSJSR%F&E460N,$TLMQ0%PZ6,09';8%=A9C4"VRPS(YIX0W2$W$@. M&%,>+!,:L!$\.H,<4C[W8-1MO4 ?+?!6X&UCX6T9VQNQT05NF!4A01V/REB! M5+0R8B2Y5%?C6VF]>"= MS?+X!312$EL(!U.'%CTE!B3B-IU8-*TOWMIF MC+8UNHWAK6!/N//Q@TNT&^.H *OTA2$=0"&,@&CF(S542H&VMC$1;80W0T<]\SF< MC^)L3],*O1:#WR\MZS=ZZ86G3!_>\L-CVP]SO27+9][CSZRVXN\3DUYX[OE) M7\YO>&A&'WL#F.[>QRJ!\ME?*L$@EP]%%Q+>CO(6SG>;&5,:;=\]/(?7WM^*TWP:G'GQSCYX M>A4_J@Z*&;F?7F/L$5'RRLOH$;[A-:KXC=[YL\'*1T*Q,M;:QZH?<:4V9*P8 M/1*8;M)@];5NN_@\Q'Q-!Z*>>^D"RC]%M_707SW#?N5"]OMT6GFO8J37"*V^ MSHR-AE]G'?4;-24_*GVV_F5'OV_G+&/H#::_G)7];)6YFLZ5<\>'Q]-T^YT0 M>ZXW*3,SK48ZC_R@IN[)89*9NN"III?> M-'/KVJ:%30LI_,L,CLWHI#4+ W=:D?7:,G O(PH#8202CCCSCAE-M!>.426Q M[7>^=D]?]3J'?_HFW[N M[#RC\T;/=]_>G3K:_?3JH'/ZA':?[YZ\?[N;QODR_7*/W\M;/O8^=D MOEJ+]#+2B!B(('*U0,E!1>=S&PL=(U$^K6.NUM+&MZ]_OJR!$!6LZ@YDM&ZK6W.21LI6F"NP-P]A+FE(@VC<0P)Q+CV+,F, MXC%G[8?(@TMWBU?C7(DTO O FTO55XSYZ!P"1!P'QA$&@Q4!%RA!"0A)1&1K M.['OMM#SS426SO M6%>PKDD/O@REPX8CI93T7#,KI!6$2TF8MB@IJN0G4%<0 M;HT(-U_#0 D7?. <@LU**Z$*M+,<* _&2(&L9(G38<':5.--X70/HI_]MS!R MO7'5EK#J1]@:'N4U*57B5^UGL#1@KR,-7BHF/;+6:2.DTUY%%-2T;C$Y+]Y" M;MD6KKJX-UW:\S7W!?>6P+WN@A+Q0A$:H\6@/(O9U8! 2X(@,70O$L"MTV#VWFE7EA-B4 DMWM+[)81 ]I4/<8Q M$C0@ZY!L&MX^A-KPKT(_F(LJ^RWZNCWL8JM-UMCW)@=A5$!L&1![/:^AXZ@4 MMUR"99@#0T:!#80#C=I*HK-K32<,TTWJ7UEDMQ2F+\M4EJDL4UFFIBW3@_") M'1[UARNJ[5I0H8!W6::&>%$*>&\0 M>"_PR""M=)06J%,$6 )L4!K'A-X.N1 I3D=[\]![33Z9PY[W_7!'0MT=#B"L M1&\L!H]BERK+5);IP>B-_YZE'A?#.WY)0PK)6(9D+$C/58@@3D*$7 X"F,06 M\A8 )D0T!N&HJ=K:%G5E<13A+QA=EFG3U,."T>O$Z'E%D*,H&%Z'*3+U-]-[#-J1=741A3>%[U:=D$*@@'F$"2DL*3" +BE@%!CM! M" Z24[*UC=L,S]==+9C<6&$OF+P1R[0,)J_27% P^0XQ>=X^X)51QG$$BJ4O M#&,/VD4&6)G C?&!4MTH4'X(>7O=,&GUA^.2J%=LUV69RC*592K+5)^^C2+S M*)CT/1$\1I34.%J$M,#8:B*OP>VNJ!:;3JW=@1L>AO^DHZO0MMIHV^OY0K%6 M(RTM$F!"-,"4T*!9),"L$-RS)+0T;&VK-N7SY?^7+A-;Y+B),UR MO* <:O2*DJ@A.,2 <>?!4*6 .B10KE85B&B4(*\[K;,A[=>J)HQ3&C37B7'Y M%FPU6J*NU_!N0_!O.3V]%]; M10GH_2>33F\&\U"@Q' 7P44<@:' P6HF02M!$NQQ+#VM&K!1Q&I*3KAV6\B[ M-$#?^"&N)>V-,W)=O\S]TL^_H2@W3_)J@[C2?>VV,-:=I6X2.\JU3%R-9,MY MXN$YJ,X#9U9IY9GPFM?0?FW9S5] K(!8LT#,N\ YHY1@2IE6QL0D&\@3'!#G MCL7;@%@A:C4BW"Q1"XHPP1D'*I@!9D+B:)R@!'.**4Z]QE'E_FNL+6[??ZW@ M7,&Y!N+<4J;U@#&CD<=(#)/&*JPC)X(HD[YC)*X&NM)_[4X0;V^6TS%C6-#1 M PHDF^.L!D45@B@U$@AYQTDN>J)%&_%YW73I>(@"=@7LFO3@R_2:1%(&3)54 M.6Q74A4TP]IP1:2V.JI"ZIH!<=7_KRN8.^U^^H@['S_X2F]E">0\4\"(3XHK M#1'2,C+K#1/:^ZUMS%5;4+XIM.[,+W$^D+-M32L86XR"O[2^W^BE%QXT?7C+ M#X]M/\P]:?G,>_R9U5;\?6+2"\^]0^G+^0T/S>AC;P#3W?M8)5P^^TLE&^3R MT>A"@MQ1W:>!_M5A0/)A\#J$EG&Y*HT9G*2'; V&DW3SR; U.0CI:##'OC>I MZM8,?!A,*]@,*L&NTAEC;V &KF?Z:=CI#U7L[Z/+/K,+LW+VR8P\DCR-[F@X MKO)_'U?)D;TOX8^O/3\Y.#^F+KSQ;![1C[<8FP9Q/+GZ+1?F6Z]CNG]]^%;S MS6<^YL%7IQTR$7O&"8DV,.F0]=%APQPE@1L9[0>LM\[?=##ZL=T_!K"C M8#Z#B>D!'YO^5W,RWOK]\K2D.9E9AJMF\*HIV_Z7':6;7K7(R[SMVF_^Y=%3 M__K)A>OW=.C#M]ZXW=H=N*LW^@8\QKDX/[THSJ^_"W%VAS\UXX/6G_WAU_&- M'W1=S_/;FW.D^F?SQ[H[:.T?#(_3/?QXN>%6Q\W,H96&W3='X_#X_(<_?&]\ MU#&7=.LLU'J17O5S1OI+5:K9JTP0H74]\')4?O,GCBPC!LTNG'F]9]X["J.D M"B0])!LBOB2N'\:/;Y,@]>N8H.OLJ1M',-]FA#]7/6\?G3FUTM)F ^9527*W MSMUMVH,N;8YN@L7Y>H^VC'=-H*BIB\Y%)9G0U*(H9> 8269"Y+P*>*?G >_T M?@>\[[T^-S^_^OS^\!GI[+SDG4\'O?2=Y=?O[3^A[]Z^.7G_Z=6G#GEU^/[3 M&_;#_+Q[VMUYU>_N?_S6W>_0O?3>]X=_'^R]?4/??>J<[.U__-K]]/*D>_KY MVZSYN?.I@[K/W^"]G6>X<^I8=Z=_^/[M,_Y^W_[LTKW]/V/G MY,R[=BEQ11/&, 'I- -&%0.M<("T7-HQ&ZQV))UOI"WP?&'J32X"45#I?J)2 M2#SOA*.V! MWL_[)&Q8#9_K/?EZR?+ET^CBK)?#J*[#J/MZGB)[@82UG(*VB1@GBBP@L6(, MRN?$@G0)1U95Y!%UY18TB"87 5Y5":XBP"L2X#DVR;A)6BS1.2)J@[C>/$>)-L>04@J8B1PGCQTH)A0D73D2+'"(BE<0Q^:K!I9B M4O=%R&OG*$7([U#(YW@,2BMG@M5 F5? -->@@K9 B U"Z'295(H(0:A!0OZ0 M3"&OEVT?^="UJMIIR2;7+-X(7%K@0Z1"24)DTJIB", L8F"(0) *J&2]90* MN[5-V@K=FGP4 TEC1;EV\E%$>>6B/$,$4AZ2YGC0@GIB*+1 M<28PEVIY:\+D((RZPT%V&4Z=[-]%&151_J4H[SU%7V=$^8M__C?S__M7_SWI M?[&?CGKO#].X=QSID+\.NCOIWF_??=W;[W].]SSM[+_J=P[__M1]GIZ_KW!W MYS/M[K]AG?V&N;S^-M*25^'T2T?C-N$=%;BNB< MHN0Q,4&1"!&Q'#?-<\'_Q(@HB40YSJD/[(ISJQAA5RMJU6YOI2F'*@"Q-PF' M-_,+;ZS5IAE9'-4Z?/<@/?FN:N9<]9RJ_CV#O8#1,F"T($(M.H(02RN4=#$" M#'L,BO@(VBO.,HAP3:MZ%DT(E2YVU^;1A2+!ZY7@.3K!$_IR3B1(&2DPKI(L MBT3[@XF.4:\B(WQKNR$96 \I,NWI@1E\3'>[G,$P#47+QJU^S]A>OV0S7'NS M4=GL!?_S>YFLZ2H_+.;8".*85-11CC?:"=/ONX/IHH17P87>EUPCI^3?U9=_ M=W847:J[2XS32E$)"'N;SB/D(.UE"T1(&PC&+&8_($%MM2 #K_CT&RWC=VJ* M*K*]=MD^F9%M@;DA+&@0Q'E@DO(<1IA$'>$@G30><;VU+=I,S/<0V'B^V73Z ML3OXDO2IX:A7>50CG:-3:@(RYT+6C;MIHCMD0@W62 M8&FWMNFM6Y<4Y]:#9A1%9F\AL[-L 6E-G$$< O48F+$&%$,:)+&12(\\S6R! M+4@YV'A'5].YPHM1.#(]?YXP.35(#2OO5[%=-(9!G*W23CKB1J/@SS*EG@Q\ M95VO,JD*3"T'4YUY:F&$"4H8G$-F$K5 W(#-!82X,)QS$@3."9!<%6O%_97J MU3G";BK5Q8Y1H\C/,A-N1:0V^[HUY<"PU6"H)N )P\XCB:W2.1V2ZGF_V<;G M*FP$07GB7'J2R;AU9$ZR9:]8--85E#L/6.=K\6*Z% 5^EH*?E_.,PR.+=#I@ MP#G#@ D20=&@P J/4;9TV""VMH6>;TM8K!F-EMMFQ-Y<0X(+NZA1O&?9A3(< M>ZH,..HD,,X<6"P$&&:#*;&PD7KQ]GE"\$Y M#\L4'1_WA20BOIFE:__FQ)M^UI>ER7;A2L*T^;'LS3UVB M$=BEPPB45128T0C24F/03&.,!9.$)>J"$[AIW P7<#&5-(^XK$#JBV O)]BS MI 63@)PD!ICT&AA1.#MKTJ]>!X<-M\;G"E&D(5+]D&PATZRD_G#P$29A='AK M;O(@U*MU^FF^)TD>CT9A,"EL9"6@]6Z>C5!NG< 4 5=4)*AR"JP1%IQAD5'$ M/$)5[4JVH#QO27B^#V*^3BM*$?,UB?DL-Y$Z(B)X9B24Y'(?"*S7$DSB+ B' M!//29S''FC1#S!^20>7I@_.0WK;FQP\/1ZG M^0FC<\ Z*7!5'URY>58BM9*1: ;!J,1**&:@L360W3Z2*Z29\V7DBC85A^V?5R0 MQTN,$,(9<-QF%H-(PK;TD^+6.8R$B89L;>LVP34H7=<6I0TRO#Q@>%AI)]T" M#WU])&]^S9K[4H-ZHHN])PVI SN)6 M;!Z!+;+="-F>*V$CM=6>)K9*! $FC :CTC(B2;$S&"D5TZ?8F- MIR.C89HX/Y[V9QBGG5XS,=E8[\.=\I*S5?DS+\X5M]+JZ!<59"ZYZ/=%?NOG'D5^5R>_L_PB*,0X MEC(I"P$#"TR#Q5$"-I$Y8VVP 2TJQWP_TLJ;3C"F-K"J@5UO4#5Z.#2CSV&2 MLR(OM, K1H^[,WI4498_UJFD=BP'20MJYTF/?:1&@);< F-8@_:6 E%"I954 M(>8>#[(TA;JG,KMZ8\:\S!8;1HT"/)G2%&%$ AHT"BY SQ6RR 7* MD*QL&/>QM-[&A1WU%OC=;F.\N-*C=<]A;.TQ1]\=IB6H8!7 MJ 4GS(42X49 M.(F2!A6L!B6M NS3E2@\<@KE'N)$S9?&63J>\GIRM$%6D1)PM+Z HX(-J\:& MN6K"F$E706NK06E N"3N:SB8L(2V5 1:929JZH"!M\%HC9R,E6]M$S5=5 M*?Z\^R*WJ_7G%;FM0VYGR::.C"6E,X"(+B1%%$50+!J("8 Y3X#+8RYSUBBY M?4A^O,MDHC<>'^=&<)E+N.'AX7!P1BEZ@RR*@S"5T:^]R4'KZ-CV>RZ],J8/ M'GQ\6)Z^IK"-W;,%VXM/J^6J4*SHS_5!VL5:22]I-[WG@U?*.4XQ>,-#[LO) MP%A,0'@5(_9<>:IRKC)G\TZ#4G;ZOHCU2LG(-<0Z]KX%#Z=A-"P2O:Q$G\Q( M= R,>^LT",USW<: 05OD0"N"*5,2)1UC*\EN^I7\T2"9?DA6CZ?#\22W@*]J MAOE%A.1*\F(FM9"5C56Q&A&6M!>_6S&KI2RH=6,>,F"!$M 4 M1= L6J-,NIR[9+$:O&W%_+&OG$&>%[/>':=ERE;:#83]/XY_#T>N\6O\V MX^"?7FA'4I!K*>1:4(%1VQ"I1AP4H1(27*%$+X(&RCDQ-BK$DA& 0QGY:__T> M)G-O3"#TT5GL7,N>M'X[BXK^9RLNB Y:25CT9D8_WB5QN2+F\;M^56(>5X%O M"VHP8BZ-#(H!=ND+8[JJ)*U!!10L26<:8U5_"\KGE;";.:(;4XAQ'7'1&P@+ MC0Z*+@"Q:H"8:S4:O+0246#!)8 P1(/1"24PX58Z1=*RXPP01-TF$VPM"1-K M"HB^:T;DSPJW5ZZ@)$/M*4?*-IHO219RR_-^<*3@;_\APNO?)$>?.CGZ_B[_G%>C&??W($9? RO MDI[Y+,;@2D&P&B'T\X)B?S0M/;+!*&1) AU :P)W@V\^[";X1*37]FH;H62!?1J [W3!?63$:-") T4 M!.4:F$,NN]\](K&0=%UG?)%F?JW?H>#1&8[ "L23KV06'*0:!4:2)Y5 G299UU5:Z M255+'X"Y:7DR$]*EG]*8U?8\:MH$_F-UCW]?()Y'@:B-U H;F2;2!!N2*DR0 M8E9:B2N(OX;+L4!\0R!^04EJG517HZB&=);SK,-&T,@)B,3%I+]:DBA=KKS" MVFI!Z96;Y9DTQ@_Y"U-9 <0"B)< D2 I Z9**FX2!%(5-,/:<$5RXXFHIOIM M <1- L2Y^IM:X: 2 J;%M@D0L0%CN =E-(]>2Z-,W-K6HDW9K0M]K[D!WOE MSK8_017:+0;+90HF_1@^30/TP^-<)6^YF_4 H:R?T7U]YZ?7QT-,T M,/V6[XU=?S@^'DV3##/AC_WAUU9O,(6)M"VO4Y=K-%N)X9;BYZPON"FRM@:GDC51G< M&3H+;BZ%FPMJK I#&4G_078TYS)(%+33!B+F-/"@HC;9 ZEI@[R/-44:%,RY MEYBS JXV@SFE)%L]6#3+X:Q*7(W' $C)'$R.1>)P/H+4/'=Q]=(%7%M)MA(- M<6.+:.[\6-E!+S1G&OB%.1SMG9N?[;+GEW89+MG>^S?QY/NR Z)NL<;H5W)-\A#%YPS-D?F8ML0HF,]@8AKK8]/_:D[&6[]??L+T>#,S>M5D7/7TOUBO9=XVLQ/6 M!Y?5M.X?A%8<]OO#KUD'JS;G>?6H<U7(RGDLRS5#W$?A:#C* MO^6JV[U!%>1^/##'"1KS2X8#'P;CZ4]5=%555=.:?E6;>WP00KYOU:ZL8T;N M8"JY%+=;F1I6GYAA.=?AS'>>#+.V<19+/TZXW!H?NX.6.4SBG&XT/AA^';2, M'7ZI"D%<:RSC2?I65:&[%,63%-2+RSB=M,LA4&GU^N9H'!Z?__"'[XV/^N;D M<6]0+4+UIC_.9.U,2O-&G$&0:B--+__8HX_0=)^>*9)GGWQV^5%U:0;7IM>$ M?(2(NO(R>H2OO/:SVV+VB#-ZH]O^_!I5;#6#Y=>][0+R>+Z.Z4P)S7CE)H;0 M+>9NB\_F[\^DK_-,4[QMDAFL J]6PJUKF+7*3KC63E@8R>-@;SO=W<^?GN__P:GUQRFUQR\(Z\^=_=?HN[.7X>=G7>L ML]/MS5IKNH>=T_=I;'L[?_:[^W\?=I^_.WW__,]/[Y^_Q-V=EZAS^.YK]]/' MKQWR5^STSBPUK]&WSND[UMW?_2"]B$XX!U+@;#D. G)+&I .2>455<*9G,U( MVHK>NKUG0[,9;W1L%U LH+BR5,<"BNL$Q=-94$12$\6\!"-RJQ^9\%#3P$$Q M%"Q%FCBW79%MMN56ZHP:0BXU4LSMGOI6S: MB@GH7 [Y \P<7Q/,GLQS3Z:HDVG1@&MN@7E"P#+ATD_.X*!UC,)O;9,VXDUJ M+%_*HC63-Q597J,LSU$FCH2UR'#P6@9@T>$LRP8HTT+@H+B4M))E=>LDT97+ M\CT@19MGC=RO7,0W[P%P8X+]D)7Q^ZF)ERIL]^JXZ3Y=0!VE"!9C!3QZ"BPM M-A@L"7"A51!:(N3YVHJP;5*]@F*6+&;)4H%MH\%PCGM+JS$5'H%S6B0P% 24 M1!R"HM9(SJ-BYQ=96W6FZ_VB$N.B''KT-H&>>&A^FCL[,IYP&FFY^%\?XR*/'3F?!U\=A\A$[!DG)-K I$/61X<-_G[_\_]G[\U[VDJV?N&O8J'[ZG9++D[-0_>C2'0@N?0]-IV$-()_ MHAK!8&RNAS!\^G?5]C:#;<)DP(9]=)J O8>:UF_-:XG&]A';6E\[W]W^>@QR M>3O^GZ_G>SOAQ%$N]S[#->M-D,F_G&ZMYZRXO7;C8I_!Y^VM[:.SK6T/\OS? M\.Z]U#C\3ING/R*-DDCI$$\@A7.M3=D)A!/EM!1*<#M2T%J=80QK62/RQ' K M0L01EM]HZ8)-4H)2%J(04IJ56@0%Z21#16\(LL8Z_-EKG8R3?OX:]F'7^_VQ M9%]N\03@P'?E6T?90L7FW/GFA3K@LSGH9I$OU(]SD%3JQ:VY' G%?WX?=H>]\:>]F&*O1-:"C=0+/E) )FCWBZ9QPUZQ2!L_NVWX<#SIN#=8\"-3!'P,B FN*9>.X 'Y]XWA?4F9_Z-MG'DD.D"M?1JOFW[_5@D MX9WT@ 1;G;D=UEM5R!<\Q:,\R>)@7D%&+_:';:#;V!OWAA+6&:8D2R<*"BP$9Z3#"UE.GO>4RXI4/@]/NE+VN-A,57YU4+O>^ M5AZ[_A^U?ZX!Q\8UX&AF<*G]U2H ! 2;(6!I?[7VFF2T!?0]SC*O 9$ XX>:R>MDP+W2_ +0S^H>9AAP;G[14][^#HSBF+>)[UX^7<)PGFE M5FOY[;,6Z_+=62!H]0%Q3GI ASV8?Y%,?=H% O/#?N:U%A:\]7O-M;K>#FS[ M/%\-#QQE7 ]!R 'TRML#;Q@F.$O#7MFE]>3 PFM],5T@\9%8 D\:0WU^2+N5 MX"F^%?/H[,E)&RXMI/QZN2SY6?NQTST&W:(?_]\PEG7#Y7/\8YY;X\P-?[0=0*/M\ODN5K!]W38E7]02NF6G>D\L>;$+3*EQT=SY=$X7..[]-_#26;5/-Q@S<.C,W@RV5O_=-C\_ 7&NG&Q>_@= M[]+F42X0TU@_.-S;::;F88,TUGY0RH.B3B#&1=VZ3:U2[5QMOT"!WX[F'>G%8,P5FC@@&UGD?"7"#*&\MX,(2$A"^=L\]U M3HMUVDH39_1\]/,=G]-L?N$AESW3',%9C8AC19&FV" ,XI9F1AF*Q>2&&J:D MI]A&)S6W*EKA133>,ZN%3-/G="$ LWCB'[F@5JT !UO[;>7SVMH_*[\7FY&O M+*6K+*KUANTXCGW<'[9'$M>XBLXW$")Z14G6XHJ-,P_*_'Z$+3P^;O4+.>2W ME6\;'^'168)K99-[Z_C:G*^+-[GB9^C"HW+9SU+0!9FG7;SIAAQ49*CD.?1R M?&91+?2\EJ=0O"6O?CL"NY[I"*QM%X:Z\5 >MS_]@^ZP#6_-JKDM]@;N.1QV M1LIOL3G%,EX]^HX'7DTIR_UQT"WP <3ETJ"T.+<[WWX 2$DH#V?"D/#,Q-ZV# ]&!L]+O@X!4 M+#%<<05AG>Z-%1]!1']\K._:C+RE&6(*_?7J^UPA^KC ,5!+X-#>5S@K[?=ZG!\-2?7Q4NB>M3DD)([TP7Y*),+6C'Q3D:L,A*/F7]= L M;#U@=C95YF3"@G(+%]WH8 -\P'LO#TX^PR=TI>#^!)L><;% *A<.2+F9[X$[A=.4S?YIY_G5W MW&IMK=T>[='86U6RZI'<,.C!JHP,L]=Q(+9;QS"J01S+)U="]>JTV:8VI:4^ MH_;XO1^WTL88P=^AEMCX\D.G*$/$'@F+*>+*:02*H42:!QMO5HK?)996\QSMRI=03J$<35%8%B3#/,]ZT1*D,^CVBG'_M.WAY6:4G'C4 M,Z0,H-CO=L-I*\LCO59_Y-$?Y&LO/1G6PUTC80(N!V@&Z@HW%Z?@]S5[:GNA M7[_4BZ]>;7-%W!*#^_TN[/2XCBVH12D6+2P&]JQ<(8!P/QA><]KZ0G\,+9AS M;ZP_=6\L3WYE49]V=%$L7I6WVF7W2>;7\+A2[+\[_+60&=*PG;MM%/H$W#G: M@$(+V/IWKRB-P6O*Z'K M6@.7G%?9S47/RPT=ZW)]VRX.8WGNBB?%WL]R!:Z6N7[3:32ZKI"0\G77/%GP MFGYY)B.H@MWS&-'X()4M)7%JAQ_ -,&[3[VLDI> M+WTCYX7 Y0K>/H091[@(H"(4N2?7IVA'A9+S N7UZ<0;;;ZOB!CVJK=?[":\ MJ9/OO-R82\-,R>8' !&=VI69(&_1H!?A0>-;ZOFUIS%3P4CJSX6:"]?8>/\Z MM787M*J\DOOPT/Q;IQA1Z2DL)([+3T#E''1A@,5&]([&9%\^-<[R"]VP@<_T M$U4QV&,^HU^E>OG]>.[M4=(S1>I7=T[ EEQS3/3@@&;:+:BZ.V6^5C%V^=[I+8@6F?QL(@4L[ZURMSS'T,;_NI)LEL$) N_X-,//AX[CH_:(M "<7< ]_ M$6W!GCW:XNM(U_@$\O='>'2.;ML!"?YC*>HL"(.X:%P&!VZ<[JW_?;A[L7;: M/&ZPW<,O9[DASM[A%V :GUI;V\T<+$B:%VMDDD'L;O]UU#@&Z%]?H[L7H=7, M:;[T[^/F.C"-G4V1TX8;%]]98_W?U,@->_9_$$8U#M(BSY-#G$J)G-$!T2@E MK*IG5H1)/W:*+%F*'=PA>8 #:+EVP26..1783%DTRAVH?;W2]AX1/G'W6V^. M4CJB(PQ?&64XT\Q:8'=.V>2(UR'816=TLX%OO=6W^_L@S%\JQ^7J+A^ W]YQ MYH8?V&7%/EQ-.X9+\T&A4_N2J,N8N4L5)JLV(\VY]$>4YO$R?+)4OD$+;16* M9_YK/W;W>_8$5.9272H_OQ:0.=T*)S]S]O"*\?2FXU5'BOKTRZX82I[041QY MX?+S2Q]^O_;;#?=^O?;1=FRPHU'^-P<'CB_]O5[;:&RLU7[;&/9 5Z_7&JT0 M8 P;MC\87;Z6RNN*/_Y9^UC[;0W6K@<'$1Z8MWDO9@LT:+G?8 L.(MQ96^NW MRK=]/ "5__>G^-Z>%_9O$DJ.&2\V93OOQ#O&_//&_@_+4_)1442E :5 2XVL M]J 4*$8<"8%&;Z>4@M< B6\SXF-''LX1= ]%'[+[A#>$OJ_7[8,7IIF3%2M M&O.XKDF_[&\$ R*/;;CTXLV8\*HP]V[&]/J#?9Z5%>SVER[<8*MCD%?V?DW4 M[MF.Z=8R)$0L9\.K[4*!;HP4Z(T9"O0]NO6\V\6YVL==";<'(\HG/# M*Y>9ON>$[U]G>M847ZF4]#WG]H!:TLI[';6/ACK/B;):>2Z,L\DX0HE(=]2. MF=6SY9=>X(VS,HYOK8ACC6';GBU%*>G'^A!&I:2/-R^V/G]AS8N-T]V+[^=; MVU\NFCO?^=YGN'^[* M]OO7Y:ZNQO7LQ64IZ][#!]]8]:VS_==C^B8\9_.L>=BYB $1F13B EMD"0DH4!U@XQ5W M4JU\T'4F^<*W<7EP%>,*M]XH;E%*HE=48)Y/L)4F62N<9-()@OF=-:^> ;=2 MZPR(["+VNA5D/0RRIJK?P^F0+#F.-'$!\9A;@7A*D: :>VLMB=3FPGR:$OIG M!5H5:"T):$6% \?1$(,)3T)KKIAB"4O-00(SK!*VE@RYR"1R16X833@AH6Q$ M'!@1,D):))-ATDI!7+*5L%7AU@+,[0&XY5AA0W%"<9-CYR'@"Q%*74:J895=Z3EP>N2DM\+&:)*2V1PCEC M2J%(4T)<)8>TB2(W2G,AJJ2T5Y666('60LSM :!%@O/<>9"NL(4S#BJ#I]QI M0UBR+I8F^4K:6A[D.LNH5:#7=H-NP5K\L(%Z8$0>D4 (B%M8(I0+ 'T9W6.385H;]=0M>@(2O(O4",PK0E\R0I_V)G 6"!6&(V,%*.G.8&2 NI'6@BL%6\X= M*V1W\61GPAPI?4[I50OM0RA27R]+PC_497/O%. WZMZ]__S?#%IS)WS4-'%N M&1<)")H93EG4B6$1E:H,+4N%UM^F72>YR6K@/B4[WFXF!Z+W#XKK'PC0+AH^KT M5D"XN$ XY8!3%*!0$8F8@4WD(29DO;(H&4H4LQIKHE8^$%HW^LDQ-0\BHF6% MP?>.A&\7#!TA7@A.A4R.6RHL*%2),>U#;@/)7&727#(PG')2,F)5TL(AYJ5& M7"2"'%<"6=AHKER@P Y!*F1U;)[LI7PO8F&%AV\5#ZDP@5$ 0^H-9XD;BYD# M(5$F:25F5<+(LN'AE"]7N:0I_$ .:X.XMPXY+SP2P @5ML8YD^;DRZW@L(+# MY89#RX/%./! ',^-&*UW($Q8&7F$,093P>&2P>&TQQN875*2>F1"R/*A,,C" M1B)G75 YU@$D1) /19WQ>>7//3L@EO[P\4#&IU\4<#?/ N<,!ABZP]RXYQ%% M6JMW5N^\_SO?0Z7O?WH ZKWS:WWF;'OI$?=6([9F9+%[%@PF MGN3<%X(X]0HYXB52Q&*N+292@!9AGI[Q5A4/JH#IQ3)U&1&$2,=#X#08;9G' M&M-D%8D>XRI08,E0:SIB2EH2';9(".40]PPCZXU'-CIK&.,I6)IK;T@YKXBI M"K,!64.!9 %W9AR5T51J[PJUEP:T8X4@'(7+T$>?>&T%9I%AK;W0* MH2J-O6RX-16+)#CH\SH(1*RS64M,R-*H$>B,VH6(X=,BCQK.0(5;%6XM"6YA MK#3W!)X3$U<2.^X2QL[B9 0HC;+"K27#K:F8(:HI9\Q+9 C%B',&OSEI$#6, M"RZ-HTH6-1K5O$(H*]RJ<.O9]43,9=+>"D8<3Y+9Q PB C8.1]8%=RS;+@U M'=R#(^:.)H$8TQ)QI3W2@F'DB-4JNDB!8>640,7FE0A3U<9^(,%N-#;6JOK7 MMV&4"#9&YPD-@7 XR%830*JDG'$^25ZU>5LNC)I1Q,$'+&B0&FEB-$"4I BT M0(H\YR::I"P1A0V>BJJ(WALF=!>D"$)BA0V%G<>6*@R?<$^U,$166;G+1NC3 MSK9H3(@BHJ 309Q$@YS'%OEHE5/,P);FK-RZ9HM46JLB]'F79<(I6*:4L$#= MRD8C20@N"L-"4))4A>Z7C="GO%,F,9R4\,C%%!''-B%#<4*$"3B%U@2:=%8Z ML*XX^ALF](2C=A2V.YC$+?SN)/7*)1RT)5CHRKRP9(0^YE$;"Y$+W MR8,0KY) S@4EF%&*J1&A2U$1^MLE=&5(4(Q1QB3C/"3-7>(F8)9 D=,:5X2^ M9(0^W1[41":,E8AAY5&.UT;::H6\SFYZ)73TA8Z.9=6CZBT3NN4,&'GBA!KN M0+ 3R4L>@S#.)!TJCKYLA#ZS_K46L)$@5B"265'7"J, M:FRO#:8P*G$OO9 .D9BC,0P!C<,RAZQC4@7ME4QBY8.JLZ>WW5F\:(R*TJ^Z M<7@:I5,$ILJ=5Y;D_)S@!+94*O9">8/7*3VUSF) %['7K8C\H41^/D'D(E%) M+<%(69P%$>,0;'5 FAOOE S6"K<"Y*PIH7]69/YVR5P#V!O+DK+><6&EIIH9 MS;G02DA@]15#7S9:;TXR=$$,G..@,RTK!CZFZ=T MV&QC!6B:,7@NE3"2$ZZ)BYHY4#ZK/GK+1^F37-UPKG+#8X1M2+EC)D5;D_S<.V&4!+4\*6\1:.L664. LZ>LH'M)),&5[/X.R#P*IPUFP-5=XD5> M@4Q8$*!T10U ?,71EXW6&Z5G$.C]HGFX3QK[/RC(;8$EB8@G,A?1,,@E%X"G M&R:8]SKE<)^%X^GOH9SB(WMFEC-]GUV1'C;Y-P/55;?,MP75&]-^DRBX,8(D MI'6N=L2=1,X:BD#3]CIZS:SWN7XCD=/XKTCX=L%PZI7YIL#PTE+ M%.R;AFTCR#)C$">:(FU%0)QBPYF3G"HRIV:9#Z6C"@\K/%PL/*Q:9KXU/)SR MP4E!J;&$(^) ).0V<62,XDA%7$13&:WCO'IF5H!8 >)R V+5-O/- >*D@"AC MM,1[@SSL+^*P@\A83I$140JEC')8SZMO9@6(%2 N-R!6?3/?&B!.>76E9+0>+LUIFLZIQ9O7-IWUF.@S\9[BB7^T!D"6 M_M?M:[=;@ M?#MOSS:\]J]VUQ\M)U-JQ__S]7QO)YPXRN7N]E]'C>/F86-]C0)3:377/[6; M]._CYOK166-G4S3H7KMQ\9TUUO\%!K-_WEC[X:/P*8"('3S3B$NGD#;:H$2 MH6 X!@GCD:#1 ED@K&76[A.WB@2-58B<&V:CXEQ;AK44AG.^4HO Z4]@.P:] M87QYR:DXJ]L'$821=KM["L19*RBQ=M*+?3B"_9HKSV^MFXJY%8?:YO/1KX., M!<>C'4.M%WUL_7E_EN/U]E.^'JLW9YI%KPR-]:G=K@H#N$P8?^[W_4 MQC0R&L)-2('%:-N3?OQC_,N?H=4_:=OS/UJ=8DK%37^6U#1BFW^(DRF&6M#7 MZ.L_3UMA<)#%QU4\$B'+B+/RS>77J\57$S+ Z#LI5JGBMWZ-5\FMW_WJL42L MP9)F:&0>CFWLO8QJ8B;H2\W43!JVYP]J MC-1K&8/OT2CYK2[$.J#$L8N]\5K0&VOQ0C&?P&A?24/]>!,^JXC/*N+S]M+: M26+F$G,RE^NBRD8709&E6'.GG"(_-N_GR[]5NOO]'J#$.[!%''J\ MM;U/&Q='Y[MT][2Y_@7^W>1;ZPW3MHCFQ1>QM;Y[ ML;7]]^'>X1INYG+W8M]OK=]=-Z@FZ>[VY]2XQL^GZS/%1.FTD6, M A$4<44(TM0JY)2&G?0B>L*S:1;DPRJRLX*[=PEW+!++M?2!$\%E J KB@0I MT)R8\<$7<$<)K>!NT> .3\(=88X(S052EB10DYE'&@N/!)6F M9,!DO ^*212Q8UD&#,B)Q)%RP5)L%?&NJ!F%GRX#+E_2^0(8( O'S%-J ;\U M-)TUQ3>#IG.S)=J3PO]]$@]2LK:$+FGQ&3=>8&*>[^0,;#"GD6:VVL8]BKLF2_V3,ELTF&N4[ ( MI+6(N%<&F4@"2L C&&A?I5F/"^4;7ZB9W9;"KD&G9Q+P*F5X(F:;DOZ@M)1K43D=#0%QCC "I!++2&'320O.B,3V^H= QS7_ % -3R^%]MV +KNH%M+K8[M^)9MEP'4M2)] M),)_O1AKQ_"*@WXM IJ'VLV0^R(#)4/.ZA.RL!8*EW/*3JOC>]'V\R^3F3FU M4]NOG?2 ZGKP[EH8QKQ^XQN*A3OI=<,0;BAM"+74ZQY?/J9?ZP_=882OX;8N M\-_: $9_>6TO^NX^@ 2VZ_1G\5=$\20X:!,7K,C@+A&'N40.%U5.:?J MI-LOGO9'09VMG_$JE2KK#==N+!.Q\-4MUO6[[>'@]EMFD>+UC)97$M+,Q')= M^WEPF9%]8O,6, M 4YLZHA!2D=T9%8HHPQGFED;>7#*)D>\#L$^= @S7W)GZN.KR=HE.5QDKK*0 M-'XC'W-<(+[VVVMBXLU,S2I1LTK4_%5^HEG._,3M0I!LC 3)C9N"Y$-2%9>I M"\77FS)=!L52K#Z!!W9#5KK^F#3L_+KRPZ^#\!?["-PS0_?NV3ZL6,:2+]D[ M2^1=.X;1%_IGKNLTHIB9!0[LH* D%X'5=4IA_(JT[D563ZHU=)]#^-!0G><= MY)Q<^B/?$5OD0_1/[!7VK(Z/M:Z#P12R,VC>\&\_M6*HW/KOQ'DV]P+NO_2B ME0S_ZR6_?P]NM//SOP=[=KO5_/SW07-G@\!X MQ*1;K7'XUW'S>)-D5UHQ_O5]O+?S"<88VEL[FWCW&.Z#S_<.V^FRC\5UMQI/ MC#NA$0%$S&%5 1FO%#)<1YV2,8ZGE0^D+G'E[Z\@:UD@:^X5-"O(>C7(NIB$ M+":-5$E&Y((PB'.?.\12G\MG!B4)EU:I#%G8\ 6"K#>O=7P\L)W]V+^IGC]) MAU@4->&=:P(3&QO[ X"QPN?9@Z>68'S2:X&B8-OMKA_[0T_NTB!&?KY6MU<> MEJF4K\MU?9O-D'][62&\#Q.&WQ[$VCX.CXP/(NNRM=#\N5WA.?(O XHX#E)8ELP (9 MZB).-FG*Y,H'.B-=]?X% M@?=-0EUJ")R;%=*'L_XE_IW.PC^8W-KEEEW;YZW+;?XVWN2;JG_^JM+]YX:) MK6E!2!(E.0:-'[NY 0DH&&2PYDCH$);@3/-F5#XS7,9M76[$J+_P>A+S= M'=CV963@0^70=]OQ[,'S?S-P_K(NYK'NFF>;>G#?0U"]*1#"L(2 MEA SD2 N0D FRWG)IZ@8\QI3,:]FX@^EN 7W5U?(^>Z0\X4M@Q5R+@YR3CO& MF8J<68HPYQ9QES0RPFIDX51XSI(DB1+(6?54G)&;>7"+4T6@>.+] MFQ!>-Z%>H<=$*\+G[2YXB5#'MI4CH&?B64[P]H,8MHN,Q:TTPK<1W52=![_\ M,%)9"HHWPDH&Q)41R&EB491$!&5S.I^:ZB2X".?UP6T'RXCZ_K4@B'&.:RP/ M28Y\<+/R5=)P,.S%ZPGCMP5(# [LH&;AVF'GRIN0HR0L *5MM\]O?%$&\<=. M&(?O]^))%ZZ$49=Q%:.DQARY,I=,=C.=U+<$ZF\+@G2W8&%#EP[!7C@U> MT>W$VGFTO3RD=NSG#HIEP@%\^=/V6L52P:/Z+4"Z4;_7S3(LW%"E/(VXU3J"?5][\RQVMAE"XK]5GM_US1&SE.<_G MOZ2Y@N7VRQH"I4Q[HX9 04#E.XMA?[F=); M/Z^3RZU'<_F;B#*]BO7C$D5_F>Z)5X41RY*;6@WV#0]VAI0^ICL0/>.CKGS( M DC,%J<_[2^M0-+"K / >Y/!D\E_T,%O[/U\@Y?U6K]3\W2W;-K4WB M6W=>/'C^;\9YP:SE+*3$HF9<"NX,55'2$*/!C*=XWX+A][+BO0??P][AUGKS M<.MS@^SM[!W /:)YN,D;VQNXN7Y$&L>?6KL7X:"YLW<\59[WN,%S"=_=BW_; M>W =7$\;A_MGC>TO>&O[^_GNSM^'3;I!]H[W+H">,X2IT;S@49 M&?..$X,KQ%M4Q)M.SQ"P52X*1)PVB+O("Q9.]K2_2 M2;K"NPKOYMX2!O- -394:\]);KS@="[ZK63B3L]=PJL@[2&01J:Z->O@5 X; MB8Y9Q*V-R!"MD"1,4,8IY9H"I.$*SRH\>Y]XYJ21PN.@I9:@V&@=O)-$&2 < M0YAGE?RVJ&#')L%.)4)MY!3DMT@1Y\XB%Z-&@0=&1.!:Y%0R5F=L7CT%EP+N MGM$95IG^*M/?I2)L$F$.&Y43MISV5GFIF0DZ_^F)K8!T48'T[-+\M]V@6[ 6 M/YB.G ,@(L9<1!PK 6(CYPB8HDX\"49ES(4*ZDP_N^0XY[CCY\[1>^7:VOU8 MU _/+L$ A-3NGA3-;9Y2C.!=U&,)7$@?@W7>:\Z8>>@62X\D'5^=.QJZJPM+@4S:VRUEG- MN+!D6BG;.\!*--$:Q#V3B!.C$=&@0!"(C. R(IX MS$#B>(,EBRN*'5,L*.^4J6@TY81CY[0ED3A.A)"1T?B*(&)9[N@;- ("5XAJ4)$PXS8(]A[( M^3F"8=\]1! IO<:"1"4#]RZ9E#B7S!IGA!:XTKH7%B>F;883:RZQVBX7J._+2Y4U?E3(?6<6K\NF\5Y^.TUA)SA2)@,LF M*(N)BC%PG7VI( !4^+R8^#RC"!?FR60#&-)2,E#+N &@!K$N"&-SFQ6F; YN M9'78[65QZ;QV/% %?&\5^&(TAA.IL$Z&2Q*-M")I&6 YM"1!5<"WJ, W'=4= M8!^3,2C"OR"7>HV,(1))%32QSBJ51M4'L7JR8%H!7P5\RPU\@E#II$C)*<&5 M]]I%$; ,A!F'Y^\'K[#M(=@V96MW-EC&@D8)2X>X$!)9'RABC(/(#@)?U.Y% MPKLK8*N ;;&!306A4Y38:HEY)-B9X)G4U(%ZRYQZ3F]$)=$]"?6F71*68!$C M1R(0@[B/&NE@(J">"(X8DRL7OE"<]X+A7A7J76'I2PB)26+F$G/2)6ZHLM%% MZQW%FCOE%*FP=%&Q=-IMDR(%\5YRY+TAB!LCD$T*U&,IK(W"LT1SX)6NZZ<7 MYW_A4._Q0,IC+M]5B>GJG:]8V^K))<%'M;MN5,K^,*-0>"Y(5L >MHD$+BA- M+H+:CEU(GECN&8W"JN1^Y,H%3RVF^X+E;*>JW&V>-XPVZ=[S+FNMPS^=-#)^=-^&SQF?@*.N; M8N]S+@:^>=98^V&UH)9JA52((&ZS7 P\\8B$TS'!;XH2/A(0X&#&L)8Y=93" M)8P)5S%P1;#V41(F(PF8Y(3TR>+AS>G#/N(I$T=^M %W/_WF:(+WC&'CL$^" MRP1S\1AHA04!).(#>7:):_9QCH/:?[O]?J[I7?OVRO6C9X\PG_Y+[GY+FX*9 M.W2/%5_XFMY_V3Z 2P=VJ3W>I7Y>D%JK#^?K^&28"Z^[\QI,I!6*BO('\>IR M^"+_/7I##,B"Q&+WX8+AL1O5-BT>5E29AJ<==_/\ &-JW>&@/["=_,1Z48T] MUZ<> $WDUXTNL:>V%_JUWU:^?EOKK_Q^O>XUR,HIMG*-[-7:>JM=C/$!4WCZ M\,7C3[O#=J@=P%AJ+L;. MS9?8?G^8NSG 9&#:N9CW";"+3JXP/G.$!S:,GM*"&W-SWRY,"^;PP(6 MTB^>>/^>(FMY.NOC+?EVN26+-[%?3F.S1P/^^HT;I1T^@G6[N/5LFVE2IB\)DQ^^6&8"<8ZCY@D''$3*;+6142C MECC7"(W3PN$"-(L9G^ (ASRW5QGW0KEJ!G,?6KE))+\&[LDV$TO794**5:J> MH;V 6.7T]J\7K!="'BR=9RN 93"AS[8*7D[*/*GFP@+6!C_HQ5AKP'4'_=I& M)PMK1=N8&B/UAY0,7X@MUO/8X7ODV]R[1Q)&5TX+C#XN6*%G2V/A_P];@O+;9R3N5)85_VK;SJ$-XTQ]3R@43!NO' M':(E^>]$^VEJ'=QP>'.T>_GN'6SM?>'/[W];6YZ^M)LRCN?YU9MT8 MPH@A3$=DA=.(LQ"0L]@@Y6V(UC#*N5GY8.K,J"E'Z%/([TE(7Y'P;21LK)=: M!ZIB(D"ZU KCC#$>4Z&(U?C!?;0K$EXT$IZ*]=?9\0GZ.\(FIFQ=P A. $76 MJV1]! A7;M2S8CHR;%K"N-Z@^89KZM([^UAO+,=/]\:^J--5/+O3=;/S,_8' M1>_/SZ46 IXL8X+NO MY:^?;:O3S^ZUV%\0DQMN?!S'",')WMG$C>T#>'9#- Z_G#:V-WCS\]X!G/3S MYL7!$5 ,V=WY+J::.5_LDAQ3M/7Y[Z/=BZ/SYOK:66-['^\=;XB]]4VV]?D+ M4,R_!WO;[=2XV#QK[/\@7@;)/$>&)XXX+#_2T1O$B/. CD8 =YOTF&8^F"MG MF2@B)YI939,6D@?'0XITRD1W;?>R0:S9[2#0@8_BR%IUW6@_V\W["U?BW4.Y M.73I+ .!C3LC'=?)V90P,Y8J9Q(U+"V(Z_&!7I")%2UU@&7VAHQL)!D.ZK73 MF!OR^H.B#7#V#5RZ 1>RK7+M89*(](;JZ!+S$<.)],XSSER0)G!'5;BE90*^ M'2&W3CLQ_#7J[/RM?.-]Q K\S@"PN0V_7WPG6^L;N+G=.&V>_I &M#@>(Y)2 M61#R,4,.^!1RP27EG4N69B%?B[K@8DI&N.;T?LWFV8UN.V8?<*^V!OSMV+6+ MMNN;';]:^RU7XJ'XS\;:9O$;^?/WF4-]=1KZ!K?!T_[*CO04>[W+X(;LA_]? M#VDYI[E1#MB"$XY;H:QC$G,#?R@;HQ^KZNPV55U,TMD_]KQ@9-O=-0\PVXM; M.2K@&H>['[')]TULI+G_(TD/.K5-2 H#XC@1#)G(!0)^K)AG@E//5S[@53U- M:'#BVO#+*ISP6_JP%USCH-L>,8S]_5[1D.>!(2Y\1$9*C"1QBEGJ M9)1RY0,Q=:I4W1#^*Z@'+/W?_5H)6&M%F,\T;(T"E.(HO"&"[@_? ))=B35% M5 4\:A6>%&N%5D7(J[*1DE5\C6V;7=7YM)[7MGOPQ-$:]$L.4D#RMY40;XIG*\LWX?$Y7579*GW1'=/)'+P^L]3->^:+_ MOYO">VGNPE>W6-?O9L?[K;?,$H>?LXWS/;>"X(GUNO;SH'?E(=R/R(&R>X2* M5L]_V/:I/>^O_.?F%&%^$TOZD-685@X^_(_K_>?#K '.5-B61 &[MWY""TY3 MG(XBW&/0K=G:MX+H_RFIN[8&["<6Q_^T-3BH]>/_VXGM]H1,5GXZELOJ\)B3 M7NLG$%_[O'80@9.Y%L""/^C +/?/BY 2VSFO9Q#I#VVG")L\/6C!L&XH3 _C M=T(%05-4-$;%%7 YYI)Q4D6AB0MZE+PU;0Z58R[GPUG_CQ''NE(_=UHY5 7> M8 -LQGJ$M8)CF%753[;5^]>VAY6B\BM+S?;^>6/M![:,:B$(TI)BQ -A2%,K MD0-2LB:;L04!K*C#V<___8IGE6?MBF]]?+*@[9,+0F/,66+Y.[X7/6V/_!,74M,A.HU[!]^+OV,8>9N>Y(/KV&?5DRNFQ!,AL2:[]E%_9- M0+RZ] H:9T)>CIX[Z77+6/7>]68G\2Q'U^9GY.!J#\_+SI?B*[AC$$$JB1U@ M-!&NRI_#U'^.HEWS-V> I)W]6)!$1MT((M"(H8V"^_*YRU1U30B:16K7@[A7 M:SL1AN@C"# /A>@0C5+&&&%#%E^%"U%['"V%O;6*VSM4DBG+4<&L1AK$^K W M2K1M=<-US>)3MP= \;/E*XB^2\?8/&L>;M(?7A$M@6VB$$BN@4!=ZM_7SZ9=[=9.V\E6GQ:GK[G>R$^1A^(ZU MT-(QQR3E7EHKO-!>:2ELB@3?=>IN3>\>>48[@SR$C/4?AS##X]@;>4[A-&8C M%OP_;-NSI7"/OJY^>[A_UES[0:7@+#".*$T!<1XITB#0(1NIP]QX*:0 N+^M M\,\XL#@#W*V'K"P4>YD/T(^WG+M0@,HH]Z (ACP>!4/&F\&0!5M9P(247VH" M@.+=T\X# =Q0PC&+D@F0L;FB-C@L&. $P2YB=4O=5%R)V"^"W^=;ZT?BAV'> MJ1 9XC%W"Y4!!"83-8K9$B@),%R3H##%D2F MWLF5)CCZ\)HBV,DFH_8YZ@]R^L^U7 *0-,;R2XC]UGYGK!4N&QUM#7LU6$!T M?.7$C",GYK7,HR)'[J8K>4)#'LV^52(0T .@5$$0L#Q7%%$;O:7V,U-%*03" MZ>_EZPJK4LQRY4W#5;^T7-5OL-/13JW6M@OXNWYU'JOU/BLF9?;@58CF<9& M50K%;1A7IS!D%4_,]Y7?PQ\YE:0_ !&\,X0!P-Q:O7Q7O=8":;/0_7-J)#Q\ M=,5(3BU20H?M00;= IR[+@-S,7.8J(^7U^5A724=PA_]%NRM[5U?]#)KK _0 M,\J%[*T6#OP[=^KZ+!(,O%QN0$=;;'4O7UYPAIP5V2]F[]NVWV^E%MR5-Q"6 M_+^9X]3HI:A]]:"#5NQEWG%^F3*3-9+^ '9R$"R@H\=T>Z,UO%R@Z24\G[& _4+ZM^$01)TR:;/7.\]C MN1SLG;0PTGJNDEWS<2K7^QJ_'>44%DM[*?9=.QW[.0HF#[I=1,+D?%%;T%"W MD\\FC&.4\IK5ITX_UHM\I7(GAAT+XED^W,#;0OZZ^*V('K2C9&3X9[30^4$G MI<,")K]DV 3$#<K$7HU6]>9G0-XL%B''@@CH,,%2QPZ:2MC#S" M((.Y(VSSFCNND*( R*["9G)8V476_G0Z,)(6BT$XU9);*>RT9=!G+F6NCXHU8*B7$G_ M%FFT>Q_M[):,]#N$O)4J9[W*67\S"K.-BI*:(I:X<0M3S90[*W406IO MF+EWT[=GCO-84B=@6?'YZ+3Y>?-T;_W@L/'Y[U%>Y7:#[QYZL7<,8NKG!FNL M?SUJ;J^)R1S)K>TUO'OXU]'6YSRVHNC26>/BH-6\:!_OK1_!O#P\&^:P#F+N M-WP^F2,IJ8^"6H%P8@)QEP(RACMD*:5*46N=\2L?"*_+YV\$MTBU\RL,K##P MJO%ETC9)(B70!Z?):!TC%R%1KXC@+(UBW0BM,' 9,!!/8F"(4:7H*'(TY5(/ M+B(K/4/!$"QI= 2@L6B&:>AR8."#1=B["VTM'&B5CI9;U9AWWTV=1RV)DTGX MF+C$5%/#1<28!N<4C[@2W)8'M%K3@IMR/*BBL8@;JI&1(J+(I<3*$^>) MS\4M\*U17Z_18/V1@'2K!>+=4SE-UC 9/#.9R@DV+@*-6R.)<(%&68DFRT3E M4Z*)2M9Z(2D() '4,ZH3!(E@ADA;*+NEC(7%3 M(C"=3XL?E%I#B(\H)>\ MF#)$14X0H0E4)JNI$"HGIU$]KZZ+"V0"6L5)7XL4Q4/B5^Z!QFE]L!&E?4QU$!6:,#4M)0[+R1MN@HO6!4_A[,'T45 MFLD(U+MB-BICR6TX!LJ3AT,<1#**1XEU#L"RU$L?K$R2O8"T4D'5O:&J^?%Z MO=[]\\;A]Q]:VJ2#8DAB2Q$'Y3CAF@N M2< T&,P=,[G:B':!,(95)-Z_@#A2D?%#R/ABDHR)]C)Y31#&4B N@@6] B0. MGEL(4B=@]]*BD?&$EY.<*7>>& MKE/F/". 449,$>8)=&3!,+*>&B2%-TP9RA+!NU.?XW][)I[ZVW MV[N'1[BY_@4W#CW?I4 VAVNG.6%P"]ZY=_SW5,O;O9V]XUWZ[]'6SK^YJTV^ M-Q/]X>Y%L]58_^MX=_N(P[-A+/\F>!K^$3"G4DF,A&>Y4!/0HE'.(XVQXSC0 MP,Q4"PL7N&2681,$!U"V-N7FN$D;XGDRR4^F).9-J!6[4+NV#8]IMG'WFR=& M2G*/I>CA$L:95581F)/#"H2ZH'*SG9G%J#$=")XQX5 P9PR0"],_E!(.5@K^)+-?^.,UU5!QF7&"]UKKJ(#2N MTWU'^9K)TC5EK9I;"]0L>[-FQE>%NE_2YX-R2>&QG"U+XFLUV.<S=-K,#(UFL?=U5(:-S&O.]VEF^L;6CE9K]]BU*SO[ M5 OXB 4LW'.O4<_@59V2C6XGGH_+?":82[_V3#FM;]H*_F[LW$D[31THP-PS MGG"PFN/@'1,XQ1"UO:\7<78'VDLKQ)71:TGLVH^S1Y1V[<;IW@X\\W"-;VWO MG^UM?VT5C9H_9_OXT=G>\7?>V/YTM+>SP2;MVHV+O]J[.QNTL;XOMM8_M7.C MY[WU?5S4[]K^=+P'SVOL?&W#.&?V:N=)>8F]0TP;CCB. AD>$ORP43&K#,]% M!^&4U(F<;N.XB!F\516#"O3FGRJ(%1->4QH2C]K;7-@\*DT],]3=5H9^;J W MHT)FA7?WPKNIQO;4>*EE-,A;[A&GV",3#4.>*\(DDSP&/VKH1^B?%=Y5>/.^8_@KO7ACOR!3>.6QE\@$)^(FX5@EI MFG.1S?6_1L5I%1%01$55$ MQ!(N8!41445$5,:C.RMG2*R%BX M<=%<;Q_N;?]UV-C^]["Y#I_O?#K8RYW(/N^*G,G7@/$W=AH7D\8C&#?>VFFV M&Y\;9\V=!FY^_I3O/6JL;YSN';9;C<]?SAN?-\YV+YHS(R(4"TRK7,A<2(MX MR@WA77*(8^&LB@*3G.FG5)WA>57NJ@SF%>8MP*P?$@5F&6:."XTQY9001SR/ M*AGNG!8QF6?&O+?F('PYN)L*B$A.1IFT05;J#'?)HUP-!#EL"-;:6L%TY2"L M\.Y]XYT5UN2".38*Q74@&AO& \'&RRB,8Q7>+2C>305$!&(]-C*@:%GNL8P# MTHQ9% S53E K%;45WE5X][[Q+DJ'!8T@&Q#+>:"&$U!N59)216)HJ'3:10:] MJ8 (8B2W5DO$2*Z=(;Q'FE #DIY*.7TC11R62J>MXB'>]@L?77]H9L3$HE3: MN*54S%VE7R9*Q> HM'#P/V,,3]1HIU@")1Q+:R(U:N7#^K"HN)&+; P.>C'6 MCN$!!_U:A!4(M9N)YS7;"86_M5Z;L:0ET5]?K%OKP;[N*MZ]*J>Q%@"#'M*( MQ<=<&CLQ*0A77-K 6(B*\-R,A6$_LZS.%3O<;'Z:Y(?KT0VN:KNM_;2M=E'* MK=O[!@QN+1=AL1V?__[8BZ$U^&^WW]^!BV,WI3M5 KR%4R5RQ24O&/04I"#AE ML>ETO.GT'IL^N+73LW9:&D&$=AXER4%S2SHB M9XL_!79*!^=R*/NK[G1%WO/>=*MA;U-@R(>8VZ@PA:Q5&"DNM/%.YS.Q\J'3 MG9):[_Y@D(M3=?<[0'7 !,]K?1 S6PE$SLZ@YHOMJ8%NT@?&]:HLHT*/IQ^D MH_,?VENNE"?(YXIM/&L_5@J*@%? CA$2H\ 5GW@+.PT2=$A&* 2ZK49#C%ZMFWL%H<&!!5TB'I]T>[9W7FL=G]A6+U?!&P-$=ZJ! MT%4]_]5IL?HJGF0RTKL4=#E=53DT^Z3;;^4[_NC%-MSZ,UY%9&=!^-J-93PW MOKK%.M"YAX/;;YFE(UV/1'HE)8F0FZMS_><#*LS*E?%-![TKA74?9 :@H"-D M$\SP#]L^M>?]E?_<7!=8E(E]>,@23JN9'_[']?[S8=:L%DAC_47Q6_5LQ6]] M..O_\9=M9Z'HVT&,@_XZT$^KO3!E1INMRW+59/=BC>[N;)XVU@%\MK_0YL47 ML4LWSG-+?_;C?6/9D$L/Q]8WWO( /=UN?F07,]EY]NPS/^/FSN M-.CN88/ .T^;%P!@VYMD:^T'IS0R$BCRVH.H&YE!+O>)Y"!0P+\F'K&"&_U!Z]CF);SJ!S(/$'F+:U6=MF<_;2^=#?7X>P%C.&QL7\5C MCF,K8.LD?U+,_(%G2"8 M6*QR[(E'W.: T >5+ GI368.2,B$= M#X@Y&A%W@B*32$3$.T^4!7KO&_2>-XNFDO*>#_"FT@8ME\($&9 4 MP@+@,8ETL@)I9XV#'0PLLJ7*H*GPKL*[Y<*[2LA[7LR;RAH4'F.CDD71,!#R M0I3(6:H09CQRR11Q,2X5YLW.&F15UN ;>>'L*LISADVQ2N\1FG.;]9BNZGM: MCU_66UI$$]5F6.!M+]9\V_;[K=2*H=;JU'R.._%<1<.#I<&7K8+T(/5VMKL!YV/Q;,)./'T+9A$(,R@+H(7 KV MO/][K=6O=;J#FCTY:I)CK6U?H[@*B(9RA*693A# M?937F4LS_F(KQDL,S_A?#S+32,Q<8DZZQ W-)4^B]8YBS7-5('*+F48\H\8B MEY-[/SY>$3CU#Z>2-R%A%%PRH[0GC85$)KHD.=.6\:*# <#)%.>MP7%LYWV^ M$0MX/$W:KW0V"I!I% /YE,=1G8I[G(KF^L;I#\$=5D'EY$VGXA(N7A$:JCV>O<>;Y(=P.#D3.*(N[['C$3FB/(I$:V\- MM]*FE0]T5=Z^PP>Q'6JGK<$!D/MAMU=+K0[P@A;PBU:G/V@-AOGRS'8+"!B' M@MW@,O19N0S+^J&6/G BN$QPB$C@E*J@,3,^^%OTQ(K+S/&L;<-9\T%)C:5" MTEF'N%$&&1T%:'DV,JF(8H'DA"R^BE^,R\SK;%14V,XPI%G MM9\!E\FY2$Q$F13U<%9H5OM7V?R9S#R1H=KBV5OL^8]HN%(14Y2TS_6@@D-. M:(:$"%I$KIG(-8Z97%5/YS*WYKHN2V;79N=^-;_\"%'(J#Q%W.="WL)KI+F,"%88.^!TAG@\E?OU&NEL%*R MSKS"PX&UO9(#\JL]S=9@N-FV^W-S*+UW%_3;]4(_TE UY86^E*3@ #;&Y^]M M.)4//[5W#_^&=_Y[M+6]*YK;7X^;.YN\L;W/&ML@.M$&;>1RM-O[8JHW[\Z_ MK<8Q/'?GBV@>'I'FYUVR>[A_MK7NSYK;:S#'W?/&YR_P=SME9_)4_6T0=!-H MD$@9FTM;.(YZ0QI *RYP"R MZ<8IWEB!$T%86H^XR1VCHHY(1L),BL8PR9<*R.:;]?UZ\N).MW>4XQ1.>ET? M^U,2X^74Z,RIS83/I8:1N8$W._^,EK?"D8?@R(S\,1ZCE,(PI%,V3GGC M 4>401@;:D0P1AJ=;;$/@Y'GDVSNU++?"UW-G3U7=/4$NII.43(D$9X8BE)$ MQ*6DR&+"4121&RX2:!UFY8,A+T]7;]YB\ZG5:?4/8JCM=[OA/@SX7E-^>P@R M=\X\7OC/>=W?07#\2\'+^33;-I1SIC5%3G*?[1@.F9@\(E%A)C 70D40_^M: M3,=B/4X!6"!C147"SR8$5"3\7"0\)2$H[X-*0B.IJ0#)VQ)D*/7(&*Y\-)(D MGPH29M/A3Z]'P@]3TT<$QQ996M@N@@QG15E,K.H[L8"^/T/GW.6@9AQ4T#DO MZ&Q^G)9^@-]I1V/*6&D0QT0C[;0#-:#=XI7<-7=Y92KH M>:/0,W?YK8*>^4+/E-1&!<>9/R KK$6$PL3(GSO*,V<'IO;B/5R9\U.'.1@S5Z$ M!__,;8$6LG_FZZ1]70)D3K\HNH=\+9>IBM.?&:=_T< _&.;:TZ 0(X(B'KQ M+F?I*)FW0@@E/'D)=E?MYCQV,Z@HN-]P2X_'DQR9QV>)([P=4S^+]D MSY_Q,/YIV\Y@K1,N1_*.N2A2I$D6J1)$J4611$D5>U?+S7PMP9K-@>H625N3GVK4%8T;WX/=L%V&V2Q@\;.EXN]PW_; M>]M?#_?6_SYHT.]X:_T+WMKYU&ZN^PL8 YVT"V[M?&?-G0T89_.XN?-ON_FY M>=0XWKB ^?'F.KQW!\9]T83Y[LU,+/$AB2'8"\^D3O*^?H\* M\5X,\:8\(=: 2FNM0][QA+@G$FD;$DI.4 DL#%1>M_*!F;I42X-X#Q92[^Z^ MN'#X]-]H^_&@VPZUUO%)K_LS'M]H&/V0&+L9LW][,79!:(^-M0KG+LU*ZF"5 MHSP%)9+G-%;2V8)AU8PL%P5 11/%B% M03I+ 1F2% ((DYP":CF6NR3)NC3\ MJ5@U&Q*>50";>.6CXF7?!2V+8(VD,CI)&12"[!S-"DVHF4V72+N]6CY/=B_/G:/3X:#V+NR M?A4>@WXW#4YM[_8NMN\^CE^!&B1$5,E0Q[W'&O['HP@*T$FRR"H98\%P:49* M#B=",Q\5BL)1Q),$?2@ .!$7L2&,:*H\Z$-US.:E#BV0C:@Z:R94M MC>$,!$_A6(HJ:J&!EBVN1(R%(^4I$2,*YJ2/'JD@BN(:!&GO#%+$<2PY<\SK MQ2/E]V"\V$JIY>.$?)&&/:#'X2,%C'>A^'")+0C(2N?(NZB-M5R$E,OV.Q>4 M396 L5BH-"OK)3@"@),D2E19!.(A1=9+CH0ECCB0,30S.>N%R2$C",P9)9XE&,D>>2T )9SBF2 M)&EEN7+,\H*4^9/;%U:,#K]06\XHL)1&:_]WOWJ>+U3A<1R)22D86?E'%@V/9D2O&. 6W%B.(K8,<6HDLL1&I$UPB0M#4L[T M8'4RM^"5RG:Q@*2LG(Z:*F59D!P$"HVU55BQ2+DS6E2BQ>*1\I1H(:)R+H6( M@)XE KV/(\.Q!:6!!^&D)3S)+%JHMVB[N'>]D5>ER-GI%$\Q7CPMA&ZI,6M> MU3LJS'HAS)H1GI&BEBG(B)PU&'&O!=*>,!1S1*T@07&N5CY(7E?_/WMOWM36 ML>T-?Q45S[WW2:IH3L^[.WE?5Q%CITA%(K9Q7/@?JD<0%A)7@S%\^F=U[RTA M-#!9&&%VG3J.D/;0PUJ_-?0:BGL63/Q^CGE&?H\7C *K*J11H\ /0X$YS<6) MJ(R0!<($ISY9)" =!4$ZR,(;+%@N:2[I)F>K\HJL7T#I,W29_!T&@]\:QKG1 MZ:B3.ZS[<-8'ILB9^5G),:<]&.]E_N*%>5)^>0)=9OMJ+W:FM@(^=T+Z ,"V M/;4C2T&OQKN5X=V"@!%EK":2*-!ZBI "V212UEN$@^9!".&L=!NO.-DD\U]O+%\G1]0+J>WX8^!Y;T& C=*4Q,@T MPC8XQ*,B2%$>D- QD%@$">K:QBO*-B7^;M_Y,W-#U7A7X]V/=KG5>+=:O)M3 M1QEV1$=ID,$1#- 8"F1D:DS/J(],$6*H ;RCFY*L*BMR#:OUN TCI.-?/S26]DA7@ MP]?0Z96AYM4=@S*G+73@!4>;C:/0#7W3*=V<_C3U3QGVX15?P]4-N0Y> # U M(]].#E( 4I]^RI\R$V2_Z6 (_\GI^*F87H+%/-9!X]S 6P=5:;U!75BO+JRW M$FC0WY4E*=[_N*T3T.V%X7@>NRUFI+W&FU M[UCN\#L6HE[F?]+^?-D_>=UKYO[^WO4KC^6^O$7;3V#RX^?]IE\V;H[D5K9Y>G M>_;VMR]:?WXD+;HKFB<'].#D#;Q[E[12NY83O[ XCR3"R>@"TH'Y%/>AD":2 M(VJ(,CX(Z2-)$:M;T_#-[FO6R2!,XI0T*QB+@/$IEH"E10Y5DJ]FNT2_!&R7=' MM?T0>'O;O36;].*S?Z!L?# M;AP;WS -9_K]B]3#XJOIC$)C+3MI]>[72FM5S9?&*U6W6EK[3*NLI&V6EHX/O;965YI4(LMTM&ZY=@_3J;9QN%0.^NL584%=&P^6W+!(?T\Z[)Y(?A,ZLU]2_ MQ_TK3>@H(-L/Y@OH@##8WTSGW%P,-OYS?8HPOYDEO<]JS O35_^?[<,K%@QP M9E=+;C@WMIWKCX)O_-TV MMMT!FIMJ^'Y_3>5QFZQ]<,?!CSIA+U:CGAKT?E(;7W*SM=;1H5)@%H/N@@R8 M4"G5V2+%F$+,BZ!P!.LXF+EF:T\!#B7IF8KT.E>[6'=/JP]Y[W:J\[,V#:N[ MI]7=TZH5&(OFLWXOAL$ U)$JK*8W&@[:'D O]+^FZH\QA+EZ3-^=1[1VRW%O MG_C/Z?E>84YDHJY_IHCK+=#1ZU&_'W+<::O7=>4?+\ ??OJ.'WSZR%NG;X\_ M[_]UVCQ)[W#\@+[[UJ)O3UO[_DOSM(F;GP[$K#_\\\XQW',$[WO;:9X>7+1@ M/JW+XY//.V\8C)^TZ#MX[[MOGT\Z"SNE%2Y(8CQ'.D30V@BC2"M7(&&\ML82 MCS$8UWR3BE4=]SVC0[T:IM9I;D^3R%G#U!/ U'R;D53TC $N$4,#XJJ(R/HH MD2VT-TZI&!E.)?&X7M6QW1KE:ZXUXDSTQ!&8#B;%5]=UOQ\]*;%:ZST+TW\I M00,_"GVF8J):.X[!& Z)#"H&1U$A4]" "@P9[2PB12&%#4#-#I0DNJGT=RM) M*RP07-?Z7E.MHF;?1V7?RUGV3:T5H@P2A8)+Q%WD*>:'(N!CT"I,3,4X-UX1 MO*G$_!EB7>#[43N()%_\"ZM!]00*0U[F^6.KVHYY3"A:5-H[R&@580P1KA7B M1!.D2%0($Z 5'ACW*K4^W21*K9$=4U>:6E--XEY\7;/N?5AWS@7AJ2*!$XL8 MI@3Q0AED"JV18QKX4@$PAV+CE6;?K4*LGP/B>12,VN\-3:?16W:ZO[+B"#^U M6_A^D_]I 'G%YUKS6%RK52O#Y@5):XQ&891PR$E3@%H58VHF'Q (4UE0Z0-V M=N.5VF1\5)>M*3L1KH'A7HYI10641A':B>.3&7IU+%6CB- MF O6.BD5D\F5)39I\6R*XCUN"MM*,M56\L([II[-))W=%/"?60B;""PL*(TV M\,)AZZ,#'G>,!F&*: ^YWEC#Q*_%8>&MWC TU%;CD6.Y=]H#U^D-1OVP%U_W M3E-!B[RL[T,NVORZ-Q@./AR;?OC##(+_QUSD,E#K$N"]]V$,7F_.FW_^=;*W MT^E\W@< N!H[KP1S1U_ N\Z/:"?3S_OP\@NW[;G KSWM^'Y3;Z7*M4! +5V MX%G[7\Y;M/4%[CJ!_W=:)^ZR^>FON+>_C5O;AR YE(^6H !+#@ 44D'.*) W M(3@:73#1E=(&J#3X[20"L.,"Z\B,*C37-BI-0)L.!8T!"ZW(;$#XAR$L+[)I MU1O3&S//%M-9 @OS)FY_]?6A @-IH*HB1)",5B@%DPV.>T:Y84(^TSR+5+]Q M>-'8[:88VU0&+15V_)XDBZ>(V-_M-OXRL+G]BQR7O-GHC?H-VS/]'*COV_W@ MAKW^H/%+BMG_G_^C*,6__Y%^SI_)[[\VS-E9O_<5B"I=D32'IK6Z-K#\AU3EZ4+)L\^/VZ[XQ0G^[7M0RH+U\]O.>H;N!+& M!V2+_G<$^Q7;N:H<4'BC=Y9+R6VF^G9#(.CAY!>31@!3J=[\_L/V8/RF!5(X"X;B?Y M%?)J!9C>>;NLRG<&:YXN@94R1T?]< 3 F68[.DO?+M5(!PE5![-*:2RH(#KU M43;];DFG6\\/ MK"@F>C.#0$:ALD1EFLMQKP/*X6 6CHB> NBE$ 173>/.5F-_?'.^># "A@>Z M#N7[^N&L8UQ923-A1'IZ/X H2.N;:I,T%HJ&V7?B15B7"F"&"-(QWP8O*/-& MTN6;^>7=7B..^J4GMD29G,UO*U2$48&=$?KCZ9K/*RYK<4SYW+,@3\AS!NO93GZ.+G*DPA >D_*UJ&&E((;][=OF6 MX_<,8I&"XGS 8Y>V[QC$5T;8':0],)ZU^^F4P.DV/_*7]ZSTEL,4T M,(&I9Q&492T5ITX:2UF@A(-.G"0PT9A3.BV!\6,)X/$*O.WU_TQL6,OA)7*8 M-]\=1BLI%3PB">8^XB8:I+TRB$:.790"C!^Q\:K85+K8)'R^=GA%BR5R_])N M_UKZB1)C5E0*7'DR5O=*&+@!QN$O,P3.[8?K )R)??NLW^Z4SZ=TLZ3D]-J, MRSD)/^-^NPO:Y&8J-0DR:[.1LV@S6/0S4\20ZC;_/L9L7[X2A,YI#RZ /[H_ MA/SG%=#7F8^S$?O:G"4CK23H]R%ERP4/]/QV-!SUPV[%U35A+R;L7=XZ.O2" M1E-XC9@U%'&K&%*8"<25#U@)JSQ-S;/YK5KEJ;E(ND>"TD2S9[VR GCX%OJN M/+#">4UY M)!6M289OKAWS1,;.4Q>A^?&TV&1[[PZ%<*ZP,2)?2(=X;H]L@T7$8:$Q%E3J M=,*X-=\I;%QS9DR,9K+@M\OWC*)@6Z>B!/UK_F/VQU+J3PV6S M\4_^G'3C&[7UB6$W27^I?DJB,BEV$TVX?/?XSRF?U8R&O(9;)+9,3I:#!,\@5TD$XP\'FI0"CU_[EJHA%4-:=2 MSW4>?52%#QK@GSBI78'I+<62Z4+!8&\7#'96,(SS$OY),\X'(V-EYA]8B^D8 M0D1?G!0XNFP>'4IL"2VX0L(QC3AS$2E&,'SRA:/.2B%2^.X"5>2_)R5E3+M? MU3%<9/Q5JHFOO*DEI%4:\@VD>0.P)2/Q@93)>:&4-@ZSZ+@FQAI)N-34&R$M MEJ2FS'6@S"]T;_L0\$MX#E8?=B$=SE&"C%(*F>"E\@I'SQ3H)_/9L=]#F%G= M\*&TV$ 0VXLI]TQC-VXFPLN^/ #I=)<9WW=%S1-AV,GN('B$&0[[;3O*]-D[ M!P*N)&QO,$A)V&!+WL',6TC/A99.%8X$(B27J9P@F'>&,ZJ3 4WO3,_.?QO\ M5E%>+_[;2ZZYW53")@R&@]3V9) S./H*/2/0<+ ;Q779J9]P?1Z\H: M/NV$8F#%!805B8@[[9'1"B,B"=%"!U+((B'I]KW@6@DO/2 MP68ZG3$=3[LA7&F6ES2U>=T,O()3^'H05B7?5TIU#[;ZED/HMNU]#6>J1-A0P M,6**E 32<]C% .27SL8W7@U#MW$13'\P&Q.3U<2O(((:Z0CLA]#!0X H__,O M#!/(OZ0$4I/"-"E<-K89ES(R:8WFG%"FM N:.2D)YA0&]<,L@6GJ>9]=+96D M,D(MBG AF"05A1R7DTA'H:-U[1149 QHU*6T]' MN[<(D@?10PT@/S@XIWG2_ 8Z3!&+Z#U5B.JH$&=8(>ND11H#W!NI:"P 3, 4 MRU@R"R6EE_-^<"$8=3+8 !8IYI%26Q0LI% @>+=3_L>YM&JX6 P7'\^!+G!@ M2G#%D3*:)KJ@R+!HD)$6K"^EF,1LXU6Q%"Y <1T>)[/]:W4HT0^G!NP(4&MO MPHX'$4>-'4^!'>>'LG"6\]1\(8)USFE,V*$Q8MSK8 O%M=6@D^96KPLUD:W& MIY /8*O3F;U?GOPELW9_K.6UT=8@/VK^>_%#^7L:TY8$N*ZS5O;ASH: M[@SSB$0)RE6D IF"!@0\4%A)+6.IBE#)"1D9YY7RZIPR3/9C[! HR6NS5,U3 M"&2.[#+]3COTG_^)X/NKB,72P?&QC%C<2">N&[^NW_QN/",$. ,EI5?AV95C MICP^+HVK*R?-E3T.<)'C86_$"!VTQ]HJSC3C2C(+("%)<-0QIC@I:MGXI$E0 MYX=4",&M]TA$J5(<"$%*=X/OPR?9N 9J(PI>-@ XB3: W@QG2[;0";04J5JAXROC)YFD.W2F J MO4+]$IENAB3L.2'$:DF3 &1"%])Z0Z(-UAE*7 U)3PA)EWOO#KVUS#@"*CH7 M'NC,%4@1FR@.M$JE"=4^EK["52/2@TBC1J0?IL1>OCD'D26#!]BQ!$D7-+L7/366Z9$-M,()?QEI6"EPD MQ>^#J]3=B=$WOG3\GO3HK1(K4]3XE48V-8O*BAO![^U8O22/:Q*#/DB'PDEM M[U4.CG0 G/WIX_>,TW&2>3ACZ^:7W]/0K?O\W:O/'_MY^OS=FG\^DZ_.I,<% MX*]1)'),F Y9$$3CX2$DE0%9"UOJGK;B/XN3WI::D/]D$S*[J*=N;61-8AR$ MFB[[8^_Y69HI&M5-"<*,G>WA,$P"":KTTBJ;=#,59PD <0"HXPSM*O\\? MN ME$-7IR*2/:!92MOVXVCEUV_V\F.K$/7A1<[X*9]>8EI.XDEK7J9/WFETR5B> M)+Q./06VI-RW!)/C>.GQ.*L7Y-_R1>GJ;$R7Z8A9-@"0'5=Y;\Z%P2"..@T0 M).WPM10O\!87^D/33H/KG_7Z6>L%?<=D#(8M@P?VNK!C<$5:KS);,P%QVHU) M<'8E:J8%Q'&_-SHJ7PYS ]K."7O7A<^GXU &S4UG81[U8$&R2/(!1IG7WJ;8 MHY[-CTBA2U-3N(I&&EZ M&LEP44+B)(<3AI67NST=X9<"IGJ#B4)07G!#%%Z[.P#&[YSF2*+KAP !:PWZ M(O,.B$\*]%9 MT*:(-U2 (B8+K&5@&&PGP@D%HI,UT3TQT35Q$X@N$K!I94!&85>&$EOE PHL M%C8E4G*E;B&Z*K@]MOLI"N:Z\7J-%J=-U7Z-1UQ.*=KG?=&\$C03"8%!HY-)\X\/-\R#E/- MS4%!AX7K^\,J(F!N'%.AK_F=Z575 ^X[;]#9P_"Q)WW+?/.:7/>2K&Z&N:)+ M\CZL8H[S4[L?%CI/ Q=%005WW#)A58R4\<@,UD$6MT4 +M3<'A3'?K5T?Z:5 MVZX6[4.U6'^GM2I3F]]42[/?2]#9''6&[;-THEHK>K?'?B1@!4PET5&+J X* M<4DPLJ$ B+5&8JI<$(XL4?J&V0Z^A7F6,=DUCEE8-B4G32>BG]46QB2_@,%* MGLJL- ^&)Z'RCJ[ M"L+TS!RE4QH.LPD?*4IA\P=4N9$GR-<6>>,F'$*:5F ME-.:DLUI4IHI?'_6ZV2.V&IL3\W.AD[O?!'J5T^%[X#*;S3)%J>@8J9U,-'* M2'EAN)4V:*T,PYPI[/%#F/LA9MD4<^>_KY*I,EN/K;:2O91VX>"22*L%T@*G5I6<(XLT0JL-J*I4M(P$S=>=1?P;\5G-B2ZO*\8 M7<.(E1O];/>KW[$Z0?C=QZ-E!;?DP^B/LF6=^\'L'YMNY?G,Q9,&NXLR;FHV MF8WR@CF].\3,21YX@;SD)%FP$9D@!'*QD,(I80KM[TLQ!5%@ !,CE4BN$JH( MH\&HX N@%TU-33'/F6*8E]8Z95$17*H,PR52RD3DG(W.,Z>,%JFP]1S(SJ/N MC#&2BK^,]24_ZH\MBM)*'5M9 ,"):')-HE2F=A/N*UW$H7*M_[*1R]=.GY2D MQX^_SBGU?& ;>>:B>8L MC(9MEUQ5G>0]2-II6=XWY-J89ZGL65K*K44+ M]:/6(Q'04O+:O*O3;5JKS579)@67)\0](;L%6OJQ2:IQZ%ZSA>^GRU(E"J.C MM2">>6KPB1W!/.B"&5\X*1:?+"S(LGZ( OL&N.4T':G-F*E32OQ[^/D%^^Q. MWJ5R%=0[+PO*D0)# T 36V1$.EE@&( A6B'-LG(5]\]&DL%J2IPF#"0[%84U ME&.+@TW]W*BDBRF"U13QHRB"M=X=ZL*I%/J @&$]*%Y:("N$0H42H%X')06W M&Z\XW;HA3NFZ2[ R40"-.Q>;54WD?&)Z.2Z=>\-IZ2"UD.OUDVCH7"0C?/+' M#?7^%E(?$12HF1,ITLKH0CM!-"&VB# I)W1]B/#TIG(9MDM;.U_(H:42%U02 MY"1)X92*(D.D1B!!/)..:"G9DN.$&QW!UX7@))ZAK-"]5/ ^ .Y8440+)L1*"B@ P,8#T81218 MGK8 #&0Q4+,BDLL);&,GSC*JX]=L!??5-E)546:)>?BFH:=X0:G@02!F0D3R PF:EU,@+JK3%'"2/FVV\^R1,_>&V ME*7VH++5KT!RU#5@N@]#V18P757VSTAMR4W9% _^4^:9I/K/9;97;LN7 O& M=,X'C5_RPWHC&+P?_/K;F#%R"^Z91MZP%KG]U&_C#[_[]N"L8RY^:W?SC/)- MOU_2;%%"[[T M9[Q%EOYVTV.)V.)T^<\W/?;FWYAZI,'2.SVVZC!_6W?WJHG]='9S)\3EW>M_ M,,MD4BE[ITV0?+8/O;[+I,J4[1\S+7U;VW=<9KJFJEG-7#6K\29W+RI;BC*R M>6VN+VA\^F-=.G0L! MM--[,@@LW1-Q1]+CDOR><> V#\UR--?GK2N7O96LUZ MJ8ME-/!S/F2M"AN859)QPJS&SGI*0Z".1AUNJSJ,V-W";"<>$O8\S8OC@]-O MG;T3^/;3NXN#DR^7>Y\^PCC>?3NX;+5;._\>P_/3KYV#3Y_ALV/C>^!=H\_T MHVR=?.Y\WOFKO;??%)_W_^JT=MZ>-.DN;GV",5+X]?3?X\^G\/G2QV8;?_M[ M_\VP^0%_:UX>7>[M?SP4H:"6.8.H,P'LDRB1$+&*T+UG(=E ML%9^/7@2+QW,?EX\2[G+RKM B O<**,!S)B))#H%<19KA=W!5PQGJT* MTNZM75:^SV>C7;X?A^4G3_Q4 'YCJ75"[S?[A2#\K,%(%+C@U 5+1*K]3G44 MAF+KM$_^1'I;K<<:C!Y=N3K@K?W=0YQ"VF-J%52H L H]?G@+"*B(L9!:^DY MWGA5)'OR^\!H,<\_J@HU\\JE+H 7SZQ.4T*\X\(XRGE46G+I'592*HQ-E<^] M"LWA+AWC:TZ^KUI1<;)RA&G8HNAX4BLDF$D%4TA31DF$OX-5H%9L8O;=AM(* M>?FG]TQ]"!WX\FAS7%(VZQ#&G[:[[9PMV/XZYZ6Z$S M6(>?#Y@(=LR#V0\V M/N&< M5S*H!>60"F19[F>2^GM1QI&GA?;8:B>EW'A%-Z5>E3=VC1P4)4NR==8V]E." MRGWUN,I!5 6CP/P:OC=*H2WC\;Y89_+J%^BG@?,'Q?'5W=M0#5KV/_)L<$H)V=L^% XSBJU!P4B#.*<.::L" MDEA89XVFRONU2"E)Y:+++(^<=I<3.LY2%;Y<.2%7>[BU48Z]: R"&Y4-D"[. MP@IS4.K$DSKQY*=,5Z@33WZ6G?Q)\R?JQ),Z\>1.Q_NYO62OK(;]>$'*/YD+ MZ.4&:1=:.E4X$HB07!IE)"7<<$8UI8+3VQK3O:RXR--6!^XY;NW\T6[N=+X< M[+^'>]_QYH[#\ S;I+I]UXAS0CS"F-[CYY^[YWJ?W,"XP7G:. MSEN7[\&(>8=;)U](\]/'BX.3XX5QD:R0A=?"(B=2F79K"Z0\<4@HSB5A'@=5 M;+S2WQ\7^:."M.N\DQK2'BEZ-%H3O?:*2+Y"WYI"VL^?=S*N_O3^ MP_:<U'T;A/ :F+58E1NU M=BO<10_X8^^E>1-^N<\1S??UWTW8DMJPP*<:9%8/,A\69#&0X"6."A&L,>(1 M:S W7(&$-Z80D=#"DHU7Q;S?X-?:9;"N#'L/?F4\% IT/UY$S)W"UG'EL>76$>/-QBNM5Q45OT8^ M@9\N<_3Z$4^=Y/0#%NBGP>LZ<_2Y@?F"^!@I#666&!0+@'">M"_#@T)>Z^BT ME)P9N:+,T96STO,(H:E!M0;5.G/T9P;5.0U9*$&T(18QGSK;^R(B%5/A:UQ$ MX;13#G9M-9FC:P.J=\@<7?L&R-LY;RMG@I3;P,AFU8UMU.TOZH/V(_J!W3CD MNS?.W&QT0^ZMD/Y.*8\) F)HI^[#@\W&N1DT_NL^UCJAIF#6.AT9!]5/IZ*P M,GKOG:&>E)U;YY4^,8M/=VK]U>IURYYYN87A(-LXT[^GMA&MWO @#*\:@^6( M_KTRH/]N<">?)]P]/,ESQZ4D3PN4SCE12&'C$'<25$#G005TAF!#+?Q+-UX1 MLC6O 3: HCN)4')^=VHLW0.:J=H;#J93*C;O15R8$RR,)CR&5,?4:D>5]EAX MP0.(0_+TQ#5Y4GG37FH!OG]LNC7!W4QPHG5TB#4C)!B?BA.G:C78(NV91-01 MQT&<<9H*IZNM>4?OC?1V+4"=)T!SHWC)MO>&\T%$41HN:WIXI MO1U=II;FQ#O*#08J$P9L7$V0)9G> %E(%-(*!@"W19;3VU/V0%U$ZRD$J&R= MO99:R7UXCQ-M"\UX+$3!"QL4L5$5*BJE/(["UKSW7'F/MLX/"^5]# 5',AC@ M/2MBJ5QH1;&@6!H3_<8KO#4?.+"^O)=:.)=Z-HS.C?K]U$(B-1L&(@B#<3?H MW.P^_6'<<1L^I[H06XU;>Y\"+:7;X9/)U-8XAV5HV-SZ>*SJ#X^!N8^.DVE2 MS'0V7ER=)U,>-I%X+BB--O#"8>NC(X8[1H,P1;2'0FRLH:FVN.LQ,&EHZ*W& M8Y>42=MUW.N [3QX\[^C]O BO7BG/7"=W@ ,IS6I#T-:8^Z&=QSL'W>:EP>D M=?D&WI&]%?SSZ5^ISE6[>?F.P[UD;W]7S')W\]/[X[T_/UZV3CZRYKX'[GY' M]_:/X=UO6(ON7K9VCF"<'T7SI!.;)[O?0),+1G%=$(^,P@HTN=1RF(N K")1 M,A8"34LZ:=&]G3"2@1HOM?/$ RP47AHI< $*OHT%-1;/U9-Y;]?O-]]"W[4!)0!@]F:RUM>-@Q=#Z]L2Z!*8A= X M+6MQA.NU.++S):LY\TX9NMDX3ZVB!ZGW^U)]8Y"$]V"U)U=X(4KLYI'LC/KM M[E'9E#PK#H-I/\1XU_S== ;\PE"E=7EP2!VGQ$F>:DQ1Q$%8(>4H0=%B$PKA MC3(I?XC33246&(A9);X7,7RGQ[TFAD*4>*!J - MKKE@J?\421%AQ:9*5"ZRBT8-,RP M81HE7@409U]#WQR%R>^-,Q V&6MOM&Q@I_,VKQ9NZ-V.=+;[?=,]*LN/_7%Q M=C%W9(F0#;RJ:>"IH@ M#OR.3 %61#-& \^,FPV7M$MQN;IY2ST2\R:A:SS]O XG]XX,SA.O;%="'YP M*QRM.%YGSN/R3S60M_W>Z7<(MB?VC#R![=3\EGS@0!:PU+Z0$NA$ ZXPPI K M@A+!L8*D!AQX:P&9C/TBM\++BD,+ZOU?V?[S0X6E< (;Y*V%_6<4)(P(&!FI MG A>:5JHF_UBUT%BJ[%^YM]]3=KL7VGLI'YJ;3O*Y+Q]!,9A$D?K-[L;C=O= M+EBL%\E,)=E,C>T.6*FF\3X<5>WB8'(?QN5BDQ\1S.'3Q@?$2K!/AO&'-Z\W MX4/23$=#&%*.O>A<-&QPP(:-$&.Y^:5&VQX.TEMRB[H1S+_?.#]N@Q4-+S\U MJ;)MIY,SFZD^;@S]_OBD=A-XW0[')7#;94Q TA&&\.EL!.8W: <9 M41(E5J!,,;;#5V(.I!ML? MF3XL3S$.KYA:HK/>8(BN)@=3[?J\2.G9:36NK>'4RFTU_AGU!R,S=>FR9^47 M]O-S0EH (!!S!*1V!!MR+TS5&HR2R(U6)'#LG2D"T1S0L^!!<<*JPPOX>S&4 M.O]M\-L'DVM6ITWX,%G]]Y/1;8]'MGW:&W6'-:@N5KZVQ=[^QV_-?1AY.H+8 M/HS:P^(+BJQD!B#66Z2B< CD'8A7)SPKBE3J$F\MZ] ]EK2@:%VQQ59CEKES M^2S_]I)Z7O [!2!_[[/^;T[/?&ZQY<\\^' MUQN_7N=D^ J8#M2^41\,4]<9#3)-'V5Z!F)/W_OVP/7#<*P>P+>#$=PZS-B6 M6:+" Q]@S*> 6_/,NWD%&#W0[X$E;W*R8\$,DYHH4@@NF5=166>8]P6S08HR MRXY@46H5\.'*R3Y+_*5M<8V^ 7_=;W[4/^_U_2!T7S)1[SO2.C^4112%DAH5 M,IVGJ-$[#\+CG2\AJ#X!* #SS,:P-"6(WX.OT ME.K>L7ZQD?#1APBXEJOVOQ]U0H,34>%HUJHF0-[8=CD>,EGF&5BS>A#\.JK2 M-RJ;GV!)0,GJ]H:@TX#LZ9754J>_,M3[[)F>[-745FTU]BL0R ?/ MI91(:E'6,C-BF'ZG#:O9B[\U?FG_FK]K5QR9IR(;\[2]2DC^9';S7>M%.D M1N/,]$$:)^*[FLSX =-KDB=X#K0Q#-VTF.T("G=^8U8G84I3CUOPYLG LV*< M'I9E[_23-LOG5-0ZL\)C!NKV&J[==Z/3P3 ]?)#6\/I. @\,>AV?M/(I?;>: M4>HFD_]*/2DJU0$XZ ?)\&8I,:INV;5$OU%-;5ZTC@Z=$6#PBO>6Z@$@?VWHST;R/H2T%OBR9^GL]61, M R"R5$$?%.&]^&>_-QBDRP;7?=&(OCA"*!2&2QT<@2 M[((W)@1J-U[-.QG_>XRR1VE!,Z(/K@[!IJ!H&0X!,8TQ$6R5<#9&;A?Z0].> MA#L-L@&5<7!,;Z7N>3\JDP(S61#/3+!<.V4E45Q81J+BU"BR BK+W:+:IQ:F M6IZ9U&2WD.R^G /946P(85J ;5)((#NPNC5P/L(:$Z$"QRZZC5?SR4\WD]V4 MVKA4_*7PN8Q8-NN )KM,,N%=@5B2S_WIO4R_ ^G]W\&$+/,U,21K_YDI@SM3 MFMUMD36;]PR5H!A+&ID _L*)S^GG$?S[J#MJZ9L[ZO! M[G7W^\!NY; RCM=>A5NI;?\-!6IC!<"\51:!7"U243B#%/,4"1XX"]@5A,D4 M&R%N.,,"N'[2,^Q[D4=-&;?XFW#S\H@ 983(L336(VI=#H7 2,$>H8AA1XPM M&"@ B3)NB/H'';&;O4(5B)1&3BFEKV1Y*:A]&Z#GR@MT)<6?/$*BC*495!0V M]ENF+),:9NX",QR(R7!"..4!.>,QXJ!Z(!!G$D6GM<$L2IK*PN$MOI28MAHW M9';?AT "5JQ04O' "(\"3%B.@Y?&T"BH-L5MN4JU8_O[ B?>7.Z].[18:L%8 M1(X%AU)0"S+14!3!VM-&%-X3NO&*JQOD3N.\UP?K],J?W0^GIC08OIIV)[=E M399$]F1>^8ZSHG,/!9O>5\'VI* ^08]BD4>M-&>66T5A>EHSZ6X)T5F1@AW; MWX)'EZ'?>[&Z]74_W1<,-JU21G,J+?+&1Z'KVF&P?GEZ>Z\G.';2O'Q_\GG_CR\'])WX?/(.\.9S&T3?3)@4] M6GS>WV6MD[^^S.-8\[+U9ZIN!/?O=$Y!91*MT]V+YCZ\__+@,F7V-D\<;9Z^ MCZ"3\];VH17^]3X8S9/[VH?LE)^;2<>D+=W^_NOCY=Z&JQ6A$1;\((YA27GA134 M4>%=>*9Y?GME$WE0./X.9A">6Y+?'@B\XV#\_XY,'U!SD ^J@0]S4G4ZH _^ MO-<#8FD/+S8;KV%10!'IMLUFX_PXB<;ST.@Y-SJ[:)@S, 6_Y13KSD55)&NI M;O6_<3BC68DH,;.166DCT%5A@@W&68H5MX4MEE64F&%\_#1?FCX:>Y_TX<\JB"B%$BR@%R.%$!:;#ID 9Y&RS@/_FH,VR?@>9N1^U. M*FPVR ?T[3+N8)""9^UH +2:G)2F_R6;AF$(.]GK &-V&W^W8VCL=D%PY-/] ME#63CKQ^V8"KTF\;OVXU$F5W$DN61Z;Y&"&' 537P-7O/[TNN7;C5QB6ZXQ\ M.EB8IN,;S(-Y$N8,3%]M77#"P?[4Q-.HW3+CLR;A[R/A2W=^R*SV MV!46I;;/B <-NB#(%J1!2$E#0)1RL9HL.:<6^LE#8HK4TAIJ>(U]3T&];7 #CUD'E/@^@(L#YX:OF*=,6*3;TP"_86P@/!_4""NW[G=6++URVAR$R)Z?<%#\@* F@G MG7%B2V.2I9 B4@>-J???F/*7?7U_ A 6"J5<1&PYZ@[:".2R=YYCT@J' 2CJ5Q4J@! O@-L!2:-U\=A M .:+^1+N1?0SMUZCO&<7+/!I)GDAAW("5[1-IU)NKJDTR26:7%C1N':GC*&= MT>'3W[ M?,+B$QVH<6Q2X&+HCL-LK]2T,CL!%#*7 S-SO*7Q)Z/!L"JDE*LE M#:Z@8SJZ.#\\YV1VKZ<45<^XMLNS5TYP[=IZY#^J++SQ MLY9AW2*Z2?< (83JDNE(W')(.9K%E\&QL"5E[/Y@-M$IS$UL<^YYY6Y6?\R. M<;(UY6"F*DQ5>2Y%&1576_]R:/N56%FN&>97D%_+KN +'<@[H3#A@ M$>^.%KX2%M'ATH06,]T M!F=2U8,H%&BHT8+(=H6V0" DLHU78M8+^&L9T+QY<]6>&]'@87I:C0:KI #> M?'?HA2:,20Y&2;*0B2E2VW>/I%=.%$H+2MD-:# (9Z:?\A7N"0L+Q<_=L.$^ ME%-CPX,H V9W?N@4M99HB9Q3!JQ7@I'A*1@]%7GU@1GK^7)LV'IF&O6L9G9- M5YTHPZ5V.BZ3D77JW&(AW>5#IUVFW7;"<)CSK!H.M-CV,"G7G788Y1#\<49R M2N7-![=C%6WVGD$VIX&W^F#0I.JA=G)+PYI.F6)T'#I^G IB3?=+HW*6EO'3 M:UEC..>B/&%IV/O$#16,*>P=9QQ++B3H))P(G"K:R4@8=G>M40/_7@X*E,3. V .AJ%*#7BP@L$P"]0$8+& M5#*B8[AGVTKN"^E"H JVEPKMO:)@E/B(L9.V;(1!":WW]M'W-DK)@*T,8E*# M$B*P2B8)?.*%D*?>4K@6Q9*F;7XG>!"TI5G2[5FEVR_ MK&+=3QX!,VC >J-Q^>S^A/K+(F=5DO"H:T8@Q4*9))R">O.GW+XH._,J"=88 M'(("K.Q" M&*HC:-2!,@!!STE5[H'<4CBU=I7?[V1H''6_"]^[BT,;$^!Q@1A6(-BQ9OKT-R' M"&\WY_(_92.(%-<4 &)\LNWVXNNJ !:IS;Q%A/CEVZ%6,3)E)?*>6S#S=$2* M.HZ4UQ[4(R*+0H,4QK,67ZY74WF7Q]5IRMUWU19D^LEE#0"O6KVO6=(T&,Y" MAI30N!2X%KJ/OA.Z:O?12JEG?YL=&FYD+$!IBX6-B$=7-0PQQH>H!"$.BR6. MI.6^HWR.TIT_2IFJ9_!$H#+E-ZH193%-B$,L"N4+X9##.%5RLP(I(R@B3(#] M#+N*G5K@0JH\2)/S)M!OOK:3[@GJ40D6YG[9/P\"BP4YAY7G9J?TPM0FW>U$ M\.;BD.-@B9 *:>%2&"$-2#-FD2&".H\YB!6,Z'EE28]N"^MLM/9*=4%::FJTNE2:?2GN."'O"[N7)T3H<$I-6;TNZF@@?& M!0G+9^=P\VT4.\GZ[0W6:8:-!<'J[[CS>U#77C."-6@.85T'$L" M,C;5I'<6>P\/=>EH_A[;^<#H^7H[5[*=L,Z.:%\@Z4@N$T:1#MXA9;TQ#O0- M$8O%DF\]F^J9!WD0RTIV2094L?0Y@:2LR==I&SL6*@_T'#:VW;AR[K@5WU3S MOP3I-X+V>=8)3K/ JA2*NS6V2I-;Q[C!>^8IE?%J:4+ECK2[)4-/N= GN5Z/ MF R8AY'**^PG9];+S?K;/0?9VJ ]]E$^SS\;A-_&'W[W[<%9QUS\ MUN[F^>>;?J^VHTKO3KG(H!'G)@)5KG;>H/+GJS3E+5RF*@_[\'\_?G/U\U;^ MZ3]#/_^;%%NTX$M_QEMDZ6\W/9:(+4Z7_WS38V_^C:E'&BR]TV/_D]>W7&/8 MQK39__\&V[A*-_TWW""9<<;/FURJ-VZU"\;/H&??TE/FL_1GZ:$DA56S MJ;XM6SS3VWX6ELU26+ZY+BPG N0>"[=@TIT0YUC@<:9\.S+E.5=9*=.S6SRI MI5M< 4)"7)AL(RLWC33PY[7Y29H_[C(LY:,7M7>S]^8[!_W%SYQB,D7?P[K?'>_OOO[3V_^@_]^?&BM?/'\<&G-Z+U)XS[SW_;S9V_ M3C[_N0O??X[--K[X>__-L/D!?VM>'O#6_NYAB%8)H@JD4W(LIX$AK5A 7DMM M)2ND\#')6T4)_7W)^<#CL$;ZZ9XL%%1-K$(*QGOBA2.=WYJNGKB%_W5BYO-UK7#G#V MKKMYLGJYU(RA]YO[0LA]UNBS,M5J[.N]'EPSKU\M.T6J\>D.^'0QKV2YPA7> M,)-Z63O$E0O(IC(-D05&I;&J,!3P:5.Q9649[@Q1B\'@416IF5#Y> MF191\_$/X>,Y/<-$S*4'[A4% 3T#$X>,Q ))'Y*]I(,7K.3C^3R9I^/C'^VM MRH>53\&*'XY[_2'*8:M37JO'.;"76^(.8UI02SAIC8AM+3A4LC#D]("-5[^0 M7V<*U]X'2Q=LW\^'I2O7B3+QI&#BVN>T2AAMO9Y7A[1P(/^P1BXPB;@F!!GC M"L2LYD:I(*WVJ_8YK9%GJ6;B1U.(%C%QS:SW8=8YG<ZQM>4:Y!X#Y.8T:*D%Q<%J ME(+#4X$_!B"G#*+!:**TH9J7(%?HYP)RE88]TT"+901;];'!_>(,80P-WQNE MT.^5A3$^Q1#S"O\GAZ-/Y;:L&*/$%KU#(L R!9YNJ3LZ,5,T@I3&/LEPS3FOO6Z5=50V2$E=3H;',/3T?X^T2?=)]2 MI9IQFYACXQO=7N.KZ;=S\L;4QMTU[WOC&25^*+K%"OTXN11W2^YX7BD!2Q/K ME@29S"8>_7:'2/EG%9B^M,79"H_]2O.!/?WNW[C7G_(?P2,#HS)'H6I+>Q5A ME 5!RA3+E4U^?5#.Q'W#OYZ%Y;$PG_0^6>LWA22,MV6[W)7WXTW)/_Z,E7LJ M8^.ODX/377QP^N\IC(4T]]^=-R_?B>;IOYW6OF]_/CT0+3!(#O8/V*RQT3QM MM0].WK<_PU@/]C]^:^UL7[9VOEQ\_O21M.A?IY]/OM#6SE_'K1,?FPL\*E03 MH[&T2-L4HD "1]9+C(KH!6=1,N;HQJMB:ZZ&6,D8WX<@-P0M/#\$\:DZY"@5 MJ3'#4 JQK:#&Q2W13#/0L5/MQOM4WC+T72[H6SDF4N^H&BQN XL% MR1_<%#P:KE$L,$G-;372W$1D""UD$8WSWFR\ G5R/:*9GH(3_GL>$:];Y7/M M>>M.XS=W&I?+.XVO<=/PA8V6;VV$8&<5T)H:Z$\(PK(3QFX.L]?1^I$4+CS(!A^D3EJO(HKE=F M>>21W'.%?KLEPO9%E3>H:TC\@$5^E!H2S\.XOG)4YC*O,==MRJ7*9PL^U34F MZC3LITJ$_,=ATT%8&;Y5 CD>#N!(&:0N?B-)2B4(JPG@.AU#T6>1KU_4F M:J!;^U"O&N@>'>CFXKX4 =IUJ9>OT2G-27ADF0N(,2H%L<*'@!/09?GG)OSQQ2I7= ;I*I@?-$TP]R>X*47L/W6/#]DVHL".X6P]@IQ;"@R7A 4 M.1?>2Z< 3IY?0=KM9>6O-W.9Z=.* !JF:SH7@W:^VG2!0CL MN/SO'&OB=(( MJ9H;W%Z']DXU9W^FX"2R5>B'N3=_!J?IDZI1=W,I'*0#^^3G3&0ZKOT^Y^M\ MH&^XCHBZ@UA=)EGOXH^!ISV1'IH+Z/]R%2"EJTK[WQ44M7*SYJ5;-C^O2W*4R9\'WV;MGKV=-Z2U&X\"LRFI+T@$UFMJ%@Z:IRJL"S%%E6Q*)1_; M[EFIZ?,#(^&>5#CP[SD,JJN K17\[8Q""]Z\?QXZ7T-Y,EZ#W\K ;U$]9>8T M"YHB3L'FYB'5MI',HRB$4891'8W;>%5L%FJ^E?2S+Q'V//!-/(:>6Q?U>2I\ M2PK=_GFOAK65P=J""J:%],)3XA#!"F"M8 (90R*RWE K>?#*^XU7:A/C[XX5 M7K]"0,\#UF2MMOUTL)8"&FM@6Q6P+:I%R#GEV@2# G4D=0CU2&%CD#1,T9". MJ@J6@(VR[SZDJ_6UAP%;4>MK/QNPO>V-:B?#W\K ;X$K3GD22"@B MLM8YQ*EE2 M>(": S N#"2V29H^YP-['J;C2-]\<7+I]FOZJ,7!5&+BWP&MG86]%P14JF&&(QR(@ M8X1$A4]QYF2EZ'_9=9H]"P,(R<%/(K25R=*U8E2*\?X)>A> MH_C*4'R!C](P0QQA!#E&"L2=Q,A8S9&/GA5<.N6TV7C%Z29CQ?/)D)HKBTW$ M#76Q'Q"(?Y=J"@^I-CTKF?3LD91*.\\T&^Y4W-U.:3V# MQN"X=][-U:!S3D\ N#$CW\YY0KV4\C0H/V5:,>EK:SHI50CN#&$X^.TQRCJL M]1*_'O7[8.HWSGK]\1IW9B5_ S7V;BGM\".4@1<@\FO!_@#!7I%P+=]7%C2V MOSMLMO&W+./WF[RUTQ2'6(,E%@5&04J..+8,&2DTLMH&:Z+4"N-T" D;_/,= M0JXUROS=ZQY--T=X!.2N_53K 74M4(=JM%LUVC5GT.[=Y6%@1+! /%+*2C!G M-$6*.(R4)P6E'#YSO?&*R4W%OSOF8OV\4B5;ZC7'O?*$\@:+H/98U1ZKYXSV M-<:O#N/?36'\N\OFR38[C(Q$KQA'E+" N'0%,IQ9Y!VWDD8:7> _@XU!J.SL\Y%[J4&S_O:=J%A^GW3/0IY;HW*W]9-@-4!HACUDR42&W8T@"-)X M $?]L/1!:30^? V=WEFZ)(WEZGE)73CK]](1;W(>5 =MJ8W M+A4<@G48+'[M8&1/@ALV8)'&58>RW###7,@H'2GW0_[F_+CMCF$4%XU^^-]1 MNS\)J$J#&P_@VC-B2$-);=6&[=,TZ'1A[_2L$\;.NL6;,9@>5=F"+4N4M$UA M ,\RPS"IEP1_AO&(?)Y&^8:0?SWO];_V0DM4@3IYWA)!8:S]4+>PJ$271=%N%*I%U6TP*N_-KV M\([_'9GN$, VM=)H>#,T0*)'II\+)"6^ZF5X=5=/MV5K$(7 JLX3JC_/BSWA#N:R?C8LJ5<@T$!M,H,,5K M_?;@2V;2:2ZV%XW1TC)CSZ:(&%=;1#Y2A\-GU=#A60V6_9#N$T2L6XFQ.0A: M7&-L'.G:V!F%Q*?_P&-Z_B$-)NZG%S_G\O?9[W(7W\I*>@G\'&M6UFE[/U6G MK7GW.FWU.EXK:93T]=S;:4G>U4LXMM^9LFR2^7+=M%F@I-2]&&H_YO)>##YH M+82@S IN"FR$5C[$PFK/J8_^SG[,I)-?&6,OP7_9.CG8=_SSB?_2.CDZAWM( MD[X]WOOT\=O!_E]?#B[=9>OTW_;GT_=?9OV73=HZ;ET>G[;H.[JW\P=8=A\O M#SZ]@7>\/09K[J1UV:2?/_UU^OG/]S/5J8YPZV3[T'M'G;(>[#K*$%AF;I:'CQY4E_& ;B60RD M)#5>*!PRTJ8.V10^*:\1%?"OD='"UH/2N"GX=U?HJS&PQL#UF?4/Q,!<-6$& M ,=U$A+"[77#=M=?V6(UXJT0\>@LX@D3K*.X0-0ZC'B,!%DG+'(R<*J4\ZR0 MJ1$-T8^>,%P':-Z16=\:5YZ^)?U@&+HYX6!BFB_U -7!E*(PF 5CM62<1*94 ME$**J!USIA"N-DN?&J NYLU2147"(8ZD8!F@)-(Q.%00P"D9A3:>))6,?S] MK3!PL@Z$?AZ\6UM>3\/FP"*KV;QF M\T ""C867GEN6?0;P+F* M$OK[&G'T2SCLJQ(=9@.>'FC(5>%"LY&YM4_H>Y?FYP'U5:4UU';7XP#X]>+G ME2M<<*6UB0@S#PJ95P72F!K$L:1.4A&(9!NOY":EJRH2O JF>1Z.\AHR:\A\ M$LBLS=VG0=:38.GU MY-:9M-;U206]9W+KZW[P[6%C?++YS%);=[N-OT;=T&!XLT$Q*39S-E@NY.S+ M=%?3<.4,X_CL]I>4#)G\7Q3_/C/[_"WY_==<>*[Q*0S@0=W&=J?3SB>]?YCN MEUQTKCT85CF<9;6>'DRA\4OUS/WTU4ZPP\G31FQ8!Q3 MHJBGDCCMA0%@DQDG28$EP]=P4LQ52885VXOE+,>3;)IO20?]H]?OYWR]U^8, M?KEKD0+Y/+'RP:F8K?TWM'ET* R-TDJ,&"M2&1G#D7+1(<6% %%6:*4L0!W> MPG-(UP"Z[\"'S1S?;_S71$M7Y+)=?7%%+3D],65)?NUUON9Z*+"+.1>QI-9? M-MY/?OJ[^JG!"^VO.4+7C MS6A84Z;V+R46V!B;E*CK]**LY8X5(A#% V'&8J%]H8Q50#]ELG=)+V@1X=#K M37R :'HS1+-=#?K]9,P3^OD#1OQ/Z*=T)G,4)H2"Z(NCE.;YWKO#P+W ,08D MTX$/5\( *EF"HBN"T)'PH/C&*S5/*/^=MCV DM-.%+& 2LI:!5DK2G@R-%]" MP_?-^:#1*^M#3*1<2K[.]0;@AQVX/U%,J=PQDH0RI5L@2;.@;'=SI=9T>Q*9 M5Y%3-\G;=K?1-'UWG![%MAK7%90TKT2<[>XH9VA?4UDJ38'3K2*E5)_U!NUT MS6_]T,G)Z%>9U,F(F;JQ4B_QU2W&@C(Y&BZ_99%Z-)UZ]T3Z$2EFUFOJW^-) M?9DSX"5DP63Z@K+5])OIG)N+P<9_KD\1YC>SI/=9C7EE\57._5LTP)E=+7D[ M^_PY'I-/Y))4Q",E&>87&95 ?% M!F#4I)1DO;O1R;,JP6924J:7:CZ8_L6"HC*;4T4;VMU4P*1=E7,YNUJ9)(8< M $067=6-\'MZBZNN3E&9G50B8@2OAUO/P*!+!2%BRJ;,4+/9"*=GG=Y%2)52 M.E5%B'1K=2K;,>W304:L3DC#^:@:I; UXUN;]@X M#6$(^@%@<9I3N]J]_,9^2&,V5R\+#4#'0;L:=WZ*::1W]].4\XL281R;K^'Z MC+8:?^;R.-=&D>KOI!&D]08CWH,.,FQWTHLO\F_PV@[L@O^> C;KP?"[,*;3 M;CNVW4PWCK69T&W\7N['596A:SPRH>1QZ:9HVOW&5],9989/1#A=BP7,=3,8 MC$X#&"Z59M&&O[/X3Y/JN^Q>&%Z<)1]1 MJH"5!I!68/R4BY(WJW%<#6-N%' KO'TPG,P%'CJNX]3N>W1F$FZ-P2BI8J>E M)34# S/#SP6C$AMUVJ?M,0J =M+?U=L[NA &_ MOD+E[31=TWEM^OT+^.K?1'D+"XLOB#G#+\R,V-O9%GO;AR&F$KF%08:$ LQ, M)Y E42#%/0[&>N6]O5^FDK,<=DY'Z@)GQ)L"]#0C@XP&GBG*3"5*:+VWC[ZW M46F&I0XH!"81+PJ';/HG\L)*P:ASRFR\ZO;F3,1YYX(I5W^0H225W.JFFGM9 MBRH%P1)@29"XHC3;PPF'KHR.&.T:# M,$6TAY)LK*$(7:P!M'K#T"!DJ_'()?7>ESOS3Y(E^R!$!Y4^OE-JA*/^NM37 MH\T/8][8O6Q^.CAOG3@.]Y.]G?=?#B[]\<&GO[X..D^>WSR39M71[#6#_R%O!(B[X]AG<>'YS\==+<<=^:EY]/#CY]CLV3W?/6 M]B$3!6$J6'BCCNDWM@>#< K:9 #-;+?KUM XN-/I%3 P7G1R M]6$(K-GX9]1WQ\E3NWW=7=;><*"6 :C!A087(3)&E-I[UY^)9V-GM?@7E,(US[[P;_!]E M7Z8/U1OOXO=_8E']P^&HM?].M"X_PO/?T.;^&W'HM=-"68JB+#SB@5!D@.EA MH1@+A>>%"#H=K M5;&*QX!R@W-]D)0"5_-]!*K2;K.SM)'MCR'Z%02:N))OO MUCV0U\X5_;UA"6'7&T-G3GLPDY/+:&UT@V/&-79: &O]#L#(($A)U[NZ M##,*@WP#.0B68T2YT L;+)92FRI<37'4X&:RA;,S^&JO0\Y 3W\NX&=!%L$C M%EU<-L94;14DZ^M )L$XFNA]C:(E>NCXW88=5*$3,3! _[$S[A^^5#<(#\X0><,6#0;C+K0'P,;_ M&<$K@(M@8D70;AD=7%L!]H JTV/29T4H84]OA*FQV[ZDIXO2=UE$6*-_.V1Y M+)Q+"(0TMH%$.N$4<'-6GPLQTPFIWDV[4Y1ZX5S*DLPPS; D5COEN<5@" BF MHG:'$S8GL--:O5NMK-['GTV2>IHZA8PB4;V32%&'4<:(39W!GB8JJ'= R^&_ M!U3OL./&:2^D96 @)D)@DWG%5.)PJA(IHWH'1%*H=XO44JMW]T(R_+-@ACN= M4L2E"9@F3H9XDQ]AQ@SE$A03)ZB228L:R MFZS8.R2(W>K.FT4O['>]JG->6"^%=]B:A &U94(KS#.AN*$IP=XZ^DC>Q_?N MJ^N-8@2GC-_;AA_TN]/&2CXQ)TJ3:7@:8M[=?NAY#[962-4HTO/*;#_:+&]X M M/G/R,W,3^J.%$1VBYB0:7Y5 P3%-\9CT)(.8E90<67-Z3:C!-LIFZ6CR'\ M3VZRNK64??9.N&4%L3ZE6EN7,.RPH"0S&4D%SBA3U$;<(E50:"%XOHA;K7X/ MCM(-U6 Z0O1FT,_S\56&)9V\'U-)C65+8TJ 9?O;@&"I)210PYUQCEI),!D7MNKNU*VT-"'Y0>:\"0TW?@#8H3N06W/J8MO+WD((4ZYKX M(98AQ!C-%W!\K=CXFHS5[P+_UN+"&HM!K%N&P-FFA<#)O8? /[B3P#'OW7E_ M$+!L_4+?K7%:R!&#L?'QSAYKG9VPX[-W[/C-.P;PTFX=?J$ML@M0IUMEII[7SSY?]LQ-RL'/:;>V.;EJ=??PP:&A1X>[5P=O6FV /+\/ M<-"I2FB2:I0O19,&ULYA:#B_%&DOI/$T$ MD3+3*I%N/O1=;GZS\<;U3P;J_#0XG2/3%S=JEH*EL=0+LA*DT*?4*V%JR-*7*W_]-AW,T^1;4&'-9_/F!MM/,*^6#L)V_ M('$=P/&.&0\ER5_D-WIUBT?.IA3_"@#?F&+9B MD=N!'RN\Y6[/VNRPG@?GU,/=R\\"U!!EA4"93X%/J<9( MI31%@EO"N#2&+6863HR^/-_\]7-47-SKD?.^6T;L@)5I]4'D;?[9C M909P\&C8-F#3'4P34#7*W+W!XRAA$J"1OMH>L62?'3 M \+?^UW7^#5DN_]6&%(3OT&^D$VH&#BJNLGV7EY4_7]NPROC+&=)9,H/K>3&D&B]AQ;+VWIA8@W;2N8PA MAK+JJ23R6[UY*])4N=Y.OW>".C&<.[7@^/:)R^IC+U1B-#X$%U6^Q#LYH^W6 MY:PWE[.*IU/.^ET[9$[/=8R WJ/ T%%@J7FJ$N&MD]8(XGWB^75.B._JQQN M6Z]5D3D6>Z_8,O4+M+JBJ+SR'ZV-)OE^+*EJ5?)&57*;'QQ^_+9_"#,_W+]J M77S6@B1&$8HDYEEH?8&19%[#']IEU&69)]U.53$9DR1S,P"RGBH>GA9(18GSY-_C2IHJR/)GE6VY4V5; M3HG:@3L)6?,P]T+6YG'2$Q6J*C0^/Q_T557W: LM>&HOP@*G1:X+F6^3^54R M=RR'0V;IANE)8U-PHN<69=+5X>>C\Z@SQ RO4BA0W,:@PU5 E 8])-$!:X>4OM8OJ])JSB8<357@\5*@PG1QI M22]CK2:4F)9KG3JX2@G.QW6JCSGB_X''?'E9,,JC<9F$)U3%,^"W@O1NQY3#F'0-AQA9,A?P8<\1RV"^]$#<;P,$8*?L^Q9AW M+S134E6RZDRX/)9X:^?[180]&,)#]2WT)(NHTA_!^FS^V^\5KY12=>;^^5C- M?IZ[WZN__ &RZ[RC+G]O]^*BXX_^*,^@-$&69)_'4RF^GNC?6TFA@Y?7091O M+K_>BE_-=8PLOJ-TB_#TVJ^3+7SM=S<-*[92R7]HU)N_HX*M?*XXV>(;,]G[ MVEA.KW_GNLVU)H*M+*&W&O4[5\1\]Y(GS!>>7=)SNO!P/$R'9?F]:'EQ;4S, MI-@O,BEVE^1<77OS9+TYA,QLSL^2T%03]>N:#2_I-_S]'>RVK>VX5>^@N-4. M+HF_W(*@;K7^9[6/2^-5]4[^P$[&>[)6 6I/<7-J=JW9=;UVMX.^ M'9EQ9<#/W-_ZU.YA6K;$)W.?4F8)DRP5J4\],\5M/%Q9E3EC,Y&P[\2P%Z^M M*Z7:ZT&_&_HNABE\:@]/7XURV \WV/U6=FG>CMDWSAZJ;QMQQ]*/QC#*.Y;> MT?V==_S@S5]?6E?'\.YW?'^G=1K^:YT==XX_[=/6IX_PNW=D_HZEUHZY:.U\ M84?==[35_><,_GZQ3W;#?P3^#6,9?'RX>]7:.0[7.4_=!GK$6H=[GZV#XY28 M(LR<02S5&JDDY4BF&4E\9FB:@M8GFC3]Z?OJUN]Z]AJWGBAN4>RL-DRGA&/& ML!98,:I,RH2CEBOZ\+BU?C?0;PID)?.0)<--\UHX)(E*$5.6(ND2B8Q7W#F5 M&)MZ"[J5<4QCHZ3!5J>)QLQZ9A\!M&IEZZ>0B\PC M%]4BR])4(/6&JSM#KA%L$N=P !1,F%6 M)=*;U#H)&E@:[BWTW^L:4>/6FN$6F\>ME&"1Z<0C J8BX%;JPXV!&A%J%>.2 MI"JS+U[2I)G*QP.5=9B3SB0T)MU+#WQ-C/$ED$M#+T(<'KMI* M_%',^K;_*OD6<>MPGQS 7GS.L/(2$]"N=&(1,XPA(;1#H$U3'-I5^W#K3&TF MUJBU!FN[R]W=0DO0M)06PC'FI,R,=918;RW.A&:UNK5QT-6>@RYIA33Q4B41 M[MU5W"*1:(%4II6PB?:)XVNH;ZTH*V,C(J+OO],\[=JL#7*W_5@*S1N-7U0Y M0"KMA349\R"C,^K3E";6I0:,BN_5Q=;XM5;XU7JU&%,T-,4*#$:4I-:!N>@X MTK"WR*1$TTQG*I4X]!_'Y+HNA;=&KQL0Y+[TKMMFG#Q[1N? Z3R35&0I99HP MK4V*F>!4)CP1W-2,OF&,OB02EW&IA$!.9X'1)4.2*H($SCRFJ>< [*"G-)E< M[!M?,_J387102:V7RLF4"D8,E2JU0EEAL)9*J3I+:-,8?2%PY6S&$F]L\/VF MB!GCD4P-081Y0853RFE@=-9,0P>=FM&?*J-3[ 2W">%>J] MN4MKU\.&,?I"I,?H!+N,9T@K A(=[#10W;5"#% [$YF2E)H7+TD39'W-Z$^8 MT941GNG,&Y(Q0:G J4A5HBUAS-"R%4G-Z)O#Z(OA$24)EURF2,D0T^5*()$F M%"5$,Y%BFU$C J<3AFM.?[J<[C/G%$F$$9B#F:8$U1G-E"):MN]7UZ .84QJEFU#&6,,RX!)H.G?QQFB;,$5L['S8*P#XL MAA/ M)0$)RE*4@:6B',$2:4=\CPS0II,.$G#/7^@MJPH&'J7TOG'S/&H(>)V MUHRQPH$!DQKN62JXT-P9#FH.TT!2.*DA8L,@8B$004G(/E8:&<,X8E(8))A2 MR&-'I28L P!942"BAHBG"!%*9XX*[(ES A2)5*E,)$1F%N/$DL35$+%A$+$0 MPO"<$N- MRI .O>-9EE($>B)!&>6)\]H*3?R* BI&Q5!1SW M#A+/H.?FJWCG3+P_HQ[CS&K%Q(/-8JU0@ MIE.-&'8,*4<9,EX+K3B37&>U<'[R_+SR"&3-SP_"SPN!1D+!-!)< 1_QV3"!#KU)2M.HZ5SHEO"7Z+:?UQ MWL_;@31^'[B.&K:_NC]"D!;1+;SDOGJM/'R5_S;F(I@J^OBU0>I_2H( M".!V9T(^NT4(N ;=58'NP;*F<3[#-&4,)5A;Q+!12#"3H811DWDP= TW 7-7 MD'I9UZ.O+TO?0ZU6S=(/P](+<0BMN _>9V!ID2*FI4%@X4ID,BLR8@"S/7[Q M,FM27/>!?,(L?0^U535+/PQ++P0BM!-)IG&*#$M!2A,BD, J08HJG(#=JXA. M7KS$O,EPW3;F"?/T/=1"U3S],#R]&(SP8"HYI1%C7B)F++"SXG!PJ10LI<#O M7KQXF=;MFI\V2]]#Z5+-T@_#THM!"8-9XFE*X*@,,'8B%)+ OXAR9T7"N='< MQVIGRNK6S$^8J>^AUJAFZH=BZOFP1$(2+GT"5K0)S5E=RI!*K$89U@P;)S,? M\OJP:+)TG=HP/W0GM_6+2WQP'?CPI-DX<3TW4)T8GU"VV^ZU\^$@Q@2>88CB M602%5QZB*&GI34%) ,/;,W14(_&JD7A91SJ*A?&2(ZT406 U&22<=BA--=C% M&?=7OEL8K;\G;-OG=AWX6X1)H1C[%/4*)DAA@<'I+: M;M->3ME8,1M61^!-:>#TQD"7&$^11I3C!B M6&$DO0U=!Y+0 (V)C,7K(4FZ3J+YF5U7/QR,S' T"#W-S*D:G/S@C3//(FQZ M'X4%D_U_56Q_79*Y CS:/]R.5D*!1^_PP<[1Q6?+B5&9D"B1.+1+, &*G$<" M=,0T8]0:GZZL)+-.?UA?/KZ/:H(E?%SSZ]WX]7*.7UV*99H0B[!@X8YI,!($ MUAFR/$DP?!:Z) 33H&;5I\NJ]U$E4+/JS[)J:UZT9@IKC8U%F4T2Q#1U2-DL M12G+DG ]0FIM6K/JTV;5^TC^K[7C>V/A>6GKB4PI]1+4X21T%&,<20/6.I;8 M)I@2EG!=:\?/@(_O(^._YN/[XN.#>5$LE4] 6PH&K@@WFAF-I&0:40>P;!5- M$K&ZQD,U'Z\O']]'DG_-Q_=F_99Q;>#EI'5X0O:W/Y.4F30%I5JX>,-Q8I%6 MTB()'V,B)#<8KR,G/YL[VG-W$OL(F1LN"+F7^]N?.'+=R^T!H5E:&??+Z\#? M2J%K/O GF>): UP9E3'$5+@5C=H$>2-Y2IFD%JNR'<"J,N%OQRH;%/!_KKQ_ M+S<-U+Q_;VZ$^7P>3; C/C1)%#@-?4\S,#^T0!JG(O%$DB1DT8LFI;QF_9KU M[_U>@IKU[XWU%ZXWU$()P3'2*?S!P$I!0F8.>9Q0)9PUPLL7+PEM9IS6O%_S M_KW?85#S_KUY'1?$OI&.4Z*0D\*CT!\(*Z_E_L1:NZ_/^[?F^=^BVW&%,N0T"&O5O ,:><%4DQCDJ56 M.L9>O*2X2?B]7VN^3B4 ZQS V.N9?M$53Z6HPJZV 7F:6+=77+E MGI1Y>A<(6$%4JH: 1X* >75')8KQ4/+IL 9U1R094@YC9!Q6-L.:V-2]>(F3 M9I8MEJ0_30RH]9VGKN\\9A2NAKA[AKB%0)S+..?2:62)!E5':H6D- R%5CJ9 MUIAJ%[J!LZ;$/YV 4^-T>,_)8\_Z]\_Y"\-$H:UB6A-N, M0I%4%L*02E&4.6NT '7'.QR\.HG\Z=CC@_#_ Q5/35_7_B@!R%?]P7D?N,65 MU5,;>=$)^=Y%)["^RI24S9@BO?6'W/,!>NNKS(O M-4U32W%*F ;3SN%484U$YKCCS/RX$[+.EKD_@;6WZ(&4SJO4&2!?':[63#Q! M(M$"9=A;FABCE/%15:7I8I[L[575G^J'.>:*YXHW&S#%&A(ELVGB:69(QL)E M+4IZ2AAC1DOXIQ,_;L+7D'B?D+A$AT^Q2#5/+>).@P[O 0^E$@DB:::95&#< MA\@LQDV2_(S]OD)0?* ,P?MAQMLIZ!][JM/I&]#0+;#-^0#(/68'%K<4=OLP MT:OXP;4=#E;AOGA*8SS-CC0/K,;.0O7.%&'6,+TZF-Y?U%P-95PQ;%!*!0_> M%ANZL?IPIY*P*O%.QL!2DRTI\;BSCW4=/:GU'L8>!LB=;)N0M^ M?H,LI1*QS(/625D"?\NP$=@D:0%H9!6YSQOD&G[,LI00,FEH!Y3O&NVB1&6H MOMW01>N!S/UU'^.'ZZ6>>H+#G=?_=*33_?F,)^'-UX-^]Q6\M-T;P0X>C"O( M_HPL7#QW&!AXO]WK#]K#RSV8X,#EP^V>G1UE]S\C^'K?#4_[\,U7>"2TUJM] M+RN4@N\6E?J,)6F"G4=)XA@*07 DB$H1QLH[RQQF,EQ93IKPU,][7F[-A>M2 MMEV/44N76KH\L/N]EBX;*EV6V%C"*".D]<@0GA17 IA!!*:6NQT1ICBL1L@ MRS9 O)0&6#61DG=HQ,KE4'L'5-ZD1Z^/?MXQ /I$'_V!_8FT]>^A@@>K;*+5 MIV;Q+?(]04"N3X+GG4TYU/%VSWBJ,9344I[W*V31BAT!5* M/U.SZ-\^/'6#ZJ%FH^>&MSI,66FT[9X%DOL=B]6?[O=UN+A3AZ<.E!K8DXO0 MA3[B2>-\T/_:MO".?-@W7U XU !;W;#*@H;+%5?;:N$OE?]M>8N8QJ_P!&A3 M(YBKS7_[_9:[% 1EG-(L4,+F=-1Y[GZO_O*';>?G'77Y>[L7EQA_]$;RZZWXU9R&47['MCBCUWZ=;.'K M?WK#L&(KE?R'1KWY.RK8RNU67WYV+2/T&OSV?/6WTPXAM_MJ-1IL[=""96[_I][_JLI5UO M]SUO=[Q)[K'36Y[(7M8@78/T\]CU&J0?&:2?08OP#] S2-SH'EWL?VIUC[NO8>QWWPYVWGRRUILCUMHY/3VZVN7[5_#L85CW M$6^].?;[EV5*X(<$Y@#/'>Y]9L)E7!"+,*$A*U :I+!CB-)4&DXER1(2,N.3 MG[_#<9-Z*M5 5P/=_=U3>QW0U5AV%RR[FLX=YO \S&DJL96I0@(S@#D+VIHD M064CB6%&".ZY#2H;31?K.&J@>WZ5"W=>_Y.!NS3QDAH/5JG(6"JI3GP&2(>3 MC"GG.:_A;OW@CBYH=1FE/A4.P4%AQ#P%X'.:(T68,XPEG#+^XB5IBF3Q+I<5 MP]U30;QG#7=/%.M6?I]#C77WCG5\ >M .[?,.&2TU8@1,&-U:BV2TFN,O4VX MB*I=NB$=CFN@JX%N[:^0K[UQ*XDLE.6@DX8#('[2+%,>96"N(E#6*-)66I1Z M^$8*"CHY">ZX&LIJ*'N>4+;RIF*USO8 .')A0)S@+.<8^4)0FB M.!/,)"2E6;B2IIE142-=[8][QOXXQ:Q*$LLLUHPEU"JC,R]4ZIB#.5I9X]T: MXEUK7J]C6AIET@2Q1*6(2;!/A4\%@N,TB4P%RRSH=;0I[A_O5@5YR[M]\-5T M^UC-_0'U"^L7/NL7+NF:4J)+:]0%T64J253^AC]? \[U!X?PVC\[??-E,T5,Q_W/^\OC3_9<$Y:VSDX[ MK9U_ONR?G0#\GW9!5'PYWCFY:G7W\,&AH4>'NU<';UKMHT]_^?VKW8O6N\^& MV)1@GR+L"$<@\S72,LU0FH"J+)G"'HM",VCW1LYN!T&=<<6H))8G"K,,@RG$ M!+-:"&&(SS!YT7 @M\_A.(:#47F9645)C]:=(X[X>WL((L7^W5\ ,'3 M]B"$>L/&JU$.\L<-\@WK.3*>=V-XJH8-IT(7'F- :(>V+*!W-7#RKP;\3S?T M]>W[1G\T: Q#3GUCX+XZ..^\<>'@*Y67O4OR<4.1C6D7DO(ML-A77GJ/^18C M/];5X>'[!,3)WJX!P\^6NLN%1S>B-ONM&X1)J9/(![&NI/&^XH' *<-3M]*6 M !NZ3P_6,N$6/026&!3KO7D_VS3ACOK=D]JXG^RG#X^LO^I^/VP:=_NJVK]UT8 M'WYC8*Z[E\?=CWS_\-WE\/_YT1%MOCF M8.-= M[5T>'?[5/3[\\JVU\]>7_>X_2PLON"+"6FP1<2Q%S%B/1)IJY)S4(N,,K#[] MXN7ZIR,_!E_\:Z7M>S9*"/UY+?K>VY6G&P2!#+B*TRH M)9Q^)WFYAL![@\#6J\4Z6I\Z+AQ+D&8I1LP)B80&'-1PA$0I@6TJ0>G\Z=*S MY?R^>4#W")UO-E@S?5:VR:L?$@N;>PWAW<0"S,5K;D):<,(8MU+:E"0R23'S M#F-2BX5'$PL?)F(!]@'O'^Y^3E.?>)+&FZXI8ADHQ8((@3BCG)LL27F6O7B) MV8HTXV=VEJHK87: M6KA9+.S6UL(-8D$JG'*58J$XH9# *"1BEAX8RTRT3PHZ^L8.K9B(7:6EBAM1#)A- M_GT),>R?KWKE MXSO$KLV]NV8K&E/I.!B%A;5V4C96/<8NDV?#O,A&\%^^3&^?2_6LV)[/,Q$LF/U$Z[W=&P^M_LBSA<3I[Y)$R'K&<3=&< M_O-T7#)P#G2%],"I+TAYF.SOJG.A+O,7_YY=(JQO;DOOLAN+Z9\O_Z\>P"N6 M3'#N5 N![!BAQBM,K1(,M "5"&^=M$80[Q//[SJ%I2_Y;BKOAF2NEE_FC8$S MKOTU)J=JU0DMY_.0O@J/#$]=XQRFT[=YXWS@? [BS8@;U%$E>K[>SQ.CFW4R9\_O(D[0)'!7J[VL7!3N=T?V>/1[_5SBZ=]U&U/AU=M<[>P7^[ M%\>'%N;UD1[O=+JMLSUV\&GW8O_L2_1;[1]:O]]>S/6DB3;"I"E2F?:(49HB MG8@,:>ZTY(1++-,7+_G:]]A^?._5LXK>UKF>-R;U*.ZU%9CAE#,FC#8DPTFT MU W35-1N^D>#P,OII!Z8T\[V9\L3F8;&9E*$=/?4 P1RG2(A#9P1G%?F[(N7 MY*?3W>OH;1V]?>*V1YWK>9-8X!I;:YC!V+#0PS?4 "0)=UX9G_G,U6+AL<3" M= E )182X9@%#1BEB4@0B &*M/<"&:U30[7S"98O7N)554$]&[&P0BO[R2.& MM=)JG@H2[N!3! @QS40:8C$D)5F:U;;T(R+&U3QB>(^#LL\0]8E"3'*))'8. M@?ZH'5'&&6+J?(]G:C&_KBWF&X N7,,9ND2$JF$1<)%32RT%\4"4TQ:C$,G80QB@3,& M^J^7R&?.29'ZU(L4Q *I]=\ZW[G.=Z[SG>^:[[R0V?R])JOEF"@<;LQQ7=]F MLF]<_V2@SD\#^37V>D7'^R @?Z*A[/WV3W[O8$33[K2KKLE%+\S7@W[W@SOI MPCSRPSX(W!CC5T-GGV\;Y6T6VRAS"=811EGB-6+">R25==JR):ZW M4^(.]Z-E0J98<*RY4LREF?8XRS3C6&#CG4Z^X[UP^5I>Q?[AT=7K4_[;/^L=UN? M7G?AL_;QIU;WZ%-KH%J'*Y"2$QQPG&XJQU$79.+-8F% MK=*[4^/64\6MA*5>&,4IULRG5'D*@(&Y3;0VEM[]7L<:MQX7MQ:J?A*7,$T\ M1Y2*%+%,&"0X39#&2F1..^)9%NY\S.A/!VM6B%LKLA V0%78C1"X-118IHTBG!@/+ITPFJ348NQ&I&'^>A<&AUZ]5"+MM45$2,JI,<('BX-D33CM M->+TYY K?SASW?C*.L[,1\R?FHOZSNM_,FC]0\F--5JO*UHOZ:R>'EI[9U.^W<=/KY:. .>I/BA>V!4_G?_=[) MW^VOS@8H&N9[O;T>+*9M1ZKSNC\ DNJ]"BVM!VV7_WE9_/7R&=>IT/UWG[44 M&,-/D?#&(I:!32R)%H@*)6FBJ?(^78LZE;VR'B76C73ZHB;@[_$8P#0,8/0S57&I6!%?-Z[G^9T6 6%!H7L_ _CO[ MZVS_ZN3;T=6[J^.=+U?AG4>?X!T[_[3WSXZN#@[?71P=GIX=G[UOS]M_^]W] MJX.=UV>MG=:7@\,6K.^?TR-83^O3WB78A;RU\^>G $,PPI2]>IKB9DGOWAST)9U@-;4\/VE*:"4,8Q]A; ME@@KC':IP"H3RFB:L@AM"STT:VA[4&A;S!!CRBGM%2+$&L0\P4ACGB(#], D MSS1S+D*;R%:5(G:_T+8Q?JT-<&H]+8_67F^H>B=MF'8!+-L]^Z;?MQ?M3N

J#]569;-:@[QU@ZA1]XQK[/:N+KN+/JL?6OSSV<%6 M_ZOK-/YL]X>G;@#B< 03J_?PCFV10MKAL_,45PIG[22N/2G7>E*HP!)476&E M5\Q) GJY4HE+K:8,)]3>UI-2$=MS\*" "?-F/]E_T^KN?]K#K9UWR7Y(#NK^ MTPYMEX](-'6Z\'Z\X$'9.;DXNGIW<42.OAV=P1QWWL&\=LDQC'-\UCH[(G_! M\T>PUG_"%9\+SN&$,B9PRE&"+06[27(D,V&1%3AC3C$M4G>GX^=6I!2'.V@2 MSBPWDF9*"\M3K;/$$7?;&$%]_ ]Q_!3.6!&5(*ZM1/ /BY2B+-Y*0U6BJ9"A MLJ')TL5+7C?"H5;'"FH)M_*462,SR21+C<]8PHC2GF3P/R[!3!J=W%W"U2AV M%Q1;O*>:6Z6D9$C8-$5,4HL$M1AQ(00('9NE";U;$Y$L3:F5UK#,,2X ' W. MO/'8951KQN\NQ.H3_JD3YE1XS(5&"3-PPC3U2#IFD *M10E!G*+9BY=9)FHI M59=WU.4=4TCF0I)NHCBU#JPQK82V5&B<&D(S:7EMC3TBS.$%:TQGSF# -9:$ M>+9),J19PI$A,N4BS2SAV9V.'RO.J:;>9B)CV*=2&S#&+ :#7#)GTMH:6Z?C M=\I;*;1!WH5*'09_*,\2Y(@D(L$9M>&.4-HD;+',O*[ MOV[W5,^T56>OEP\'HW!GT=KDV%Q6\NW+Q='A<;=U]>ZR=?7QZF#G???@S>MV M:V?WZOC-7Z?[9^_/@HP[/GQ]-I]CG/$CC[M)?N' MK2]'W=U+>"<].GS=V?_4\OMG>U>?&4YLZC.#' L76*>.(ITE\$\/1K8%">4X M*;0/H$5GMX..(,)5O(L M&N$P0I!W/E=K.E9^UY2M:98ISO+[4YU=6NJ NU(G4Y=19C,E2"9!K3>4\/&>_6Z/YA0KB7E]D[>.^/:7P-;)6F2('-CYUK"YH?-""1GE[E7$S4C4>X0:K6^C)FYS]41V5O3[OR(%Q*U)C09%CJ3>:A&9? M)+,BH=)8':S.4&GQ=Q_6,-&F7Q457NOC[_PQ?;KT=^Z!WOS/V7[W MW>7^I[U0QL4.#NWIT=7[SE'W^.S@L-7>/PSOWF<+_LZST]/C3S#W'?C=62CC M.N$M O_[YI_V<7>?[Y.];_NPSJ.KTZ79)U@K:ISQR&4*5'+'/))&&61,1DF6 M:>-D]N(E7I)[4@?Q:E![#J F,=BL(8O!2Z2J64%YHQA'D&N.6Q1%I@CE2X[$_S!&<"]"A_UBC+N?U?0;KWA&V M9NB'8.@%141;;GAF4I0E-.1,"HS@0#5*L;>$T)082]>1H1_Z)L='Y67J1(TDLHG*/7*2@??:,G7D9N?E3MCVYZ-\F%(7&L,^S%OQ'UKY['%T#A? MI/9K/*;6,3FA&JE6@50?%O4.*H1E&6<(LW ;4*8P4LP1Y#6FWG%I,INNHQ54 MNS4V4.^H^7G5_+RH>2C) NPB*XA'C!.&!.,2A6O>-Z MML[;J4/X[]V74WF6)9P3 MIXE$QFF*F&4""9]2E$KC! =!FU%6Y^W4H/9\08TD8"MB*K+ #CJCPDF&I>*A M2DA++XIDQ!K4UL"E-:Z]3[%PBEN48@:*94854EHKY&WJ1$8)%9YO7-[.''._^(7JVX5RQ'+G&=G*0J'4>3]OAR=_'[@._.2K MF]1'_6NVCW%9795,?J(T$,EH>/U/EI4^WFF&^P3427C:J*$[Z0\N-[X*%,NM-/VQPD>H0JT MGFP]V0V<+.$/L-=K,_H^@=QJ[TJK=WZNH([[1K%*$T:.Z!.UQMW MIXT+ZF"]<3^P<1+'78N7W?1A7O7VW6G[XOTB<>- +M3T]Z,;J(N Y&.T4>BV MK>T\@L589'XMFH3WUROWMA&+1]V1Q^P5_*@+OTLD5B)O>#/KYIER%^S/ABV[X_)^SHT_'9ZTK<[E_]?[+43?T M?-V']Y^0_>X1/MC9_K:_L_=M/GP1752?6J?'W7W:NMJ[:KUYWPY]:6&.7PYV MCBZ/SSZR_9W=B_VSUZ'L^'(A?.&-2RDA2'$O$;-)@K2@#"69L9YE5!@L7KS, MFE3P]6T5.^:4M0C,UDCW5)'.>9-R3U*:*,Z <:1-K)0Z\9HIPW'RTTA7@]E= MP"Q9; S#4Z92@IS+3.BA0$/[!(IT"O^7,*4QY2]>\F3QNH<:RFHH>U90EE&3 M*.FQ3!/*,A5XPS,#1I%CUC!90]G#0AE9: =C3*+A*) A7B!&%4!90#8AG22. M>B-T^N(E)8L=_6LHJZ'L64&9%9)SRU)GO6<^S53*4XMU!C!FE=>WSP2N[<][ MQSDVCW/&$ZNMIXA[L#I!9<,A)Y@C;11V@F1,./_B)6YF(1NH1KH:Z9XSTBF! M+>AM1'M.6)9XH:U6TM(TY5PGF:Z1;GV0[MM^50%QN$\.8"\^"\R]UB1%WEF- M0+=+D78T0T8FTA$05(FPX=)H=2XA4$ALC&>ASLBDI6]."B%F$N^8.+EY?/%=/L9[B MDYOB<\TEW0$AV=4Q;2BFD][I"I'GER94IY/6Z:1U.NGZ;UR=3EJGDS[^!M;I MI'4Z:>WDOO6%7%XFRC'%C!4,(ML8@E.,VU3G[YX2413R'MOB/%4G-PUU#U5J"/:*6F8 M2!BE+)5.D,0XHW'*I6.TS">MH6XMH&XAV91K"Z>4.$18EB*6X0PI23G"6>JM ME=1R;F/F LMJI*N1[GDCG=6IHB;##.,TM*$16CAKE=9,6/C0_S32U6!V%S!; M2#?-K/ \H!GU.&PEZ&\BH&LIJ*'O>4,9"BVB".9/6 MLD1:13RATEM-P/2AEM90]J!0MI!1FG!NK,:@B&$E$&, 95IBC*RAG@*084R3 M%R\S26HHJZ'L>4,9T1A,3LT28RPS &"$,&)!,P.N8<;6]N<:X=QB/FGF*)66 M6\2]9(AQSI#22B/+5:)QZE)&R(N7M)G4]8YU/NGSS2>E#BLF4D XT-E2#S"' M+7 &6#P)E<::&N36">3F\TEYI@#.,H,(901 +GC9DHRA%&!C](B41YD%2?$:\O/GXU;[YA]G_^:MS3#I?]=EY^^#3 MQ^3X\+C=.ORSVSK;2UI7NR!'__ER='B"6U='5RWR+CA)V/$_\,Z=+[QUN MC M[W&8#?],%'79OB('D>>'$KBU\X6V#D%+/WR'8=S/*<"R3K$%5' 4,1!'2$C#DS MS+Q2+U[B19?#OP*]]D>#QC F1;KN>:=_Z5RX8WC@HJ9#^$4KEQ\=)KJ M_S-J#URX(S-OM.'1\(-X1_%%>W@:'QXX#P08Y/G@O#^ 8P0V"/]ST #-Y,"B QA* M@4DP/ 76.CF--R0OX[Z'8C+?'N3#QG]&:C"$B<,F![FXM71*CPX(.P7N/_:6 MP=$!Y77AN=,\W#D)AS_;33U"\<"9H.X!$@.]@7(7R!@H=S CPDP486';?[F# M4R)),U!=K$]URACC3!'NJ 6@RP#3'%'?NR6:WXASI5B]G6LB?=Z@=M&Z^H@_ MIY@GC"B%;, R)IE'BJ>A^Y(0+O6*":I?O$RV%MLM-8 \.^&T!X5D"7@VQHQF M0_=[H[+^ (@>P,\-HHP)O]"N!Y!5X!E01\\59!,!+7#($ID/='G:!CIM ]E^ M.X?3BPLOF&6!"*QM(/:V*F$TH.?66(NK;[NZ!22%3E[36N_\E5*W M,PBS9&P.;MP569@43K 'O5I(RBW!Z8_<+ 0_%*N_6$AD6Y+<;MA;5F7>,H@! M)_#P;H%(67N'N_N%IW8*,Z[WS6S,NO:W6]MO=O=W6X?__:&QL_?AU<]#XV#UXW7>ZWMUJN][;\;KPY:.WN'U3/O=S]\_/LP/G+P M=O?]=OCBPV(1T=B[M#9.H#CB[VW0\MOF%L@W>T\9O #@*FCV_YTW@,O-*,^# M5 PB%+[J7.8@^TI+PA<7U(%.%N1=Q/_X'(BG46=8/'8.DCA:=XW\M#_JV" K M 0IM*73/P-:>E;JCGAK!6-&0"+N5%W^+88 HWR9O!2MB6)HDX;6%9"P$92_< MNAH^&3B0F>V>Z8R")NDZN;L('Q:B&I;RKA#28(B\=V"V#!LPE]>@MA4<@1/T M;CSVU+QN,9O9&81/;KNU=]O6X)\(L[MT:E#JTI455:RA*BF?[ *L/1S?=@\T M@L[Q'G[G(W/8%RUT$5'0T;"B@OZ'_!TU'H<\U2%RQ/<^!.8"%QEJ/!V( ./\Z! M'FAP 6+KQ\'!/P9P:"72^89IM8' M]23X[. #4$1A?OJRX,D\6EB@$-M@OH,"#/M0GF%773;+HZL^N@"5?/ZS8I7S MGVK7:<-\YS\.S@'3/H>YS7_3!A6Q9^<_-0%9YC\L\&9A'ODPN.LF P.ECT"N*8BZ'*\! M&QI>"Z^R;>]AR+#>0>%M\8-^MS(NJI'*I<%QP\+:W?-.>?+YS>O::KR^;JHP M3MC,01MH/GJ8XE#%;!RL^Q9<,3SMPT E2A:8]18 H;&WUVSLP0P:>/OWZN#> MPXY6DQD?J[\9WQMC:"^&O?6H"\@900'64[F];"-@?KO"['+)MU_!BSO,?5&> M#>*3A$5)NPM %B"E(J[Q+("P"O#=:OQ/_R(8_=$^!_/E M!>7<+VE#PW.K?% MVP+HW<2J(=^@"]9\'_BR,N<+=HDNJ5/U-9!JPQ0-2!H1CJI@@.W'T?K 4,:= M#RMC'?2^\&CI08V@O.ZFHYGS0/Q^TW1!T MM\:KOG6[7_N=J>8=*UU-NL5OL9PE'JFPW8AN+7$R:)6[,,"+D'^4L3\>T]'= M&#ISVH.7G5P&S6T8-+5",.>F'_&J1#E0 WNGA+33 M;)S"P#/J7G&DT\J#Z2B0EI'?X12'((5 3.]6CP4QJP#+HB;0-P'$PIGK=IA@ MV,%&MP^(.0H759N@!H>/@O'2Z?9S$-, P?"L.77=^ V8<:;06DL4SZ/ZT6E[ M%^7/)0!V+_I&!\ZT\P!D%?5%I_XDV&2CP9&#AAC\GP"XA5&8%YL!,XBX>Z[" M.8^"-A;\HO!R.!10YPP\5RFE(52@VYWV\+)0.X!UOX:-^MH>]'MCT5Z33#L >]4FL)BRE>,0R[ M,-ES%SG)%M+9J'-ERHF6AQ_1.+!?H.CR8*(3/VU]C2 ]4 MMT&(9Q?BP(3LR$81:3EUJC,\-2KJ"84% +_JP$[FOS?.82^[RKA1<=[PIE'0 M0:-ON1E/LY&;=E3;BO. #0G$IL[C3_)B-=6\+N("[ AFFX?%QLT( 48$UD-0 M$$]A)X ,PNKRO&\*GW6T'?-NH+"*!.?FE<]/K#1H,^'S\4CR[273R4?A3T!3\,83W# M\4H""P$_.X =V(L# -!1KPTO'F^)'00:G#F=BEP#2P/;7K9=Q\+NQCA#<%/T MW 08Y2KD\*HNU YB.B3\+DJXA#EJC8HJEEM==+K!S:JU)(IUALO&XBW"SI)\3;8\OZH\&V,B6#SQ&/ACHD2 M;VQ=PY$,+_J3?^?N)![8[XVW4VRX.X6[(8.DT_ASGB4^ -<5^5:D62GY'XK! MFHTWKG\"SYY&?@N#'$3P?A^47Z";O=X88"J[H]1$6X5/J=_X.':2O1H[R5Y- MNZ5>C_T#'Q9<$?9:[7\-3_&.SLPEQ[1^:[IQ!0% E@GY,4T&]V,[I$* D@9+ M: =9[B/9^KX913&O@&"#I%;#X%4<3IR$I8R.EL<,5$2-80YPHX%9OCT,,"T* MYK"BH*PPSB+V%M[0I6B]!;1>J)PWR*#QRJ,%!D]TJO246CG].>5T1B,M]- I ME:PZ^JC,L[(QV 5V%C L_;@_* MG)Y (*4\*RSFB4B+0BCJ$Z7T*M[;'LS1"#QC7%1]HR899CBG3LSB\UYOEIR! MD;ZX84EBI9-ALCT3)7YJIZ99 _AN".\-'F#)E+B>YH9?2VG0>O.A M\G@W0ZZA"BHBB)*I1Z?>&_<^1#(*W^SEF,_:$V$Q3C\8CFSZZO!H*_^/>6F M+:R?(A-I_OW+AXT3690T_<)<5A;H%52=Z"\(B%(Y!BJD.P&S:!!GMQT"63>K7S_U"&$S'6F:*U%U-=@_G]K6\&8:/@ M:$WX(D)P/II(K.KENV_';X][%L9-,6;+QST_=;W+#HB@?@\$FAJ/\O9_/T[6 M4/@4P@8!NIW&@,(IZ!,-/#F=88CSY-'+'FU7^$=_QNO2"'15>(BB+R,(J7$$ MQQ;F^LQY!#^Z+H4_[%]XOI2EI4 OK.%!F!8HFWV0O3$8#F=X$@,X,84HG^0) ME[O?.%1?G%63DWFM]."RL5-8TH6< KW!59_,B!?5T)U^WY;!LO%;UM!^N9V3 M^6,1GW@_COZ^.OAG;P=AN;8+NK:DHDCD)0E)8BRC\2FZ??XG>J :!X,34 2O M"G7% HBH0)358N%83SI]'8+:%_F;E8U?J;3E%$(.9[][669N7);/ M1PJ>9%],6SZS;J( 2H/!Z+P*#L5P_@C4I76Y<2]'7"G")I7>S+>V(I@FV7Z+8Y+CVDW12:[:P=GW?D(F$/%"'D$ MQ1B.?^MA$@,P2BU@_4!ZC@< M>G-L(D[> :RKJX3K<880_+(!K^GW5/Q5B)_#V&^W_]_?83]AU4R0/QJ_3H_= MB&EVP_R/R0^KCWX;B_&EHG5\1F JN3)@ 1,['<'2\S$;1@ML>+F651LQ!M,K M_5F-#P6*;)\,G)M4X%1$% RC(#IG?3G!P@QQWS::9 C&.,OF:2S>J+ MF(T??&$-[XKB$,*WY+A6 -Z\/3H!F[WDT*A77<0(>E5RDH-X\H#@+LB?Z)?= M:KP=#?+ ?E7<7$W>*Y-_57,+;_SU%T*W:/6^WP+L@;9HVT5RM3H)66N@I[9_ MJW)Q2CR8VJ_*XI_>GL?T%BWCT")L<]J.VG^CT)\!'HH VOR=-K009+^VPZK= MDOA/"$7W8+)3%D7\!1AO(7P1/(G5ANK,RM+-:+[9V8T5;Y]ZK ;,>%F0L:E1S(6C/8'E;P/H\X004D \/*0 MP9%/C3SE4RJI8=$L:4X%%<,<9^I'3GK!(_H+WTK&+P/Z[?5[R*C\=,I;,YM5 M4Q'V]\I6BG7^=SX=6:W"!%&LGX M5#Z>A]%XP3V! .:V<"WQ> 9,'M6#6Q#$:3SM4@TL3@-V?'(>>42:,?,M!Z,[ M =%M@*!0A-B:5D)&RR#(JZF5PB)+GG[,0SU5MI3699'LE*)=U-E&KLT7-,VM M*H)8?44+5;U7G6W(YBYUSFB.J([+EZ]_DE$RL6@F/NY?)T8/3+.$L6*H\O=3 MGNOXNK#;^T!R)KA.WJJ8$/>VW^_\-I\8; MJ]=$AK#2D,VX-!R+8L!'#ALEB_M5WK\UV^VGTW M,%\:'^#YDTX;K/5>XU49-5W0+M=OK=_SQ50E& &F"Q3;CP<*XI%'K?:@;%Y M.OWT=99"(12*_:U4IN)?P9W2US%9;)+H5M1#5Q9L92TLMQ'^@G]^;:LBA-JL M#-.H,H4 JZU\$B$_+:3>]$Z"O L+R"<3CT' J88#F#?+^;EO84HQZSQP^7E9 M3;[4$KG=OH44KY &;&?MAJ*YR$QU>SB1$JBK!@=3IQA 'F;]P9T/QWT2Z>;,:3KBV+7)OB,56.[EAI(XQ\T;Q@I)E)3!4 &:#G[,0I"/L]3AAX3^*S[-Y[J3C'6-=4I05#*I M4")C4"QVH9G@2W%'XQ!F,2M_0"B=A-*J2E@LS5FI:O%*"5;6NF@7[:GSTCE2 MF>CM;RAR7LD.4X6[9,W+#7!UIVA60*M/MQZ\-6XW7(@ B,MS,8 MG32VRV29DB$K2^WUSO;8((NBJSUL! _35-NU6"<>2MPJ'6ROM1.Y9)RR4CA8 MJNSQ4@)&,R[*L.GB_Q @[ <16*:FZ$8WA)?/@ZS)C"7B1M3ENT\D:T6&K$A3+XPO"$ W;?8$$Y[&]S MDC( *FO_$L:Y1!ILL%A#D8\T*GQ<1<%FB5D5C)3I O-!B^D*+E5YM!=R@"8M M(2KH:7P\[_>JR8>]FLS^QN5VE0V@72WT7%V.IZ+R?-0-\8E.K!X_#_GCT9/? M+A7LJMG4DI2N[Z]E$D&-J48 4.VP345H(E!O-9?2\WC#&B8F]LVRJZ#C,GDL MN+;G)QS;1M4-F&_5XA?D8QV/"+F J4- N7>%3M4*&[+?T-X&I1X9BH1=M/D2D%GC M<54CG'JG\ &,(V8P13BM&(R,Y-F.M5C#H 4&8:!BCS!5U"*-0:+;MJ@!R.BX5 -^A2 M@;DF[RC:<91%MT4(K:YD^,E*AJ+8=::Z^;K2VS+46B3)3B?Q7W^"XP('> (X MN9V?EO56H6%RXU5$/R"!&.$ U&F-AH.B;<^DL"P4Y13Y:,%]N$P9!BJ+D;P8 MQ2L<<\XN=<;1*E[>4"/0*F,2ZL#UW$7099<\SS:0ER>Z4$@D7/1@O.&/=*C[F" M[6X5&0VJ>O$!\(2::"0 TWV/X/^#,1%:I"@@W?RT?^'LI*"YTSYO Q6 >3PH M=-F+4Q<4VF&[2/P)KK>9RH Q482@[2BVR#).]V$2W9!- NP>G,^]V'FU:&ZI MO N%T* 7NW+ T*UMW+^5B2HD7;K[BLX#L6/-I,EKH5G-&34Q6_@:@VT]S0[E59]<%G^'V>C ],_!\5,Y4\ M6/6V+_F03"RU390E'Y<:%4'8CGU6RT3)V'<>/;QK"1G1>!!CH^0QL:*,7N%I M"^G:M+.8_/>ST:0U),,[>K+?5DKIX411/8SM1FS\_:?[,N_7+?2WTPZE02(@5Y9-M#WF<5:USW?/I7HW19;7DE:H: MFK\$@1LK$J9Z]42'YU^CSF69Y3%S.TU,O"U\N%,ZQ72E>@4E9:30%D''L=53 M?1^3!0* 8<,^-T#<8RB5#N S_JA+WBAZX(5V+=5MZ"IG^9]/[PHW,(G_0&@4K=PX%>I M3D7,;NA4=]Q'IYA8[,@P+!J=64M7!43ZAS*LB MD[-\IA\+86'<]\Y>A%C*J_80#(570%!P4+VV*GS)P^AM"))7+R MGX'^FHT/ ,!7;A!J<+8FCQ8)VA>A4G@8NCS8VNGW@%P6@U[Y]!E.CFX-USN#<>1H% $-5TA F;W8!@SG(>E?>1BKG/@G$E#T%I) M6[V2%FW^2?QUJO1FBFC'4:B)()^$QR8.S\(H3ZHZZ?+TIWX]??QL;[EC'$(G)8E'Q. M)0:OI0OB%[$F.7OM*;J-M#VFZ$DRW.S^%U6A6TF1KCD7V5WJ/B:%/?6J[)H; M&2=(]H7^D%7@NZS5OD36G;LH.IIE3\=)2#R4JB@X]E 27<2UISM=%M748Y(J MFDL%KH*?%?T8IUMU1'Z.+O_2W5*T="_:?LZX8(J!:B7DX900.[EY;S505'3G ML_FX_T(HM"P;:TR)[X[*R_*#4(=90:H-_O0HBJJFDU/8KN,UCE4;GW']ZZQ\ MFC8O)_UI=:?JQE%54Y<)L@7!C9,;REX=9;I!D2,;]P,XI1T[5_3GVB &QJPL MUJ)W=5'[53G30Y-N$T)BU8*"L\-4EZ;-B(^8*C-U'@M@7K38<>'[J27<](MU M3*R]=7G$6DH6V_@EF2J>?G3G=K)%;N7<'LSQT^K]VW4.ZDO"ZAS4APE27)"SD3AU5+M**E2FBXW2 EN\U?A[:"==@(K')K9%80%.$E>69:8L0Z:QEE(V%RWC M;V6!Y51+M\M)%4IL:UK>*%2U-X]JM@GU1%$FQ\V(VNO4A291GJMNO*AJX\3B M04R]-:-IVW:>!J[UM(2&&P/GX9#B1L3>&]/&AMCB,^5^%VXZZZ5H3D2L.8/ZU(:YA,YSA/6\<%C?S"IO29:J32ZBW/ MI4R-OGU6^$+^=#-H\&5^6SS&9I51O98J9_]1M_< M'?M(?[CL!A-KU-U$CUILZ/28E%AX66>4TDEZ=3LO'3,3#V>\/BGV+B[\5[;? MF]QBT*P=G#_IX)PTCT9OMO\N'>..H6P1RIOI"5TWD MHJ8:0,46#K_J[J-VMSOJ]>'XV^%RK$V+SU;>QRF_X?0=O%'+*IN83WRK^4R* M1@F\=%5 &W*%SKN*SB5X5.^N^KA585()G/\CCNKNE?[ M.KNX[]=2SLZT5&FHQV2D(D-V4>E^[ 38ASBCNV;&%DWDKNEWNV&(,-M?N&*@ M:QO8/M_NNFL)('7+WXUK^3O78;;N^UOW_:W[_CY"W]\-D].M_I@OYE3OL9OC M&KDXZU[^CC8WKWE7+#_NSA:D*9Z"C]OJB60RSZJO\>Q=$8M=?@LJ"ME\@]@H M)4W^?_;>M+MM(UL7_BM8::>/O!;$B(,F^]Y>2Y&=1#>>KN6<]'F_W 6"11%M M$& P2&9^_;N'F@""HT41I/"ATQ9)%*IJ[]JUQVG7F$X2+U%(F?G6\NI945EKFPN%O5#U)9TR,;J@++ M]SD M//RKFT701&%T#[C&"JQ52."(--,YA&5A#A)!(DT*8ZN4KM:ER?NI4H[9R M3+D/DU2\4O]XC?"#H3=]%42T7GKHM=Q^*0HJ_*U$$/[:L'3KA-DZ2^!_ _5F M^76+OOHI&\Q^USMKM3N=N5^?M-ISOULT;+O=.FM?;C3LXN^Z%[W]F>QI=_Y+ M:S?9;>ULI[O2L#\1YS+W8KT>'*/__4/W!R/T!PA-\:HS^>:TJ^ZYF:@$'9"G M%U9T#%DUTQ)6KETOZ[)NR[I<=HVN&>7)PW3 M-4SWA&L[ZG3<;N?LY1XSW'=H%C5W\!V==U]NQ3;9#XWJ\Y)]#:F4 M0O4[JCWWK'VQYO6P@/S;.JVK6AP'2Z33=>_PADA/+5>[G=4OO!I3Y_N<4G6\ M\-K?>]\MO^=K=\U]*:25;72IR56O[)'=DW/:[KB7%YW-+*)UO-.UT%Z?(7V[ MIVZWMZ'%V]"W_O0EX_+T8FWCWB6Y]F6+,]E-S'0?$L8X;71U)1I M>M$=E99@+>IWAQ!)F8PG/+(;0/G//3D\;_W3-J73IGIXT M482:4^FHXU[T3IM 0BUON_;I=B()^W';W8H0/KQS"3$ND?VR57]@[@3VS(R\ M]JG;O;QL#(C:4^G\9%WUI*'2DX?/3YJ$L7I>>YUG;N-E28Z@/-0,9X08VYO% MT_=7*3U?-UQ>8ZWT,"F$C0/:G=<-F>I-ID,Z2 =GWN%_GVF>F+\@3-WDCEFY M16?N6>^\R2TZ5/KVNNYYYZRA[Z'2]^CK?A>G M"A=N%OON>6C,1YVN>W9V& &1 Z70A=N]6,-UUQ#HZ<-6;F>=6Z_&%#H\H_.B M\_R,SAMJ )!2[\9X_.RBAN[)11,TK#F1>AM6B#44>L)CM*DKIHY$.CB3K>/V M+KO/SV;[2"V*I?/4Q6ZQS\YB:ZRU&E.GVQ"GOL3I-! 2M;S+SKO?>Y/MH95& MWL>^&,:)D(::DWG?FH!@N1C][*1]^!&%YTC;"[?;.V](>XBD;??'Y6Y@>1.2%8FH^FBBT_E+7;@[6QP%=_#L M>^%V3]&JR:/"!GC^BXK!/[/C_WAYJ'_/$I;4?U3JRS:8;87:#H M(,ZQ-72!VBN,TKQPV4^)B#]1#^U_U:BI.8WX*LB [_T";\YKU5X"&Z_-0A9V M9_^8)QHGW<$^ZT&*'=-G$2RI/BY9TC[$\5+9Z]W"=UVR$9(GCO%J?-4]J\_6 M8%5QYTS["IY^"L6M:?=:)-A*3?$4T9!DJ1?"N^$?_2#V/>#<:9JEKC,9>SLDT __LG?:@?>+D M)OP99VFI.P'9.P+(F1A@C"/.! M<$!R[XN4B22^P<_2X#[(ILY0X%G0\@UF>P\/I_)S6)A( MLS@20.,IO@I_&T^], OPZWB2!>/@;RI1HI%3/Q$BPCIB?'YE1J@)V=55YGB) M+=&=HR!RLE& M!.DD]*:O@H@F00^]EGO"BN:KBO-/N\1?OWX(!MD(M_DSVM#O_I;6;[+9V MMM-=:=@EWNZE2O;ES$]W;-.MUB?\RP@DI?,>?C=*G;<@^@;.>Y+ W;;[&!WI M]W1;KD=>="?6"8=L9O8MS>.H]S9U3CK=5?I(/%8O\$/:N,YC'*]#W)L9EVC# M42OLVK/,2]JH.[U[);LKE%Q M76/J[$^BT\I77?LY=QU@6.:DG%'3V*+/S!9M=]S+BPU!XP_>%FVX><^XN7OJ M=GN-9Z7^GI6G9^6]XF/RK9Q>-+Z5?=,IS^:X3TKI\]T%Z?-;U='GIZ/;3/(8 M5D SRWK,/T@Q#S4('+B/''\/ 5)(9+TOQR86S[T5 NVU!^)08YIWN@. MQ*<*WHV9LGF8T3"8)3H0$T%$T MJ!4K8[OGH(]')@X\;X2>KT\Q0^2/>C0];TQ=HOP=(%YB;CUP0AO!' M?\KDE6SJ/ 2848Q9Q,![V;3E7&,YPX"G#[],,9M[ +].ILXD ?I35C;U:LH9 M:!16#(,3)PYB)XHS>'<8P"SY=) K 2:JWUB>+;P]S6! ?.$12JHPOGN)U2_W M,(W4&0L/$[F'.19.$$-3EGP4+%1)TA!8,RE7+\?J@R^;9_$>J2&KKB3NB:>>LN#OV M?T=:*YQX=^*X#]3^>NP-8;*OO/#!FZ8__%1<(JROM*7K[,8L@__K?_43>$7% M!&M_5DJ)8>[L:>D63LN%=7H>][#,'!(S$UTK=OWFW\=G[3/\]M,05IGLFVA: M6@Z4B+$'3PVP?2$+JSD&_:#2+/PG__H=+NOG=\$7'8CY]:G MNPOFA="[B6Y!2 MFT,JQ0%;098NJ=$1^12_3H0?WT5 "[UCPR!),Z7,(OM4%8?-U?>?3+)9>>$[ M*0OTTF6<0RHR_)$X4Z!6RZG?H:,15R^ OHZ!,9#E/NHFFF_+331KL[;%N@[R M.=6\D1+*I6PCK(!#HGEC8.PLU097S+6WD[+0GWL,-3I^"BHQO,%U[D0$6\:V MBC> JQ1.9T):B/FQ++^>[<8ME7N82AYY^8",.3_&34SY7^1H\_!CT',S>;YQ M]KJKFK:ZE+TPPXE6E-S5]3\]?4_-5F6YY]S=_%3""CJ?I[_*U[ MAG5_J^Y.4_FWV;X=4.W?JL'4ZVJUO\E5>Z[9/3WWM--NDGL:9CX$9KYHF+EA MYD-AYJ.>"V]XO'2UFC'RLZT&[)T?4C7@JLN>%^UZ;F6 [3/W[/2TJ3"K.YDN MW=.3IA"P[F0ZZK@7O34Z%]>80H=8#'BZG6K 93?=.!@,0K&K9=\N#X\>2@.X ME:7IJ=N];)J,[0&9SD_6U4T:,CVY7.V>K(\04T?Z'&"M4F(,;+JLOGBB),GY7U M7#IM6)33AAMP@6<#+M ]<\]Z&W9IW@N @8:)#Y^)>UWWO'/6,''#Q'O,Q$?G M[LGY98/RLF=:Y5'[;%]17FH#2]),\;F!N]"(:]8ZQD-'57I_MGJDJL]^3>(T MQ<(66-&>%4!B4]A28G,J85Z2X%X,')A?D @$N5&UAY\LM)>W$I4E%7>8F=)R M-#J.AAKY$-^+T/DYB.&/Q)L06(M^8,&K?%.O?"_FEU@B3LA]@,T9L1)70=U$ ML>--$-@#AI7+@^_OO2"DRD4L@L2J^'VK?U^K7'6F3'5N_:KZX([X&/X:!ES? M6_R"]Z0I0FV*4<V:8(M2E";8I0FR+4I@BUIEO7%*$V1:A-$>KW^GJ:#I0K MGIP5$MA6WHSS]5V7.]D-ZDJYBBQIG/]/SE-[R5#<&;+AJ":?M&,D_NY.USX'_J$3#_.Y)G;7:YRO,J@+#&)GLN-OJ=F:=F7TO%3@" M]1HKP>Q^9^Z=NM#JGR!)H!T;W6A;2EO MC5%=VO'(0N"TU5DA*7Z>XM)I7:P8"7G<%*:5\OB=>4$E3)\/^"M0W4>F52^W M #:M=(?!-S&@3[FE<"BXOMZ%1_PP1Y*!:@D/8S]@^EV:3R9A(. 75%;A.D// MQT;$@6JRBO49#K:3'0EOH*KUTS3V TKFQ_:M574%*]50=!]?W=XN>W2VI(ZO MQA^5)D(@FQ][V)39;KD\%EZ*_6:I)2WULM7-G[UB*]M$W'D)\082DAL[EVLS MJ(5UH8R#NECO6ZG,O!-6;-#9VU+SVMD^D9YLV7@?ASGW4U8SX_:,.:@A-]*(J]<5%L"=WU@%;7O:27%N:U8%\6+?;7RY M OD"7(X,&Z,/R"^ M?NG"K^#UR.AQ#N.&8>S3':Y&*4\A]OT%*6RLEL3XV0M0-]2#U->\??JCRX64+]I@[*XR:(>EOAX6 M^P'/;?J,AVN."L?R&'4\'\M%3Y*[BMU@[%JV_[T>B3%B M!$]=N):B')A>0BHB*:_A\01L'>=HEQV"$4*O<_+Z^OTU_:O]NI8;^5*VG;W+ M0RDEM"ABCIDGS"Q<+_[A+O<:I!R+Q*F28W-%4:F%_:R=,*^IO:P:/C&/>'W0 M2?)L_B-58L\.V^Q([G7.2[Y[Z[\C[1F:>'?BN \BXNNQ-X3)OO+"!V^:_O!3 M<8FPOM*6KK,;LY? O_Y7/X%75$RP#O?)FMJ>!CC_U0(XORKV?]Y3Q6\%[/9* M'7!WNM@4U@6O M!?)]%9GULGX>A#1"2->O_)1U$$N7,PH7;NPX3K+@[^(W^Z9OK<4R4O4Z;?4V M4[U.6MV"ZM7YT2W8NCCT2EK=2@H87X',"$,AB5;+"W^56UV=1EHJ[$4 ELH4 MMF.8B@S])R,8#T^D-P4U*Y3#%/AUE\J G)TZQ'3>0>J &03JC3K2-3P[ZWL2 M+"CQZQ*4>&U6MRXC'00!E;"HI.1#G"=A,,X*@>KXL MJDY:;2U.%-#-4O?;_K/A#2JRL"W.302"A*GRD:@B%1O7B4!J[%(@-.!"*P^[ M=Q X#;A0 R[4@ O59EL:<*$&7.@)MJX!%VK A1IPH>]-H]2J>T"J>P,N]%S[ MI[?=DXL->T[N2P_UAIF?"S/WUDV3?RZ<7"+XH!LD/7X] M]*Z1058D;,?M779K1MA=[,-N,:5V;D.= MV@K,HTZGH4YMJ7/>7?=2?QP2[>'5O=?06=S/EE,.V&56>9$?A('60-,L,]'. M>C73Y!LG0\/#:Z&]/;;+]R 8^-GS\+ZQ,8CBSNEANWS7<9C527]>&2;0/>M< M;$;".JG0F\'7U R090_:SC93;)KW+DSX58D-NTPZWG;&\]I;4DCQJ UE5Z*C MM+;Q_RP0C_:60#PJD"UD28F'I0=W@D$+<%Z)EPF"3O&]=.3TO1 +$PZ@MN03 MXLFDJI)!9O9_\;[!.YM$_B:1?V\FVR3R-XG\32+__B3R[UO2<%VR^/=PWYXJ MA7_?MJ;)WV_R]U='E+>T=&DC9:BE-R')YQ?.::^+/?\LPCD- ^\- S?AR(9_ M]YE_GT7*_B&T/UXUK>^B"=0U4]S]%/A$.^;H\!(+L<',VWMW^\^W+K?/S%^?CI[>>K M+SH<=&/8NB^,[D@(6 M#7O1ZIR>[4NJ 3QX>KXGDSUK=?=F8QLF:)C@U6GKLKV-?=U&AE2O==[;%Q[8 MUKYN8ZZPKV>K4>N[4W5F<@3D/5K;-(%Z)'MUVH>Y;UO(!FN?'F0:RO=FA"WW M&!_NQCU*2MCE7NW.^8J[\\GJ^_HV^GLZGLWQ>?0\LII4^=Y[J'^[8+#CS,G5S.@KKJ7!,GR_,# FT/;'-K]WMO+2SW[X']W?'-3VS[OGOK>FI6N..*G=67=R%VUT;S;5^*-L-U^T7 MU_WS'Q>==N=UPW<-WS72KN&Z ^>Z[HE[=GG2L%W#=LTEV_#=P?-=(^X:MMO! MXHXZ';?;.3N(9E'?YS+:;8[C'.J<=U^N$J5LCNF!']-#T4H.^*Q*$AUP!+AZ MW9]%*J@D@LK+Q;T(XPF69,[S=>MMV+/>)*OR0=MM=S;L*%Y'_*8#I5+7[5UN MB'_84.G)J-1SS]J[Z?/34&EU*G7NZ%2S:D$$N]T72]0 M0Z4GM\O;;N?B?'6G28TI]'W&2!T-L:/339TFSYRK@:E/-VR,V7#V4Q#H].P[ MO0L+'$+GC.I58T<#=U-7^''K.L'V C![:[[.>@-FK[KL2[=WL:[1OM8&U#QX MUO#P_O/P)HZG9\'#SYZ-]XV3VQWW\F)=3_>ZF["OW/R\67FO^+C;=4\NU_5? M/@N1W##QWC#Q)M[=AH<;'J[3LKNG;K>W80IDP\0-$]=BV4>=KGO6[JZ=4+D7 M#'S Z5M'Y^W=I%HVAW[_#_TFD9/FW->"='-B*FH>\K=G"YKV;09U]!W-X_;S MA<]BD_'34H,QZFT&O^L69]*%F5"+I%6: MMWGI*E-Q2^TEL=T?_-KL2>J%@MJTR6YG^.VG(1 CF5U%LB2;GI;5+JWJ%%<% M@\(7;?7%RJMTR\M\T3'-Y%8=I5.]!]RW;>Z:AD(QF/@6I-39S<<>37!L/6R] MYGAW\%K\Z5)"9-1/,H#-P(Z>\_O"[=-]=_C\S;##F?K';=5V7R& MO"-8PB+Z*IZE57T0:1;^\Q^=;O>U\YOPPFSDW/J!0'$"2J3@V=H_NKV^FAE1 M,X3I7EH?$M.(J[MLXO-YW/#O:UNQJ_-IW-FLYF36>SI]^G[^UKMI*/YE!WKFEL-G=WFL9F M36.SY\>!A[F338^DID=2;0]LY=ES3SL;(BC5IMYQ"7A&P\S/A9DW0Y1M MV+EAYUJR9#8>9&T6C8^8#8N9'-#3,?##,?]5QXP]HX MMOO"R.N,L0_.VM7)>KX=!-Q&,CP7R? LM+;G*A\>IU71\GK_A0>:RK9VLORY M'8O4?CSJK$Y;IYT5IO5Z$J(V\=MQI79[/%FSUO53@" A% M;ZYOVM+93.SU:+@O:.47FZ/VU1%9XT"I=.YVVQMBA#94>C(JM4_=7GM#^,"& M3$]&IK,-6LLU5'KRP]1QN[T-(;X;,CT=F2[4:,CTYF=S+\_/#H=+A M :AU.UN!33QTOCXZ=4^ZO:;O>BUY^JA7!@-]ZHS7W7E';D4(']ZYSIV(1.*% MY"7Q!N,@"M(L(<_$,W24['%;MXY[?MDTT:T[E2Y/F^:L=:=1USWO-8V.ZT^E MTZ;1<>VI=-YIVAS7G48]MW/6G*2Z4^GHO+=&NXD:T^?P&O8>=39M*O',>;K3 M/2"YMX5>7M5CD<)^ALF<=2CP^RV*DL;)MX;)KYPN]UU MNR0W/-SP<)V6W>FZYZ?=AHD;)MYC)FY?N.V+7L/$#1/O,Q-WW9.S=<(+34?NT M9@A:S9G?GS/?<\^[[>;,[]N9[YY];]'G9FF-.O"PNZ+/ZSB9Q(F7"8X\[&-] MIW/465;@N0+IK$/8A9,VB/-^*(JG\#%"<=\SQJZGN$)0>(4I[I,QTFZ[OA9-WS7][,,4#S9N <]#IK>LWW._'J2YC-(?Z\ ]UK^N>=S:$_&X.=3/&SIU?ZF')U5WZ0?7X:TQE MGW[Z.-[+ _UILSGU^"F=UI\R#W9?!;D?/V=@E3A]YU%PF<[7:K?;DPNV K M<[Y88<(+^I4INYJ^2%? [=8/B&]^F _$XE" $P^=81!YD2^<4,!6I*UB@@7\ M1VW%V$ON@DA)B,?6PTY;W\>1%PL9LK,MAOP^?NS4E1]+R4).$#$SY5:,27(C M\=0*#+D28UTJZR>(!L#^K]H7C\]I[9.5MN"7.'$\9Q"D?IZF\JA,DGB0^UR[ MC7\G<%*C7+BP%\+Y0>(U;(5L9M(TXJL@ W;Q5Y,L>0@4A-E^9&]='&TG^6O% M??WAL1AAKA;\5"M9)K3AU#C92#B?1#*,DS$)V;?1WU.<@D(!@(.5H-P=./VI M\Z+3.G%@HB'0R'6 _[J='UTU2C9*@,G&,*L1"'?8E8'SGM[>;;M.YZ33=1TO M!BKUQL(!N@?Q >"WW5<8., MAHVQ!GD G\Y@E4)8'O_"K-8O_K<9]FBN^ ]?$%PK]\& 4PDPY7)^81KP^F?)[-?Z2*H>WLV!V)MLYE M*8O2^N\H,>KIG3CN S&^'GM#F.PK+WSPIND//Q67".LK;>DZNS%[O/_UO_H) MO*)B@OLK*59IN+*&T%!GA(7&2>N\(#0Z[:<1&IN=;_YLL3AI.<_MBO@0PU?. MST$,?R3>1.2@$LZC]VGIDNBM0^\G)+=;>&1&:I.\Y4EI4SRA2C'QIDD#__U#<.(-VX/>::N7_2'PS]MM?SNQUQZIT/^__O M_/*'&IH:YY4,\.[F__YQ\^;FR_\X5Q_>.-=7GVZ^7+US/K^]_?C'Y^NWMWMF M.+T+_LJ#09!-G2 EAAD#+^:)(-8$,R3.0=/L!R'^ AAE+$!=?(B3KVA+^MX$ M+1LG$F+ 7 *_&,+1U-\0"\'H,"#<$W\*9^3!\1C!28D3-*.! _'WP&SXGEB; M/!:' MO'^=T(ADQ'\LRA(!HF\=AZP.5+"CZABTE\$XD?*-Z=Y'TPO_B?27"/ MAC(HO@)APU.U1C@W<+1X%)JIY^-1A@G %H-NQ3_".>0I_HF#!=&]2#.U4R'M M)/\&]@&.#JR:M]0+0']DOPW\,,V'P\ /\#%;6_">@%!/\/I46M"?>A\UJR1()#Y+1&4EZI5(ITT% M97V,DOM!%/:>F0M_B:+7VHZY.TL<"[8.[*V\X:.[8QH=F1L/!#RMQP$M9.AX M$]C >S%PI<<2_8IIJB9/[A(^:2EP&K'/]9M_'Y^USW"&GX8@9Q+BD$]7_W[W M\;]OWOSS'Q>]B\[K??,>?1DAHX,]_8 G+19-NGK5YGLV%W--GN2L,NR7[< M;OQLQ\7'E\MT/.+KHF*]0IKDH6Z$$E1J+SJ/ @2[#B#,LOPJ&.3I;PVNT9YW M,=0*IZ)FB6LK[NWC(574)75MQ86W3SKNQ:;-M@X>:*EAYOUBYG;7O7QT8,/' M8N8G*@+9W07U9]$FV4:UQSI[=6B'M6J)]3Z/EVWWK+U6=+"!=Q$#A*3?,993*XU M\2U(,[ZAYKJVR5G+GDCC_5=!@<(@=C3@09!37 [!.@:0X>\ET086A-I%D?" M\O2RU_4.7:@3;\K.6N7V]OQ1 &]7+N>!&,*Z2(I)AS+%Z?K_$10MX.GZP(Q> M$#E)//7";&H&Q4A'(J,-]O/>72*DDY@[X7B?_5Q5BF!V>-5[K+ MS+0/0,?PG__H=+NOG=\$;/3(N<6@"L=8\@F2_$6O>]F2H+4JJ"I=[]X=;/H= M,%/+L1C3E33"7_QZ^[MS'0_$V_LX!/FRE;6>M7KGWY%(VVWU%F;2PLK/>Z]W M2J8KQ=MT)BG\5XSN )D2X0L,FRLJ>&'EF3 Z$65%,$@4PC524!$+5:RFNB?'W8$Q29BB% OY1&B/%(*H5 M7!<8_<3!\DG,;!?GF1^/A8DZACHPE5)&ZOGKE0(\%'Y$B:*$#6Q--L(0+A"O MEO+CT=*$=G!?N@NINPO#H3=8I MAXM-P%?L5-8%("U*D5"^T--1P">8(M0H(5"]B)VR=[W+<=BC %-.=G=MH-CBH/,_\,CD>: M.KS!1 DE6"AALJE+6,0 W9/G59?PA =K-DL2+[*$K-L!,/L=IQG3K34,XX>T MG ZY,)_LJX"K2?BC"!9T-RW<=-)@DO;%F)+#=/8:GI[M&\1+ 3X6VL,5^4NU M,H=A1S,!-! 1<)Z@%%2;%A-8#1:22+$Y(2<5;'L_!^4.,_/*BE_1D:2EKB5H M=>9H-:-4Y7QZPR$P@:!LV<@/)L2!H,@I=8N3 3F=EC\IR%%7_H!>93137(>U M5+HI_P/*VF3D)6//IZQXLOS'L.Q 27AK@<#Q0@Y M+2^WJUQD>J@QVM%Q-^;9FZ3 _S,P%';>0Y6L8#Y5V6:TP?S,>M?!D=Y[_ MMW_E:$V\P?J2H)_32==.AOJM;IE3Y;TW186W76%$1D[56FMIVV@".$<_O'US M]<-+:6X'Z'>\!4X,X?__Z8TGK^'.A-]\NKW^X:5R+[,Y A^Y2B 1_D-*3M [ M\I9XS/E8T9X(@P8!9R"'1S-:BE*XNB2@FGR^<0?D/T._^_2#Q @'+6 MP:*F4J+C*6:?R](@?@B-_6_"SVW+$A8GO>D>C/,M&.=CQE+MPY_#%2?K M=.A'O N^EZ=D>^=<$$*@$?H,$P]4[2QZT *L?()W@;@(N +'V-'&>N$>^>I M+_L25@LM4QE3GXZ01"I0!4Z%W6"E3"H@RGFPH+Y)HXQ(%9Y1/PD2UXMC294IG5D<9Q1$(/%JO]UGMW$'^+'X#[.3R >X+%BX6HKEQW,"PZ M^("]F8_MG053 "1E*3PO!_9'<D:=[8$=$^'9197[(:#/>5V-,DJ)'1KX*)W@^#,D^ M%7X[[:AZ/_E1E?6(=QDL&=:"48Z@I(>.O:_H'-?SDC$353F*J]+K@&W!20(O M?\7J5]KL/*(Q71UVM^I J4Q49>8, R[#AU6E4F4%+2""KWVAW2,8H$3YBZ:T MEQ&%0R\8IU3\& G<:S#E@<>&<\XEFK1!9'&(7:M;(6U3?>KQR3SR5/(1VCEL MY<0)%P1[!,U@N6]DQ&[B)5F$W@#:5O*QXR 8U@H8PTM569.!8)?6#F'U62I5 M((L5*&"DW..*6HI":+#3/.ET$=MRFD;L)%Z0%M(R=+VR\1B-1%5=KN5KL/Q$ M2@D:3T(P5S@H9DU4@]P93@V(/5VIX^#BM=O$9DBBH+R\Y6G"VNX@(E!Q+?R ("[;&06(U>B%H^[=! ]#/S7MY1 M36\9]C/G14NQHBX+2P2;UV?/+MPE,)JB5AB,@ZQH2GFIU!.@^:ZH7X!YVE4H:FK%<@KLH@.7# M'$#Q)JJ* >TFZ1@C;X+JHLT?),ZDH _AHYCKQ8'5,LL+&"=E+_Y=XHUYWLO. MV+*CY>(UG2$94:QP&,VXCW$C^B3*I&A0: T%=V4I1<$8=9;^)(4HYLG080!) MAU?2R"Y>IV1?WGY88)2IU( J]L434&)AVNF2RJU^JJUH(P5+9TC>S<.;D1TD*W==ZYV 9X0>]T&^ %Y[VM M("UL:[*=QT1:V(<2I>KZG4V@$"[W$PKA"XF.]RPZWA9%QSJH"%OO"+ 6I$+] M]GE%Q(V5%OS<-NYQX#GVIL#Y@\@4)AO%D"O3$FJ%QG'0M:GK+;[>5:M'EVZG M;1H1/.[:]Q5^H^'>?>'>=MMM7YS5C'T/'G!CYC[BI-M'N(]6;3NVJ)WTJN@( M-63GKMNYZ*W.S?6#K#AT K5/W).+-:[+QX9W>!9:KLYM[D^=(REB7EIQI^WJ MO"NQ< U;UJ\*4^)V3P^H8_UA$NFH#1?!R=IJ38V4%WKW.8QM>W;LQ$]#FSYZ-VCE_-&@KUSV=8OM9%40"= M-[H\ P!K="ZM-DQ^'*5!BAI./*1JGA!ST[S!?W+Z<$AY48S"I+%$&$Z"LATI MC3DMS2M-A52@PH SUX+':[JZ9 MU,NX]E4E'KXXL7#NU*"J5IH2^$TRKZE;?']U\U^I M@XUEG_D!EC0;T<&I^[KBF7;5+KXH5*22X#FQT-^8%ZU'32L_2MDW3?Y4J0V> M$82DI6)6T] :1NT5I:;W#?%!\%JW6LWAT2:A"<FF)V5 M(7$K1-TC\LEJXJY:VJW!1]QXUBAO6!- -%^7W+LL/=VXA>I%YX<:IFQ7MU"] M_GSSY>;ZZIUS=7W]\8\/7VX^_.I\^OCNYOKF[2UU57U[^^7F_=67O>NFBN<+ M-"U@=5UG8Q5W9L"%7/5"I7]8JSA&KJ.R/]E6$O4_WQ<3Y%?X!V(4<>TF(3&% MQ,U4*)/:1>6$Y_-5./_)!W>R#%$5+,\6ULJ2S-(\)=X .:&XPVK5Q&DLGV&" MIE0-&V=8?G=5A"+@BB>)-2!Q";!@5T^JY7Q!=%!99HUXC%&L00FT&25!QWS4 M6A">R-X0F*]SY,7@%RV+DZ[FQ2 P(,7C]]F\N*\=;EB3\S'+7YXBFAH M=5[US9>W[R4V3VN%^.;>K.O__G$%5^^7JR\W__V6;EWXX)WZ^\W-[?6[C[=_ M?,8;^>>/?WQQWE]]_OWM%^?SS>WOLUGFL^[S%<_]1:VTEKG&8[4>\YZ1"SX' MZ5>X7-1MO&,^S&B$5=,OE"?H,#!Q)7 \? MJV3Y6R=A;.Z T-[2C/^V6K!(8 S2"@@NA_8UP7T5W^"*9*";A"_J,)87]2

Y03#M\RNEQA0N;S0#?D%(S?;)\>_[! 98S7(W:@L_8PWS+994DT4V MK=_*EG)='I6R1ZI; &5Q/4&,@,5>M$\ZQF>X4XCSN0W'"1/"QCU\8PXAL=N)$+V,9:!IB9Y L=3,/#$(*::>0O[PO@AI;\@ M\082(2.="#]G+=D:90$<7@FTQAE-)R@\V#)HG_Q8\-C*=90$#D-YD,WAH8/( M.*T",&A\DA6>A3A#@3Z#"JY' UL,F[AH;B7)N?^RY1;812)4'CL>\%6]A_W+Y!IL1)TB @T&#@"F]8:?2 ?ZZ[ M6 "[$3H-!QH9[D0^3L3Q&'@@3U0_%H4RB:R1S5*%IR=9R$5?J0OB$"D [^%HT(R72/N&*DZ; MPO[R8*4%:LOIRN\+X_6]D!R\Z4C 3[[O0L@C P C3RM&PPHG%T7^]Q%,WBHL M=/"A!3>(5JS7W4H/QD>&MSK8S=U6W(P)')!OY!2KI>H$I^1%KZ/A-?;_ZKPI M!%P_P-EEVY!X3X):W^KX:_V6NPP.,WZ("LJ(LHQP9LDX/09KX2X;J2?IRO-\"U@O MC2?84P,>Q-.&TS<(8&B*J/L15TDHC1P"TPYEJ^5;*M3,2B^2$MBZ/-, *.(E M.O!5^1B/W1?9@Y"Z@YX&'?^<36.MIO)Y9_\ZM;P,(GM -5<>2NK"!5&!EO$0 M)$\L(?^G"G ,QPQ\E&2@H\/K0'ZI!JI_(=)U,)PV[O!%[O#N8[C#+]M[X@Y? M?:@GQTVZO#AMW.:U<)OW#LIM?OWQPY?/']]QH/K3YX_7;]^@EWP5G_BN;_DU ME9JW>&7H /$;=KVB&GL=$Q GWTV?,$-C@![:_5-K-!#OP"S.MQ\P)]"5]7GX>XEQ+RT':@ZBO!7HAP-M2FAS M[?;M]7_!X+EJM8,355V05?\1>_J(N.?[^3AG_4D!4>>15+1D$-]D*]CPUVS+ MRRY3JOG(/:HIH(5@KQ*)Y&I^8](25"Z"S B0CU!+%;)_X!F8 '4 ]! >D-9- M>J@?I*1V80?PI BI;1BAAD;)4L_7TVVR8-D@!I897O+1K'*FJ(>H)6K!4:(T+XUY,8U;Y-KXTV]46)47B37>).1X5KM2[:#K_.=5B1#=@&]CBGEH5(NOCX1F!#D)= M*+6N:$K)\/1@ V2E.L91.*V^#M"]2VCY>G4P&AY=S>P4 (#7IZR+X@PSQHC/ MT%D^#E*3T5GJKZ+&NZ-CL,+]-LXQNBJ&H0K;8"J'OB,3(>6!;):)_NXL0:5; M=_@@^'>]]4%:4(=!CX-M4%FMY+TO4K8/K#L,V.FM?57SYJK<4/+$!XGL$.E< MA6GLJN:WJ@4*4ET4+*"BED.-!NQNT>7P"\Z/4EAHD7I2[&BC #(()(5&#Y]0 M3R],;#?W!O9X"&2Q0YSH;0428?M!F04_"0-B#'T[V+FQ-JE4F\ ,=+'@'>X_B'>SMIW=0TK'=F<-13TJ@ZIORT]7G+ZR8W]RTG(]? M?GO[V;GY\,O'S^^OOMQ\_+!I<<;E^69ICDVN\0Z=IG,IM7.':KLDNP_!K?KN M[:]7[]B?^O;-S8=?]\*ANLR_J+K+R$YW:/I0L2(91!QUDR4OJB<:@@/<28U# M-ADR/PK%G1>JDCC,(]BX6@SVO)%(>R>1=BQUK@XJCH.%#,XO5]=?/G[>?UGS M/W'NI"/9&QC,,6I21< UJA,T6B+H;4W]).BCNTB02SR^$R1CM/' (L=V\&-! M]9"Z3P?2S_I_V1L$KV!/G5MH3CSCZ"GULC1^&&W>4$-)-J9D\B;G.U1/6DE5 MFB[9R?0S[+ G75AK)G#6: M4) F')FC7&RAFB11O(2\$NB;)N+/&U#M"PP@V%M!'>KRR+P@90-Z'W%!J@T" M6THXMW^\?W_U^7_VS#NVN$&63+55<1 NQ)$N"^XR;F=^F9Q-SAKB,V'G\L?, M/]-7J^Y2 2RD>U;:M^,=;MP__W'1Z9R]WEU91PE(I=TQ*=%0 MQ2.Q6RK>@>5ND^P@E4%'=I?!U3X*)JK27CEYXW0 4/Z-FU*5, M^LWPR!HF6,X$&)CO!W2U>A.1@_9K.K1ZG!2.>:+8EM8E="?R_-]9^12N\M-BSV281^\;Z*@65 M0F7[7=!:6/D.J"9I(H-"LFFMXZ$/G].I2?O.21),K>H!"3EH(U54/@S*VTQW M8:H7P-R(A%*=J;[(=,37LF>ZL7M1/FX#U3!P%H.NA7DCKS6JEM6DDLB2)O50 MUFHJQ#B83HZ&)@I".&E7GVY<76&#EZIT"(%<# P^%>6=3KQ,WK"93(DJNU\P M>Z_*!:/0>^>ZGRJ+AAONV;D8QK0)3"FQF"9A5@J!!*#U^%XH%(]I7IE3OBRB MOZ?C3;&7&[*NI$8_,&7S2.$72]UXQA(5E&8W(QTR)&LFJ]9DM;O2BU1&#PD= MH_F.O&0,HKY1FK9%UE^4;UY"H)-!8O ,'/PS;^/S]IG2.]/0WA;4LZ&\JQ# MK;R,!F!$E?$;($)*9;/O=R7E8?#F_&Z+T&^S$0;G7!EJQOU/8W59^B+!$M<^ M%O4B7"7%\4# B@CV7 C,V=.G6:?>D4N2O50DW3DIC=U5>-QETINM*)B"%I4E M*/Q1!+MRI["KY4C6O=ZPQ!9O:J31R/O;2P9QGNJ#J#/;37A+N9XQ*90R$R6X MJ8CN@R2.4+''- ;O034/(R]7HVEMDWY7&/"9Y/TP\*W$=QG <=5U;<.&Z-(O MBSX(L@H7>I".$!J6_%%8189IKOC__2G7CA4AYG7YP35<^P%'+_'S#UXZ\/ZR MRJ^JDO;3!94 ?YKP!K&9R 0Y7C#4.<84:FE#SJD'F#\TXW?(0C$@1X2U3JR8 MI*)B',OXM!+ .2JFTX5="WIEQCA1A?X$"(R5'US-;T6Q<5UJ[A=<[RV*!XQ>(\TT :PQ15*"8[[%'B3)PJ#=E2C>(\Q5ZGX5MR$ M##T5#V0A)H&EW\$]&S#& M3)67-PR&:)ERU""+65(0"@>R!H;Y&A"-16GRI_/3Y+>0\;XYSD5SF-8\3)34 M52$#C:D@4U)^>7.E' 98U4B001*ZSRN6"&I+.F,&U("PNQKM=6L,@W$ MCMC0>-M! M\*+RJ_/.XF2"6(J#)+^3!]=J_*@/XG".E-7NP(+ UH,7ZD&]E/Q6"OEDWIMM MF PNG52Y%T/*ER.=37R#GZ2$LMWXF+>>UL@7,- M\:BV=@!43 (?,Z )T-:B M'A&)/,^G[0YQ!_W1:9^X6&PM[M%ZYS+D '.^G;L<= E0;(6%96./1P$%"\E3 MW?S*P8VO4:^DMW"Q.5> /ZBY+WU.FWS #8B2HY:B$7]-6QSJ2+729BQ?J9Y6 M>9G\&BXMG_+G*H.F$(,8$LYV]RT+>>*LA249'.OUTGW&4!@-!VPS UJ%\$O(UKKLR\YJ)Q++)KMWDL0LLWRZG9)X M*"B< ,J\RR9_B D?*5Z"03(XYB+;B3=E(%\8FC%0[KPH^-MN"*!]MCJ+U@I9 M3R8A7,^H9UHOM[@' UE%&4-H\NC*)>@5 ?/;O-=WPUFK^9-,J43AEN+F&,E]NN*7A6WK-! ME'+:D@ZB.1KXQ^W?.P8:2GC [8@F%(J?3*6(6\T'_A/RRF# M^9&&SZ8([4>*/KZ6(=ZS!1#O#4=\ORID11'Q#"(ZJ7"U'\M5Z:.(2'3&7'?$4 ML()L"1&+VB25-"P*9.110^E=.;57)2EVHL:F6GB+H[!_B).P2=?89@9ZS 6W MO@$!V7J;P M"UR)\3CP+;!468B[R-U;60?&\9QTQ#ZFP&^2 ;9&P)^5):H-%=F1 3UY*$<9 MQP*$=9JA(-9@>/ 1V$E]1+Q-"X>4',N?-5Q.;]EP)JS MZ1N%?8#\@'I;ONCUNJW+XL1[Q5TKSJ.JZEBAJM2R_VU!$97^ 945P1.G?@[A M[F[P'_XEP^OF.IC0AVSKF!5M\Q1L MB'6T4*#H!N:VD$%#78N9DF@I]+&P@S F58"X22.,E%MD%7XG8] +P*!P7HP& M90#<9 R(=!7&&ICS/FHX4\(Z^?7V=]=Y+Q)9P?4AOLY#*S@E,0BQ7"P2 M&-R6P^8IHL.9OZ7?6$76XRG,>VI]K]/,*,PI.XWX M-G.4U#+:>09+&@CE_[ M/+ P3Z.B8@)2F7$L8"3VP7#_\ME]2]4J9I'3Y*NX&Y!$(8WBSF#N!*M' M3/-4YO.:<[K>[M1/$5A?-]H7:$?9TT[U#"+L7Z*?E,@VO8UAC)E]5& !-GA) M4G&U(X$C4V :CJXHK;R&3;.6=D^T4AZU_LHIYT2CTOT@?8L2IP0/)@H\3V:" MJ';?3&M%$7/X_K3AI4G'G$7VTQ#N%P" MK.8O4LWYA300#RMI7)V)K!+G2CM ;#7W$G.M&VRE:]3T4L6^XPGF M@EVV+8&R981&[J,.@D=QL0,),J"G*W"$[FS4NZ!3W0@5^07$VA[1XQZKR4$X?XX02:F_5#V5;"+[Y M4E'Q(!KH_HB65H*GG(6:+";FJE>J'!?5'/+:6OP\DLK@EP;B@JIR%"YR4 M)SB^.V>5>*,HC<((JB20L&%9A?:&DT@2!!3@I5!LG&B0YE@1%G#S-DW+6/;* MTL?&M5&D7'ETE4A$&*D9A:'EO(\3"BNX58+0*_*)AJW2'5Z1=RBS;<8S0M$IO+TF) MFV%1OZ(K*N4NDJY#MAFK5:S<3/D;@VLPJVBO+3OP5^51B*9%&,$&!1\^9]-C" MO)2"CO),@'0FFWG6&#M+X\:!J!-KBGI>K7PL)#)H#6^3:*C)53!/-(Y8# M.DN! ;B,LE/=Y: :8\^,8K&H:BD*A&V Y+?ECV?%O^"Y*^2^6J1 M<5UQ)9BZC-<-2;=(TIE+M0#%1K/ F?+ J^N$.@,IIX-=EJ-#:*I )P7QC"R$[AKE M.:Y,MR+YZ2K:?/+5$?(;N 5"D1L M =OS=:%A[TM%>O)FT-9#PPE;Y(1B#$0Z+L:84C'!MGW!F.JD1-'P1WG?4&5; M5)D]CHA=S,X>B6 C*0:?YY'E8-!X)O0-YR#:8%.QY>)37FO=/UR_0]K!XX;" M3T=A$V' K% F.BE),_I7I7&JGVIH]N0T,V48#_0*+GH_LVH M>VN0R(J9@1:5Y$ZGVN?I3''L0YQ\1?^1 H1*&/2-<6@\C#;S!-![B2.$WL0X M*(P9$IE$!\,&@D-O*B).L[I#)1G>8WJLRMM8KI 1SYGTD]"C-&5VP'(TU]@^ M+>ZX)['&M3@ "V>[X8_#!O^<(Q)^Q; M&XH!%H];Q!A[ TJ(P(PJ=-3>HT7G!]:Z&'@Y54W(]981/;@H'K=2CGFEF'C? M>)@2'$A=38!BWPAU)+G6H[7?KSD&06%KLU&XE38+KG),76.A6+ M:3EO"M$MB4>-OC_4*K('PJ+">-8X5E!ILHBY$/1B,*QL1 EMLUN&[$D9ABJ( M.9C_5A7[4BA5NA(21$ _R,S:3,3"!MJ6P1S4TU1H@_,P[N-DWQCYEX#$::D7 MRI*XB>/-"S)3 @AZZ- A2)?578R\*264;KN#8?,$Q"=+;Q,M]E*"W.2NXN13 M0G74XFJ^ *WWU_H>7#/QYS';>3JEM!.%'V?U_;8;2RIX$@RDF)\HH"_EE56S M<4F^#^X]E:=< 82"8?'XS1Q),IH3-T,*G8H-QD*E?RT^]_ M:+>.O$"(,DN2:?#MY^V3"WX[O3=!T[:/9F0&(TV\=.4YO/UTH^=0VB-4T K" M?4G"+">')C)!U!J(RN01J4O\E0LR8X?2WP4?HG7L\)9;V&#X@U^\/C#B&U8+ M7><3>DW,GP3MBPI=&!,>7HC@^0QY(5/-X56R7YR^KNTG2.F476[PFN)VG4.= M=D WF(T]5,ITGE2C)RE,Y#S9%9%B&\STYDHIR7X.@JI01@V"L MTZ$*J= 2\M1,SIS8HEC2+V05F]*V4>,(9!*VZF1J7!\F@&QRV2:4PLV3T"U. MI6_#PUW!-CXZCU>5[/T14<[6;28!3DQ3A6+B$#:6D3<6MU/5?>U5T9^.9DDE M]I;Q1\[-AS=:W\9C*?VG MVB$"'R!BOS/*86K.#-PWIQX!=2I%0$/2;9%4 V[V\?9#!&*=P7[S^6?T\*"+ M)J(T-S)-#>6P]:XD*IEV-DFG)I<,[AV^4QCO!!]KR+DM: MZ;W,B'3SK@+G9ZG4IOZ(UGCR^N=W5_2O]NN7VBEG:P]X[9=Y MLZ'PUBBLLYUI7C9$8^F@,#7@C![K MRSR(N![:N'>+F)+P+W0RH;A_H+K):EJ#:2@1K;@$D4PY?GU@Y+[_Z_N2 HX2 MHF&%;35?!F++0TKN"JNY!,C>=U?"RD)R:@,U? M!3N(/7,KN[1%@\1[D(P4V;/S$BH-!9&#:#NNYAXA(Y3.^:_P?*E MFUXI9G!W;F<]/TXS6:PK=VDV\)>86A!W9L\D->PQK>=F0H#.E88\P!BP55-J MSS">A=)'0 ^N%I7WL8RDRD+\J<36#-01EZVR0JQ?4\F9=&5;LL!XDTL(^P10 M97NB!S.7.K\@@A7 V)02BNMB_5@2RNA9MFXF\X6:7J%/C=,\#+ B/2NV"141 M.L%4)QB##%OBOF%<23(JV.5B8Y M-.(_H>/5:<\(I!:!$T\UVBD9?)$OK(1SRUDP(\Z86S&!AQ"1Z0+T9),0*T?$ M-GCP[D@=DUTR[P<*=8;B!YKU9\ )"$'@3QTZQB1&=$IPY[@02X4',^=(WI(8 M+D(')%[O>-<*M5K$^P"F\T=BD"-R":8_4:DQA^D+>Z24B:I-,G=07S!58&1J M388:(P+P$5R(EQ(01P$LQ2L-HP(B:9Y.&%7/SC"4G8=<%:;&V(N\8C&-,,@8 MM26(=+,/^ ^/&Z2R19Y$ZY"-\4R\6U46V'/F.Z^@Z.9HM@&M1"3]]#!RFJ." MHC)5,?_";F\D-1+.7$R2U/'Y'MC-BZP>]!7 M[E,E876V;J4S2;MX5.XL3ZH&W@ +C- M[?/>#G?YAW_IE$#5D8,N%5/XBO W=-AU^5PF").4FJ-GHB7)AP2O.FM\ VKT'E56&0>+K,9DVP,%"IUYR$ MJ8!XN%'#IT[R/-2'TVCSB/I #_>*FE^-6 M'8SV78^44:[@!? 7$HT-]:FB%'ES78AQXKH,.*G:;<#XZ M/FI.T+E,YW3$ZL5B*2F=W>')=N9(;OZ0,$9(T(Q M83B2?R#@+BW_RT.C/-B88Q MPHBK@:04K9Q4V1XC?:HL:EV49$X&A =A@/: :\G>]DFO=<+=B@KMF2KDHFFG MXO ;8,H%^3*+@)EN+D?YPV/^L.7\.8+E:'!^>:M5HD'GJ]V69-Y*7;K28;GS M:Y]2DZ/8NT30G+\H0GW MT #FU!>% ]6W90ZX-A( ;F7.&+A81$R5A>\5_JN!8P_.K8&FE9 OXB$TKM6$JR M3>+%E&&0RL!'R\6T1+HN>X/6?LLLI\"GD6SK1 $ EOVF60R))FIXT20';\N[ M6^$PF>.(M5*Z9;:J\O)9#CJ9B6,EW^!)+7CK9*Y/4]"V531&+QU)&-4 52F5 M.ZE[R!5I I=]0-I!$7F>G?4C$KU6$/F#!#0#/1"+@64ZG '(X31#2Y5DI9Q5_@T)JNP(3DQ7.CUE MNDO)HJ91)5G*=2,S-G8AX:@ID]PF P46WA"U'EV+,ZR.MJ4XGX%3TUUHI2&# MF;YHZ!"FF\8] /4'K;F,NS45NN/8S_!(B*V"P\&Q.5NUM2XTD]RC?5I:Z*?2Q378F%6AJS.J=5*-R[+5ST-"7:2P M6\%9H:+EQ0V["B5$Z8.N':*+P#7>/+O':2@(PF]8:,Y6: B'FHTK]1N8\+T7 M"M6-#?_.L"[ SV6I&IF JE%#(7F:_:BJW:;]-IT8+_=EYDBA#XAG4K%Q0VZ] M%<*)Y.,< 240C"X6"DF3$;+:IQM;B0I1<,U^KY0#2.]_!221BJ ME=$S*@M2YB);P YVDL@8S%K9'W,V6:2T0^2Z?E!I384.?X46Z876?W+ 8JYE MJKKAFO+!81!293QL+)X KCTO%(Q3\&%(YCUJ:%Y&%26A%XPYF MN0?I4@CS(! -$TN5X3+0TEYEK"DIP[DQNK'B;.5[:HD_8?JZJ[M-Q8JL\V)= M-Z5NWGP!R\L'92)*>]UC6=6WR0($GNGLNE4NK;S]8JQL@,%@>@/1SY1@IP]\ M++[.;$DFG7OV_MC'D<2"G*892.&J<@T5W$NJ;&_F B[=W6D6^U]'<3C L\TV MJ*S$& 1ASNCH7!/.5"XNH-309V8Q%MB'[:R"XWO#2/3G3=3,N"D*WV'";RXH&"K(&VSU)W-0TM1QC,TF%LK)+ MEC0ADJ\W03!QF\OH;N7Z+2HK+?0#UT'_>$[.Y*+6CGIQ2Z2^B_(D0S+BC<=F MH,EP)+!X$A[RUI*BHM3I&Y$*R.U/%5^VZ:QCF?)^E\9J@O4KJ#^-;! DU8*! M>C,S +;LQ3#+OG@"2BS,O:Z+.KKZJ7T*4S5"@M$]]0 1)%^ =D7MGW M@._MPM%L\HKF7\B]DR:OZ+N=$(SIK@!@T4>EBT=-[;"?PQ4)YVG_8I,?+=5& M7QV\YH1R9DA\5:WYJYC:Z_ZED-[$5C-W,G'>DSCMMEVG<]+IDMR"?W1<\S@+ M& H@(W@IF/TY)7O0W13T#0^$7AB$86+)D2LWBI+X.W,;+S]Y+7 R>QR=TWB%M66,UZ/ M3)SY@C>6>A>^!P6(-*B5PS#53G\<&L1N J<6-FL8YEBPPU>(U($-2?'RUC>\ MQL''TO\P3DVYAIJQ%K]\?;$KTW-DEP1[7?:2S2[1[>P6?B%^;F5&?V, MN5]1 U##=)4->J0H;SJUFIG.%%N8S23+A%I5$>Z>Q*>S-%+"E9< "G"4Q8-L M6&#A%JNNUJP/D *CV Q+_W(XHIQ'/[416?L"4D)FWYJFIM[":K),OCPV["5;O@_V54Z$U_/8.K4/V1A7>)YVO6)(M M0::,QDY./FDTX9Z7@*7F4#A/9W,85N8K9H9:ME M6V)Q]5O893\:W_$>3.@_<<)NB$(>2:F\2UA]<6:VM8928%UUKY3^9+A/L@)Y M,VPN5W?YNMRM,;^O/MUHS&\NP"R]G=[:1O?>9!C4!DK%425.0MD3:W;..WI*AN!:Z-Y]3SU9!M%E?C/1:3 M .E=[J+LZ5R-JI\8MEB%&2AY&L/+J4HRCF7_1CKR"-PDU5S2N?&EYFXIWB8. MF+TF(=FL8;2U4&7&9B=0FP)*,)FMEZN,4_&#"F:,Z3$/! M>.HTB;%X:GV3Q@7_@0A#*T 02R%5GD&##5'5KZR7I0BQ)P6PU4S"BA9N.=N.><6(4.; I M[IGJOFHJ @SD)9RAX93B>G->BJ>+H=[U=5\^KO&VMMQ=D3PTY9*$0?5] JRIN*XHN#=R&T.VP! E% MBK5.#N4MXC:]HJ?0,14C1(&,*- //XO! _:SNPZPNN\B?M#T.]O6Y/65W;[1><$30K*AF M(Q)@A!+VS:>1?HA?7>-O?@'B!IB]7\2S M=WY5U@E=$0HG+!W#1R*11ZZX*WK3.=4FXZ S244ZI]5/:?%+HG!;@V53= M#P;-@+I\%&RIK$]X&7:M*&WRB4Q2M[,B9,<^'E=E(DIFF!4_2Y8F9BMB2B M)OE$.:K< E4(I%&EA)8((:]=GQV6'+NT^]$;K506/%%^"L<@2#2X0,(\XH+. MGV3+AW1&_!1KV=YR\DR1W)IO;*GML1H\GX\D0K,USH"!2GGZ,UV*"Z$.UX*] M<^?H$'.@,=C/9Z%-,TITQ1FTKAJTCTF=D=TB[^,P'_-NR7PBNL.I[>84L\(" M5J!*)[2TL^5.*3+/QB<;7$>_K-I0!0A8R-:B]$D]HXH<%P:7<66PNM):L2]7 M4B)GC^F0]%F=]_'-\4=BC-^F5IX'TXY0"'F_[,[I>HTS_:6-.LTOF,\ RWRX M?U;$-2F4+PJ9MBHOB!0FI+ -R=6GC!\5K7/(4:$"A#@;*T<6 X*N-6G&!QIH MQ-T94*@PN!=)049(*F;"!W3 MG%G>Z:?JCO)F1B0PY$H!K%",V,\8 MQ59]WB+1:LZC"*5C@JJA3:Y;D!0>MGKYZ.0=Z9.VTECFW'JD1!>R!&6^0D"E MX)9 5KX%=TY:?N'L:]HOE[KZP;%_>8*4W)-]E#3 UC#<=1ZB@RA:D.*8QBE*]Y]JJ-3D@ MUN5>,)ROV#EHNEES?BY=_9B)*TTD7@0;!E)CG^4<#1"L/1W2_T1CNP6 M=,ZGN/CCI.+>KY^IL#Z>W4RR\>)$]!F/:E%G<\LIGX@( 58Q:!28_UDVO.!] M<6@E9!>RCF3J+WEY9UK0U&_KEUUPE$2%Y4IL_CS.9O+1FK^E9'98?K$-&TRM MG%+3% 2N61!H1!';O*E0I#.W+B:5>)%LO1=/,ED)80MWTY"*[LH\+:@FKQOZ M;;$BV!AO50F52IS:KJDXF4L^E>NN14-@6?BJOOC8]*\?8UIQ8N4P-[3>-JW) MPU9PK.'13>!E0Y&8CIQ,=]26[6JHLNFM:Y#F14"L>BGRL!?*,X%Q)$4E5.-OL*Z9Q: M9F8V'/($-[]EDUM%>CH-K4120V6E*%!F4$[VLF48LY.PN1>>]EZ8;=N %O>= M#!GD$2=^4)-'ZF854UL6T/;]*><:)Y&V? KMC*F"4W5#;B3WEC& U-F43?:* M:3:6ST*&-1AJ2]4ZBV+6#9Y.V]HK=M63"/V6"+?5OX;.3W1JN:2-B:6++A$5 MGY)3[.(W11@D5T.<)R%.X+.1I.H.%U*)$!HH7TV'IEG]B02&K^A9TS"0?-C! M0 (5L#LEH)(/H/8A@[M<6VEY=-]H=&8[8>]A%+,;_0YQ_ZGOFP8WB J]^\@1 M_T -,^T&($6LBH(EQ$[]K^2I@-W'4)_@5'*E&;,*//MJK+LU/8V==.1Q-$7# M^*3B<&KZOS""A>]A5E$:H!4WP.PE=@=0P98JKF+$:*46XJ: !HD6"+SY;^[F MF7B3P"8$QMEM3!19L:Z03$HP**7 LD:B\(HR4H9O9[$L"Z^EFF5_)H+ \#A< MK6X@/U)3ODI"H2"795(G%[=*X"MOX$VR M%(%C@08?XON8G0UI7\C@WQ!IBQD,IH(5G).9:W M1P)/ /%1\)QM)E'6\Z5[PTP7<1N5YMJX HTG4U>(G"A++?!\_1%0Y!P MQM-[[YOS*01^_6K]3OEN9#9AY%QCJ2 ]?\.'%.7IST%L YI03D@:ZTQ8^B5KW[[DM<7>J"*MA58);=$3-BD$%I:Z01' MJT6S1XU4S658=(].45:[RH?#+O;[((E5#W)I;,BM!/T'RU&'*A%O6NCM\ZE( MDPI?,>Y[@<2&^%A+1(J*2N(9S/H>YHQ(61T%4IEA96YNQ9.X>PP_R(V=Z4(] M4C*:KX'2'I-BTR0*EP317Q.()$:8U<>12/)4EO8JZ9'](RTWWBH((KB M>SPG1C7&(U^4$E;JKCI[[T7B?W6=7V]_=U$+Q])P^/;3$+8D 0T] 4D>A\?O MI_30[],XP;3_/[ SG!3$7\2])QTFG()IH4KHG+*Y_9A4ALD@2-C![67J^U*" M0C&#LGIGE>A7#U$Q!]4E5&^C'WIIRCMC2S2N'/(Y:9QL9C@2OJPCP@]CQTA5 MZZN"M-6?2VA$A;XA:]+C(5O.A6=D1ZFQ8Q11.".T M(5B&KG8WFPVR2,"E#TK'J+ZD-3?=QN%]0!+=;[&5IWJ/>*EW%\/G MTK"CYZ_C9")AW?;)9;:.?&!90-J9I>KF1+7RZ2P5:J4.@ONA<]F[P[."T&A? MD'6XS*Y$.R4%M/TH2STL&UT1R1C;2)LW^:>XU-93.C>]1 )5R.HI'9A6I_FG MU2KOU'O))W#MC>&"^6;3WG7>Q='?GNO\F?\[<&Z_7,F\;-@:YU>@Y<1YE\': M;]$Y.\3#'G$M#990CQ[(:XA"QUYJ&'P5SJ]!]!5X#@QI-)I!WT"W)*+94IHO M9\'"2?G_8"M@?=%+C+!0:F_B&33 &&0F56;WA8@XT9%>-@[\).:%IBK76'PC M9S/7WX&F% H_#X6I/5$E)XPUPJ"*/)S9M9G!=$:OICV=8)L!I&&E*$Y"7D'; M<>D)MGA1'X!@8I91^;*J7+""57[^?'7SP;GZU76NDK^I?9!__.ZMGWE<18F# MO[UG 4:?'-(Q3MCKI9,=C70D^C"*"M>]+T0,MB!DE.?GT^]_:"^T*J$*$RRSZ-%;VT)^?P]'-RJ;""B3M3=._4B7JI(H\ *X MQN$(>M'7:>QUWF;)]B( "GR?SR<;V4794_7MF=3;EL 7%5R MBFM6P+@'O.&/6^>7-U>FM2]\TSEI7]"K^@+$3R%)3)58?H)+/OH[^&O_:/_E M?3WICCW84&QC0C6EW4C1K;&; JYZ!E$R-5G>VN-1X .B^JT4Y;9'OB5 !;N= M1N04=IW?XC&[DM^#LNQCKCR1_7/>#_)4M=O$"@VT0%3W1:6>6PG^12%7;O9- ML_E93 D E@)+>+7!IZYJ1T:WL+Y\;ZG7T:?0E[QX";?PKW(W?D)!% ]!'K6N M6A8SFPSVLA>,*E"I,XBLR;#T6 S]R(%M(:WNU46BGDO2]4C\;G3WI%)66ZGV MZN8LZ@#P!=X"\K?<>=KH6_I3TZ*!?HUPRX0P;Y>M% R THUS,-?OQS)"-*^Y MD")-G&#=EBJ N3CX:$68)Z#?9NBD+L+4)]P.T>CQ=BXU)T[K,KI":)+ US"R MS95JTAM&5S>:WE2\G\:PG+!DXUD1A=5RYLE@8%IK%$C]U3*:@-55UIF!/7U\%0I(KV+ M_,_(^IJ@)(38=5$U#9/N1C4H$:,6VED:>23 ;(S)(B+?3&5T7T+/P^6 4ES' MVDES@>,IRC&WV8Y-U@YSFU\XN9PMJ_6FD2REU?.V.E04VQ213*%;P4*"GYHP M,N$Y#&FM*@)H$9@N<)UH8O*/Y.#F]7/?@K,LE'Z5[Z7*%Q/?28=]R;-#HU4? M-AEKT0D4K'M@FRX6HJQ[ZK=8Y:02TDQG1,E>I3IMPJ#_VU#R5H-W4[TB8<:* M5Y]"^#*YL8<5-%7@.48 *VU7NC\KKP3JUD%0#HP5KQ U+5PV1O C5'Z%]\Y\ MA5Q@W0EI2;>:P>Z7.,<*D,2W<%#NAC33K=RY^$/+L=$47> *T4-Y<[B MDAGG6&>&6*UNY#U!!_AE)%9U%]SZ&0CVJR#8E._75_JPZW>XY$W*&&%2[RB MNS#NLXL=& Z[AF%2DE8>>&<,6A1EM6$.8QYAKWLQ(/NH\(J+BKI,-RMK MLUP@JL2$"L@'B)7$RBY'VI$YO5RZ\4U6 R+7X^T2(2/VN7^C'\8IMWXS.07J MJYCZU"#3)AYV&[1;]KC6K"CT-E#EC>DHSP;Q P76-"'T6WQ4$\-0(4\-G4D. MIH3O@%XPXG9,UEVF#E9!G>"+!)T6^AR1M0(T0(PS4.23,:JHZMT6RU,"B_)$ MY!F"S@=N)+P08?>3@'#D]"UI8,9BTW,# M#X);. F)@&/EYV!>T%WB4Z,K%DB4OJ9BQ9350)>L(^W'>>?$AC@#,7-W1U:M M,6=7&MQWTC!^0/'#RO/,(]ASB9](J+DPH[CC9MJB74N60#8#I98C%% MN31E1,2^[!?-3>D4M!/&'#,*$Y,APP6FW+05+E)7X6'CA4812:$DL I?8A:V M\N!)749N2<7,"UZ?V48$A=X#WEAP0"Y(;,@P[7!7I;0S_27G9"RKI?2]Z"LN MP"?82I\X(0Q@5P82R9(_DAT077.SX)+8M++JBO NJ2?:^IJFRV>%BD3MT4@9 M9?PKW6A-AYRNW_S[^*Q]AIO)J4AE"!K/@IY6Y1FF,[AU)[-5RHWR[(892I.# MP>MH%2X4V;?H@#5]A),TDVR(RK?J*T3[V#GIM%WNEGG'.$*JFZ]A;M:XB 9R MKPUH=V7#$NTWE^$4>19<1357Y[B WBN'G--+!*^-V:1B>C[(TL++EG5F *$9 MP#<9J#KW0=)2+]:7 D*%2GA*S.DB<9D6GG$ES*GNDZ1RK):^VX%5P.FE,4 > MX]0_7?W['0K_?_[CHG?1>>T6,> MAIT(D1+,0)1H0+/!]!/Y9C&8$Y@>D)'(6=%(3TI$A%=Q^XQV1Z'>P4_O) XU M-BAUB.?)WZW:>?=.G*]W,AW8T]W.))I50$/ \1K ^3P>QP/NJ*FO7)YT[,@J MOQ$,SKVWJ-@ >T+RM;UTH1CHTG M/,F$DEMO$3J6SKO$Y7XC,-%&\=9O_!8D[6\Y; G\7EZ]ZG6__79K7B<]_-:L MR/V>.O\!I< Q9:ZL(.L I@IU>DA1:A1XE S!Y9,9C2IEEK25^VG(^1;-O3 M.:>V/2?N[/)@JO(QH; N[;WFN=I3+9YYK R TRQ]2P&'4#1A*OU#KGV%&OA+ MB2N-RZ!I8+4H,L1 ]<:3.4JF^N CP["75VX2Y?AY7C1R'58<,)/I_2W&,H88 M+I>E'J0*^O%$]NZ@E&#]#E"RB_QJ7G(=C\:[>-@J4>H,@EI(>B\-S'X00*H;(>XJ]KG_^_$$+2;59-CO(Z92424M,G!G@,)@.4K5Y;]?^\')^[J?ALJYFMI^P-0OI+44=9R M<"RCM6[E:Z=;H:2)(T4N=-2G"7_N5JZU3-^ 27= MM&!K%2-*RK+,F8S*"<+1;,2OXNG$ O%PCHT /W8*YLI,HB7WE,BZ>:DAO>+L MP,F06D4W+NM#2Y^KF;D:GD@G2H_4C]2K=B+A/U M5'P3V__[9DLLU$@$E9"IT*&&'07Q@&-%$A%8J?#OR2F/MNRRN<9<2B1@%Z?+ M8(6V80?F:V$(MVD^]1AI%76B0\[6,8AM1/F1R]/N_$UW6F^']]I$3BM*RK*= M%F.1/[FB+@JZ6>9:534Z#%/SHH'TS.I3LJ27NW52M-_*1IT9!8-IT&)&:QXE M,)9$K!%'X]NXE2@USV9A'59 &#I$##S)\EVH!50?5TW8!M*@4Q\9,Z%EQGU 7- MXYBS@LZFS,,VJ#TL72T9&6OY.OR,I$A $[X6VRDT]9Q-U>GUR**NEJ_EE+YL.L],,. M3T1GK)T&- &%'JB0L:&CBK=3TAKQ5][3GN ^WNS\]I^WE,$EM\#$;3,PQ] M Z.D D@$PORI)9(]:WTK6\E"^#]Y">?J<.;T%ZK@30NC3RU4]HE*$S[_14E+ MJT"Z=G7+1W^0UF<'2T\,1 *YY^\[ A##LGX7JN/GD5L*$8J&G;[("?B9L2M&GMQM MQ$M_(3[AO\Y%U!-%U$^?2!'U3)%W1XH\=\;%4T,LVD6%2I0<43MQ ^ZN:*X6 M4*AE)7$\J^DGSR'%826OA5*/5"14Z_N#Z\L &PK5LN@N]ZQ9QF#BE6&6X?1Y MH1Y(F\LA&-Z')=5'/U17JVK'S@*28%R[D/?XXK;GUGD5WI7GFOG,*7NS#2MN M:[S5"0A2K3=O.'.(US[-]GZSF%&^ZF$GC7PU\ MQ,D=.[BS!28'JEB'I8I1+BZI(.#\4.4]KKUBUGF2[VN2Y2BY*I?DG68D'V2# MATZ+??WEL;^:C!1E0E)3W,PB2'[D."(&4B7YF.T,4_)HD9V7Q'TM"9K&JY(H M#MDISR<) :Y$">-]7W&HFM4AM/9PGJ][]@T5(D,R)3MN%5'4")(&J5,P3Z;, M[*UT:",5XAKG/ ],XOCRR<'S/-_S/&MH3FGE85LJB?*[(!GV;HK:<81$F.X, MU.+YZ6\PP>[(5U<-&I2=1PB=%\!]+8!;.-M3;K,"V9H<026G[]%=3ZZZF1/" MH?X<_(3/0,+\BCHO@'L[F3V^6&''>2>&+]-\X!7^FI2/SGJ2W-<_Q*33;B<+ MP%WUY;5E\^8X\08AAYQ9$N/5!0"#U02(M7^[&@'[5AY* =QV21^Y3P MGDAO%JM M:"1T51NR=(>D.1YAG>6.$/$? V=VO!QT'$PB,>;]C@&%#!G&R7-+:)6#NZ#' M/9H5>..@;+#Y[10Z'I"!?VY<2/:+V@K& R0=&&F<$N$.H1W:Z@IVF8JM0E+Y M?/&R9\3BO_^O%Y]_],4G+[3:_N?G?_K?KB 4C2WH?J+%[3KJ2J/?1;O+5,7I M^68FB;+ ]L3N3:AI8_:U4/G.7ZW(7@K]*Y=!A+L)]W60@T#Z4V@EQ.TV! !$ MRB5,LLDEW3AJ"2HD'82?Q"+SA(UP>6Y9M"R06GD;'<_X!LDGNI!K/ M((EU7,=R"=9#H-83QM:YR63\/*U9X$.(.D0:1_VEY0SORAUCPRC#WKJ]@B$+ M=#.MUKG9/;4I.?&>(Z&HP+ T9V!>49Y*XELS(D!YUH<= ML5:V!RFP M%%5R# 7L?A\LK/D@QROK0.2O*Q4JC(^'6IT.NL5EF+B(N4++K, MO/TTK#9:L^%97Q^([8#):\8]^;[' MP _-$::*YW-.T>_.*/*4J%'NZ"9\%7U[8+:W82-!3-?H9(D8X@6A%$3Y] MJ.-+!W#T9-U[CA9?M@58:@QSY5W\DVV &1&^([MI!4[RQR&K>2LZ:8]>0^;Q M"G@<69D@CB#\9_#+[J9E3,W((F.D?T:L[@BZ "R[#LHEQM[<-@9%1,(,-3?E M+I/3F$PYHPX7\F:9G/)W=TL?5$BKL*>JISV')$"^:R_+EL M(??#9DI,5[)3C&E7"Y718][)7Q47''\[II5M:X0$8DL2C'J M*%#/5OFO76>:5%S$#YT]ZEDLYU!\$6GY;E0O>:9A'9[K(?6,2E M61(1B9=T0L_GLFTN*,S^\;+:@H15HVPH;S.$07QB MT?:Q![E+0M5X%(_TXUBS ,6[N&0,5,'VR)3/&@4BGU\?W)/1F?VD]N[=BZ*T M4CBP(>J(A*.H9L:6AE"5XK8']E7R$ GND2 _9"O*["^W9;7+4SEQ)\+[B?>O M5UOX)UUT88#7;8JO1EPG_C77(92%I MO57[P"J4/PUMZA_Q:_3YXFON:Q>RW$*8<@7=$TCI;7:=LK.A0UB,<'*\/PK; M,AH+Z%9A6X>&!6_EBNGC_6CPEL3'4Q_TE9AJQ8V$")CPHK<.U8%9672^D>&J MVA7W=(5N9N\60FW;.L/+')!+B!*/:GO1>&CS/+CF'+L,Y%>8L))+<#!*%2JT MZ-,*<@@4!' M-)WH(YKL,C%@8H/P7+5M0Q1OLA +U'5YMRDEON5241"-(_,JV3_F,4L6\&:K M;(0\JAUC#;)V0Y''44N_CYNJ +VG-$K(^^#J8]>YYS)SDUKNUTSJG-;'(06_ MJW*'5:UD06EI,-<;JH/_ BD7(S>S?=T.$EL^2Q M;&\2.^LZ\^@]?< =%^HW]C$&=\S,@2RRGYJJ5F)%5M?"Z2K]SYR&T-$'J0OA MX\LXLL\77\U<5 XVE%20I28OKP:Y%*,>Z,#CR:!02)QE=WIBJ 0YB5P^M'J0 M_.?QCX//8(@.I1E%0;J],4I9,IBB<8=(D9T@C1<5,BTP9IV5-(F>MB/B5>_& M@11K%78UP1(Z5SE,G? JE%J!B9*8L1J<5(X>!#7Y^24_9RXR!"=9V#"#"],E M4SVQVNP=_<=1#06G 8&/2"^--U)<2$#& (82Q_\:&70:]?6Z(R5;D0XHWPM: M@U>Q'DS&+J L2(D,O=AXM/_O2Q%N->J^*U<$A$\\]\ M"B_^_*?/00X*TN&XICUC WTHL192/&CBN'R\X7Z;!M "@R595I,SGPI)JCH_ M)6XJ$%?3!G9K03#Y3+8:G@FUTHU+0^GP_O'=-YVC6SR]8(S;9#)(PN)(+Q(C M5V1QX3#@GO,U0=GYIUF M,#J3_-JN?08D%WU#,&2];V%&\&;BC?&!3;IQH^<_OA;UF5KR1^C(.?VF4*+( M= _%B@MV=.0@37=_MNN_;A2F)_S5Q1'4GSZ#2R @*&]9;%%:HQ M0 N>NW3Q*^,:(1UZV*)< .A<73M17?O\B537'BU\';3YDAME,55AU=B#6D*8 M,-R6:4D;=.+T&Y*5(CY$K:"*;/B_B2G7HU^_>B_F()&@XO?_*+M5^2_'=Z;% M+1A@E69A%S1M*7MXBT!IU\+I(AF_.OK68<6IH:N0X45N?^D97AUG M.PRYNY)F(&L4SL0FQ^DA#D4X:%X+9YY8$YDC&K+"QWX-KWA;&)&P%X5D MINWTE#31>BPGQ4\;F(B@ZES&39!#@'#3. MIH ER!5DKJ'S;,T&*C:@GB&EI6S(?YNIG*:M-BR=%?B!]'4,M:]]&I9%.O(8 M/E'%!$>8K+E/HTG&WNNF)S(2O\DP';L!%P[N-%RSQGGDFE(S2+LJ-&U-/7B[ M:#_A*5*&EU)VRDU HZV3GF9AQ)B7T>V;6-NNTB%E[3SQ*'8^3>#%Z+C(S5\E-')0Q1\M/WT)3>>R0L\Y*'1U%[N@X='&PNF($ MD$^R<$X*7:YETM2CO-+8N.SUX.LG8Y384;%KI+N MGU_YP&H*7K+-YV6'R8YAXF[QXJ-G_XWDP&CPJDZ;>B6W1*-XE\=IR3+>?82D M'+4*VXHEL64P>'RD+OH;#$LA3W@=T@G0M";@FVSO7:QK82K=H_#6[IP>+KE]B_?&T8*:]MCAR,>,V^)* MWR0-T*E5Q[. <$M2+%$.B%L!"/Z(J %M)M\1\,H/LGJ67$,4 MQQ*4!7&)H@D8>-6AYN!.BEE.:^2:*Y5"-2QI0]WK3DL5O9THR!4C5'RF"],H M4BN?E\S_'='%Q[]]M^P;8CC^^".BC+\.J?<]&D-J@Y6U(33%_,)]R-7/3\)_ MQP6V;\OWATVH+;1AX=_ 3/Z#$-(K?O:/LXY>4_DVFN!E$DMS#;N3W8LM=^ZB M>7@TKH@EI6TX(3HH,NZN5479:RG1LN0:#JI+R+2=:E$Y3^%]32$./6>_6&V5 M&"$&\;O\?CM/T<-/D9;5EV5W>6)BFO8\-P\^-P06VX5CV \'=-Q6AE0B9_'$ M67VN%_[ET__\8]0+?W='ZF7N@S,Z-X]:"U:L,(#=N MKTZ-T$--A\FRVHM^4)>YP&Z'%-$GH$A)B@HI#$_9_+X7>2)#G2X)Y)9Y_%E? M -(_AN$M\N:Z@J'*)//&JJL4*30^B9E+>!2(XWF^;0PB,XI4,AS0V M](SF]!=BA?AR8W)].KE-;92KKD-BE-7H!NBP$S_OP;[*R@US05=: Y/5H7F5 M! &AE7H$!*)HR#*SK4"K1F]3^!L-250<3^>TH8MK!@JS%'-"&EYHD&;&82E^ M:EQ/_=QJ1#42"W'=+ > @&CE&J)I3C:&R]&>STGFC]":2GS*Z9PVZ&*':XU( ME*G ML151CGP_:#UVAKZIT$R./ QC3(6;PB,_%50X>=)"P;"#RI7CWSO-FC(M%"'2 MM!>D;P>E?DQV3F^5>#%F!(PL%Y<6D<+LC_0SS2-B=1N-D%9"[M<-:R[7]BFO MFUU:,YOS*%Y7/DLFP%S0%C;>8 XN^4676(Z3G*[:P,DYI*5=UEDWI>*"QZ7U MDBE*N ' +5;S.=&O\?)]7W:$7]+G:[?Y\V4KU03\HU@]+],<.XGE':Z>X.<4AJ9 S!S M1@HSZPP=ZYC)5XAO. U)PF_1@DI/4$,69T-L@B8;I-6T@LO,"D$TKE=&>.+F M]"&&KJOYI/+IIH$+!/MIBC3)_TO/ZQ6+?",)EZ.ZU,J<)'CCR#^;:Z-[Q+O@ M>$]S+AGNFGR5T?/81'G/L VJSWA0<;[Q99EF-UV:"8&.K &M>&'(A5/Q(A0S MI;>*=>ZI%$&,V"\52CSAY\[J M[/'0JS9X"M]APB56+$UG<('F';TS5]SQ5KF@3Z@PI&4G X8#\(I]2];55"9* M =.SND03O<>?02J+%BT#F/_M^Y=O%6!.,"C[OB)8MD(IV9)])P\#UZ"O^:>B M4"!LU\_L,_%O([6!EG7)%%KHP/>^>/RO(=HD (3@NM-.PRF<7@8"9 :;<@]< MR6,Q(:G34QM(;==02NE*[HGYF[00AJ2'X^?#TZ>?W"6VE'G5%IG9_*#[,(D" M)X@ BZ'&A\93D/KW6N50XU]I?.D0-R">#%IZ.'C6=$9O1PVI7G->D27QEG0; M./^G.O[&SVU@*M4JP?[&%F1.7*]$,N>K3%]N;FAX+*R5 1<+W).TJCJ>?%S= M?SE5AJ:KBT7)9L9%0EB6YLUW'AY5,6*$ [%=+(!5B)5SB;-[)VST\BR@1&ZV M0_2FVTI:J$@FBU?&L4FRT1-CUZA\2$7%0+)/0L5I5!^7)<54?0?5B.>+MV . MD+EP.]-3"-0W4 <4QWD#?*-WUGP\8[L8JRB](QC*W)I-;1??@3UW"-FHW\#I M .Y'&Q/@M=R&?Q'4#B@=1^GR'MF-W#G!L6_^UWWHJRP,!LWSL1G M"$S#[DZBRIM@:S!E'$?6?%]8XRI>&CX/:D?DS?AJ>U^^HW>"/NXCA,+]@K8Y M]LD9G;YAL",GELAX4 CU" ?F5F@!UGB';[,9 M:M](2'U&7R%IV=X+1=7GE,2_1>9_DH*GD7SV";Y-F2(*C"1O'GWM0!>@4L:+ M__ST=U2U^+>_T';N R63(#R;_E=-<__O86._G- MJ^__XU_Q_^%#]_R61_?7_'L357?5M\WO.O:[9AO8"UM5Y:9NB ?(Z[U[_#CG M;FN&#H)N!XU\HJ24E&=Y1GS\V!,_DCI<">Y&\J<"@",W)\OA(G/8!_LVS3A? M0>B6TB_(DL.O]]T9 H4CQG6_ZLN%WA\IN1K4?P-^T?">I1D'@J:>193F?7,"IA@^)5=EX-+ T\MO#,\1'^J!2..HS&R9@T3\*S6^]6F.8^ ML* X+B#RD6W)SR'EE,2AQ?D]]^DQ^^#$W(P7M-Z1'8H^+[4J_[EDT&.$L-XV MUYTG9$D,(>+XI$[_;%?(X9N(K^L,>VF[):Z7)3]5HF'?M,VUL(#\8@F XDC^ MU[*1EL(_=YJ>JAS_Z8]1.?[]G--_7L[J2CDL=),"5&&"(I82RA8JL9%7>*.H M@8Q3?WDHYKBWG,S.4.\IXEB*'H_ 1*4+PVF&IOS^#8E7EVVED@2]UK\\SWEA5C>.V*YA5;H.2;WZ,!U%/2ER MH3ZMVO*\I.HW)MMFQN5+ ++%FIF7:F7>FF#)2)^G9H..)>5S2DDFC6_G4@*W M6*[H#,F6X07Q@A_VTOH9(]& [-Z!HU%'YPYU(1K2&*)I=^)2RR9]DB?DG%_' M64'SGH0,WN=I,U1>U2W;X"NV\P,V;FNR[=L0=69 43HUPJK^]6$O"V<'&2O_ MX'&RR3$!2U*+"N F&UXTLG$;[HH+H#P.0\L5CW*Z=BQIE6XR8I>CBU[1[;A! M]Z=XX6Y5J:#8T56>V G)P5A\0/@-*CB6R\.'HV*/,S^+I"@OS3Y4Q>_6Y?+FV8UVBA:M MM2Q,:U#B]6B%B!GS9AZ"LV.I(8@SF\<,Z8YY[X1N(Z\DV ;XKS\T_/#W1!FZ M8L.,^3JR5.#69XEC #\02H@>VQ9V*I&?#:V5._V^DOTZWAYG$=U[E!Z=5=+) M]4C'UNFX,;GSVI&F^YE37ZIHB-6UMXW3Q2!Z:NBT7JDH7WR$\R*Y3Z/@BA/C MLTL#YUT(7"_NJ+ M)?S:1:C#FO9U=.GQE%)U ]$I4*_G27[D1_Y-1SK @-$[3DX _'TEMIMXR?0X M9R_@X98 9H-FCML^&04\LO2)T]8[^ ZFYL"?2'ONF=:$:\=*Z850[:_?O+PA MK3(;]E/@L^W"-65RSNOAT9D$C?)X$H.@+;QH9$S9G MXO5L8*RE8?9(,MG[M3<<(_YX::7X@UN21]F^]ILN*4&>$]3-*IX=]V?7)&]- M&!BG1B4M.'Z]0%7I#[T*?N_)GN0#67K:901_8<0(!%NFA2-)04#TF(0Q?I<8 M9;5/YE:I!AR 6?^"#S*>6GX>]76IADQ**QY%"\AXRD-S]P6QZ L/<.8"6!A( MDY!ZCI387&B%3ASJ(*]A]-V1BHGOXL^G><(E4RQFM5$6HD8I1W(=17S M.$KC%Z<6GEHAUQ@RXQ'1PEF'>'V3<]7>NY2N0.JCIN>@8#AT4O.V*H1O\TU\ MT%HU)RP-(2+*MB7\1;IJ', 22F2=D"E^_]6W;Y]KC\7<*P%HYXPK4_D<.V=9 M=@DU'=8JR7 B>8V?WVA#U'QI!9")5LT P?IZ*J*U2N3$8>B?I9K.R!7%RV43 M,I-"8LC?(CZ]M@*NB'X<;(5(+/,+X^]\#R@'I1($6!F[RLR2>+):S)]#3*[Y M1I.'R>2.R<(Q**];AIJ@])HFUW*^+G>K]!B45;KKCA<='Z&ENF-A^-4H[*"2 MXJHBLTSV!ND&I):Y54YRRX47&)EI&=&>Y/B"0ZW]>,W0$_]/4B2I:M> -@(S MU3S0,W6V7U0<5ALW*0;?"U_60YT[:>ZDOS(>0SDP=^B&^?JF2F*$7DORG! " M0Q. ,:Y^+S/X?/&UP&P(?<8B.)1^BA=%N=87"O.3S$@YY;28J9UM(5\29V<3 MCB8^U3WM+IMK*WN J,F).TNICG!F]$[Q(WMJZ[PLKR0DVA#0BHK*ERT4B.82 M(KR(*]:)S9_$=V<#D!?C8^X*VI([-"TW2DEOP\R7-%(%"+&%BCH^O^# Z#!< MMD/%Q=)0DRP?44TQ6%N^2W;R(MCD@<&V(RC>0%7MIK5>Z/'&EL8(:+C3O5@^ M9\6],-IEH))1GBUMID!839B?*^6C)0VTB;'R'.^JKY7>6C'RWX_'<=%43-HURO]%.)/WS.XC\40U1J MICX2P6K%!CZQ@8). 36FCM-Y N]M A.6<3I_/UNOJ@+_B+.7)N0\'_-!C OW/1>_HYBGSB9ZK!IU 1G*,<\H\:81PJM$5@MZ&DX%$[W/B^O^]_N MK[__:\H8Q&")UAU&_SSX]S7XKCI$"SX./,7]#EP]*3!);*PL!>5HIQ;"ER)' M\'GF[H]'UL4QZ!XWIGW4=Q'$@..";7^\\L_,0Z*T5ZRC/5\1CY>K>DLTGWVN!SOCD=Y2.T#X)+;) MH48FSF;%DEZD-Z*MI;U4'<^.V+U.DB1*94IL)E+_A3@LJ##';55S58HJ2#V) M4+.Z.;H'G@W[\SS=6P2*WQ&39K+0]; C)8-)(N#L7=[[,;E7WJ C@X]S,)7- M+PZ+&U,(JFXI*N^]X?GL^L2P?Y[5^YK55!7"!$:OHV*OE5L=M;+5-_$AX:VT MS7[/,!C1,#P?50^;?1^W]5DQ$#WWAGN?;5\\3].]A7]5MR3J0@[XY@ ;'3,L M#*3 &+H0:JWH,E]R )_8>71"JI2.P M8C]1YRW&8,O0UD8Q1I1S1_J(V49*KRI]@)3U=J*L%E=$>=4()BB$%<%MV?S> MG(!/$M9(Z"6G%0@PH1,YUBG7+';-2N4#-6E_-NGWOJ2(;MPQC"J1W,Q49]RV MT9T:I.^]:E<<,TI?2R)7!ZWAJ$^^7.WB(8\C Y@9=N+.\WM?\\NHD\YH"A*[ M)2;Q]?=_-;!R=*K[JA\$9MI+)IY%IA-6[0(%-@&,$:Y%NAR_I%KI6[9&WS9U M%=<,??"O3;0)B%C3A0"IR7HCE>A]OK W ,E:NFAKAN4A?IXIGI9M=4$T4!?Q M"#ROJ_MS!?V^YT4A+9,X1@B$)8AI;J4^&)$J%X^@+>Y$C<%72/)+YRF[K_ J M6>:17"J1I$H$O*&4$I'0$GY[JCX#"#,24YP+L?W,H@,N-& H]!"@LY4Y!4\- M]?EMZ<#-;'A$HY3$1I TV(:2X(4%!$JVI=&-YCPVK8W=+'@DJ80XDB:YLKA% M-49[/0O&/8K8?[YX:10NVT-Q%/U.MW=Z-RXXH+X"@G:R0PF?CEH3+#2?$+XD M!5<>#L#H<17V._<]RQ1-28V:5L9IBCV?>[-,6_3V'9W\:Y22X8?@(&$R1BN\ MD$N]'3KF.BPC7^Z!@FC9="-@+312<>G?G,7^!??;O3(?^B95,SM9%^'0 +W>=,&8%N=[))DUD<'LVB>G\M5'GSIU^4_(/9%\ MO\UC8QSGQKA2#B+KXV%:H72M'H&1L8HAZ7B%QX4D11T?)89%07M&[*]\Y98I MW48AH/(]GGF$[E?L4]N4D,G@AE9N.9+>K?,T/OPT(JMJG;@BOX,>W2YKAH9@ M S'==W$/7@PL5NW MQ@@^QCK/RL/,BDMV40P679,L%"8A5*E$A+-1O%]TV]&"H2E;(1F![EA)$OND MEI\V;N-I(/'KS6*-=FIO-\\S>J_[+&Z9E>OD_)WV.\%Z%L*>5\5SI*8;5" M1GCMD\S*[&%4H\JC<83#7J^)E9S@/WI%XPJ9[#7J":H/4@(YNH8>X1R>-%1O MW#1E/8NK=MAD6W7"_D)=B\3\\H#$+Y.'$I/Q?/&E$+&0#@F;I)%\@_WLREMS M$B5+L HIVF\KM##R/""0&:]N?W'W;*PT1KZ1H]1;1[='O-L6H=W5_]^&Z\)VY'[BL33SG=:N>WZN04TB2. M=FR1 *PF@/A!6 %6KO'<=.3OF=QG!/&\#Y:?)V8FOF7=%+12ICCSHFKV1'-5 M+L/0FPF)O\VD2+&4*T7A4C\)9.I\*J@+/6$O <0:SV;F+E#N?4&MW(%G0JN$ MSGSS#IC]?E;27I,FFTH$Z0.H%IX]$)[Y@F !P#\0S7TAS=92&KWDQ)1? >L* M(!!:>:M R++MM+8*RD("'K?7#!F0A>CT8!;-19RN*TE[XEISG8PI)4:H U)1 MAW6-SG/30D!8Y>2N6 #IV^A,$6"Z6 ..6_]"=^&JFP<<<(V=M0F7TGUF/K/ MF:C)$X%W(K!3;@^=R@CN\G4#5XT2@_%9U-.:L8)"(XC=*<(4C1B'HSMM/+[Q MW8@X:PMEXKCY,YVGN8-[\97P2"YWM>IQQXSG@4O<1=V-B>^9LCI]9O^1G M5*IF75>U471]MVYP6,WLDC@?NS2"["V=XE9U$HAQ84&/-$POC+."-Z"Q)2BN M0]C9LG.3F!CJRX8RP3J7#%AA],P@5UQS%+ 8=7J/=2$9-V&@A9LH29,6HZE& M9Q[]C"?/:HTC7K\12>D3L^Q?2Q=8(K(T1C86@A4'07D6.=HBC)B(45-AF@EF M;^<>..T\Q: PH^:, 32@/Z]H:=?'S4."@-WJKMS<2SRGL(GQ)24NXV4@L:6C MY#R".IMWVF145 2#+F^KS6O*WR3R>61-/4)WX8Z1X8^9MZDPI%U<4V>X) M@BG^/;D&EG.8-';_'AP1K $=O M+Z#^7,Z\'H(8\$<#8_SQ1Q\5<5X1Y5Q5JT$LDPZJ$#W/7R8#*]]X(5*@I"G@ M1V;\'.ET-V+?L4DXS!4^*C)AG(?L>N/_CV[0]??GB603Z%A'KQ1)!0C\2"OL[W+:]M MMZSIN.AI7Y0+5D*)RS>U(42+2A^X(E $):K)"H)W<:B3+AH3KFM/P91-1M/R M??F>'(KX842]S,T.GLO!U5K&7X./!QEL.=N6J0=Z%47) _ M&#P=/IQ&]LVXWV]RL$'(J'"R!ARI[<3R&6<\?C-S.G#;%T0)D LE%G,*FI&A M$LV 9=4NAQV1A"_):]&)+Q$:"L Z.;,#U6&:5BH-?GB\X^+&8X%!#NU8K2>^ M-22*U3&*+A#YZQF)+%_X7P.!X*,W\P@]SI.;\:LD!B%1\I$U(PS4\L(%KQK_ M=UTYIE2Y13J@!]3"S0'W@C2[?>AY_B\"4D2.A(\=(6'WDY6XFE])MHPD#R&9 MKOPU", >*&]9L6;[7.&EB]6\AA&..W;(]QEDZ?2M+QA2_2)DVJC,IQG?;Y755R!_!>RB;AJ3;;7S!M^10;$3*RZ.M,+.9T9 M*TX\OJUT]^ -X2OOK+B$X2+OPRJ&46VUM.7D)X/6FWEU="#A'_%ZQ2*NAX#\ MH_=*-T,)-U'.H/'QP)YGTJGQ(;G=1F\9_4,."_JD-/YN_)MY'%>>1.>STF9!%>-?&2H7V$"^\FA^KCCUY\7"Q> M-36G6I4QEY/%,'=T?-&X'WMIY&>[?9PV@D#0>2K9@Z-CQ^;)E=/C4ENFO']$K7E/+H7^1R<,Q%"^>;QSQZKB?WJP*%%%*DNE+ MZW#10/;15G3QM18?..SS 2'WAUA--K9Q9]3LX\IS\$/YBUT$2Z;K=2F(I\,M M\0WTV-07@5+"V1W(B>S(]X@^Z[81YG'WVO$03[W/\M3DZ]. 'D+/RJ%]+[O9 M#7S*%_B&S^9=D&+,_.AHQ^$1\ZM>CV5 [(O7Y'.+\:[X\7@]<(+9DACD9D-7 M)<"E%]Y!2XA0P-2L707IB=G;7WVLGTS6K.=.U3Q;\_:'+\7=C6:>RNC7=W^B M[N392MIPDK+2X$<=@6/+*MD,[[[\AW\;>BASYQ.WAR^MVA$FK0\K6+&Z"[!- M5Q7DUT@=WMM%?['_WC>O%E-"[8SA__9Q$/5?*ZZ(K?TQ7? MV!4U.?9&K_@]7_'_R17?R %(^P6,Y"ML?LHN6(I6.I'E)<@3'K\FI><1S;R- MT3 _U2+U[.O^WG19Z9X)>M#W>!63*';_P\=HINX8C\1UVPY[H^Y1US#5WS:T"6N&C&RBOT;Y-,-O6#X-<2+# M1.)7MLT%<5Z&<@N%62D\2O&NTO5>9>C/RXIPJH2+]0:QUK!PTJNW6YI]HWL\X:$# MUH+-OR:1D#/A99S)J,UP1+D[70RK3> "M2[^+:TBRD&JW<[%4JG\3&J_*LE+ M1GSR[ =!AW3C/>$(N+$7;-GS"T)S@XU3>5!O@!+6Q,(GU5P>+>%BX6"C/+@= MPR.!B]SJL013M&B;H:?"4!R'I01[+^/7*9QSN: [V!4&$F\'(GD2!Y)<^[H7 M2"SRNQS0CW+P[FHZ*U3B/KY,:!3HDPE<0X^6 >0HH2:5W,YWB'$)FQ3:EUXQ MT0J:#I@;WZ5:R2EO8L+;\'QQH]FU)S4O'LA_.'Z48,N9^35<[K)XN4OVS]1U MF^0"\!=/TOWG1G6'!0DL QR1@28X2UASL!#UY)#M^N1 M^F_CV$KR'T%$C:S_VQXP$7=O%$ NAYZ;(O2;LO (V:1) +0&._/4 MM.*\6371J5! ]YA(0-QO=FEV<7[BZ'6W6I?@ D/!D%)>\9[.CI,-APE'UXHU MY!V-)80D$%X2(@I'%:=+Y2:"4*D[@G-,,@65?MB/9U?(F=@5\]>T]530&N!( M(!<5DV"@G_=I;WI0&E ./YQSJSU^W-YIWT-FL)-LP2^'33["BL<=0]MI'?N8 M%+F#J7>6[!)?,#I?0,BVC!3($-U%1N'6:<&)P)+>851X[Q%.9(->E =7K?(] M'8XI@OO&PB.8QAUSK9NQ ,8)]V)?II4]>"6E,C M (F33]&5%#NG_3&,\)X9$!LM1YMLXVUA1#Y40-/H.5QK+8&]?2G;!@"@NCS_ M?] 2B"7[N0>:08^"A.A\2K]0Q2_>B*/I,$@P.!25MG".$X4'L[T*<=[!/&Y] M%UE 00]"HBMX=G1DO8%TA:#8 M)RTT\K#([>.3((R=/,I-C[\;NEZ"0I2!--<%I3>6JMUF55A>:6P$)]@RJSDF MCRE;!U8 U#UTJ]^4.E/ MXI^UK:9''N^V^.A)I0[#@5[9 ]L0>L5VV(KC!JK+M.3Q1YRB<*;5ML)PR%Y, M:]$QVJ_#"J$EAWU4L-J6U^E5Q3?'R_V@)PH_+"AK*?A'!Z9M26E(W=IFYHB; M^H^(T00#7&?+)X.2Q[N1=TD92T\>RW0$5Z'OI;K)6Y*P5G!;! M\F_?OLGM#-;""KF995#-X*I7!MM53CQY71MP2*O&;;)ZA,',[2?,N'*> /8?>C'-YS*ETUFWB>Y*E2[@,7CW. M['?Y.D6/>UGM7*X>CM:*0D=2+ ,<0X\1V&R6WJ2HM7"[,>,DH(N+9PAW+J=^ MG%;@:1NW8;WE&HE81KER*@KH]W1H3[)]:_.N/ZIO(1F3H"(><8@3UAK)?%S! MC4R(+8KLF#AS6]\GMS4)@"W ^"'-!H'B&.%@VD9_A',TI?),ZN_*KJ.]"/!6 M/&=2DY;4X,^$;/7]AKF\P7D" M'F "'(&<:_B?48E(%8SL$'3B&*/$R/%&_?/$WI\^^GK@.H,X12PT MW'G4EX@NSC-UCZY,O "C!I'+M'@@@P9JCHRFTT?2K478KD(Q"JC/<_=PQE1- M:9;"SO+;.9(I^]Q)L2>VI^>YO/^YW)/#PY:30H46&:GPGG]R)O$4&_09*O67 MSSYY(E"I\U;YY6:/\EO'O#M&*/7 ]Q"E6D+,J"#J8X1JG)P0JE^[]ZCJ*TH: M;"SQ$\!*G:NE*1E"G ML/W%?KB(1PEJ892O!1BI50@6N>F,,*)2!?(AA[%R,%<*ZLOJ0ACQ3E$!9K*G MKN4@>2&G>+(U@_+4YC\K,DJZV5+*P)59EDG_!5R^A%&S2%X:=2Y@"[(N06:\ MD+@DT^/4+;EWTO1&!3M6*)=A*PJDM^:N>[[XT4C^!.O-<4/U+L8-ETVS*JCZ M"IQ RUU%. G=3DA/FE+_94N>JW WXMMQMEDCW _W1'Z]IWG M/W106^Y:P2IB'RK^\K+:2[4T&6)4(AESN41'71R> /02*%I)\7;8]B7 :Q#T M?L:T3/OR@*\JR4C3;LI:E'BE1!8'O-E167FFMN:*0>[F;O()<9&#&LFC[/0H ML!3UDZO.WV+"RK:EC#8D?$&_J)51W/A&L.0TC8JSV4;:%]Z) M6_@Z6&>0)GR*11>VV[Q('([2:%9KBT^?+]X2+@*O)CW,YSKD?;G5QCB@>*V7 M=5\]^^]J^8Y8R''H#:2HP(LB3A \M>X($SF:[1B+3V5- XT3#"9^9,L83EI7 MK/_ (YS-]2R"#TM!?WMG3QT$7=:=# 906GM M3!=QG7U(&D+MF" M2 "^W&(RM;9"F+XE#ZZ4_DO^1Q5W\DM9$[8D8@#0A$ZT%Q@XRD![:F+<8J%L MPVICS1W*4$ OIK ^4*?B!.20)X#NJY81TRLR7 THP10:?7'KD^YL27ZM)5G' MPS0H-H==D9S,EZOF7^-CK_AC+PD*AD4[;V&TWJY5=IRYN(RKM_N[\)'&'[DF M291MN(C..N^LZ&$O^G(G?B\9M4TT%FC\2MRVF3&+_TBV;$]'7BW6JT6;/V[: MB*P)_3&PR9@,3@IC"ATB +L5">K(W QZQ ,*#&!T&X8MOIP>ASEPJ*PBIC-_ M(""B&,Y$_?MR-<;>8WO1'A'CT6^F:=*FKI@)< MEY6]!."^#)A&Q9(;[=X!6(G##8,W@N".>K(1$ (O(X/(#^X6"!E-:4UEL]E) M3PD B/1N,RB;F\]+=L<(V %JP:-#R',^M+2H.^MP&FV(L\UZ.)OU=VZ<>TT] MC@!'OR&B#DDFT3)YN81TM_[*J,'__/GB T'D__WUFYX[GN,9RQ7# M<[D:_($YLW?,?Y+4A1B@,IYVNWTO6Y[_%D#*MKR,NY!^N0H:T\^GG8^\:Y="25V%+;,('^#_.4F+,IJ_2%;*WDT?4?6$]FG-&Y8CC6YX]F/^QUN#-Y:&+ M\4E\NC>\VKH8FE*T7 ?GJ6BJ+M$1YAT@U+!-W!%T]&$=%HY" O(1<)>W7*\U MN@W.Y52[BZ'MD"Q@WUP=[<*\; LA7EU6VU4;:DL.3ZV9,#*QE@Y:M&IJ+]G: M.9L5&JRQCC,%O-CU)?.?HNG##\5Y'L5M\H)H%B*(0VL?=)/PQ MM"PKD(HW>TJB]"W_:]\P/U6GL/'+JFWV+=/.1 .K#T2:4G:O!3X MR"T*4Q) M?X]^0=4AQX.+UD,+,B3W):'A"I3_1)JC@])H!Q+":^0V0,#HJ)8XQ22C1XK7 M],R786M(<3<6XT)(:A2J=CM03?%BS(;H& MV(#4LS;.O;D X[_D8]2L\TSS#YR%G 8_J6V9>_M$:ECRE9:RXS6XS ,9TM2@ M$T?IW/NF< FW4>=MJ:U\#D$W3OW)DW%3')9W.D(G!Z?9(:%_(GW,<5HT5X.K MKG"H@2J"%JX;31@W:[_+1?R<7EO>]\![)_NL*E6:M8MO0IY95O18;(9JQ9*^ MNL'(E@5BTQY_##]0Y\>PY:96V;-'X[816$K ;V87)^TH=*YG*9088FJ+X*B7 M,B6-I"+[Q:B1U$XM=Q3A?2^T936LF:ZP>G714 M28A@$GDQZ7D@;[V:#D;*P#.!ML3<9VJ@DWB73Y\(WN61%(Z^ M(HO$F:&R%\';." 4D,V7D9(LVJ2>!!/(O63D^\UW:=U0Q^$:B[0F@R6:7!+3 M5WF^>(V^S;A..Y; I,=.-HCB2->QI04;=JSL%:='2W2Z<)SXAU8ZU<:.)(E< MNB(__:3%TTPF,DUKT>U9TX#]8,+,ET@1[D+#\CS8[2 M##7UL@0]/J:ZBP-YW*IF1_;0'2FD>T3-;#(2T7Z19P!&: 3WO56Y*T%^*)U" M(A1"5+&4EDJ/_HQX^>+[S63GB]/I>1SQB7F $_H4A6)PD.=HI55B),KF^Y0* M7]&H=O$LB=&R)#8%)QY 0Z]M]72DT^4P"I?,GL!:>7)8QU49G?NM M)D5QR@X.*YXOC\=8R+XC%H%@5$F?,L,Y)5G5:1NO4;/FG0]DG6J##S!3@E9[ ME"Y!L#5Q"?,A?]2\0(.40TKU[!9Q/N(>CW,7EW)T#J!CWC"K99'<1FEJ)-Y/ M(:9@AT-!+4F(/=%D(V,D@!:]I.P9N5%^^3&)R['RG/) MA@DP X<#J:,[M4RB\1.XAO)U&D1KO6Z@YH$C@L%7G(IAVV_B:,>4/[MNV-$J M]A0QK&?L%H*BIYAZ%O>6C7!Z#%GT05;:>$#=KKS-4.4X%9@"3EG6(S8S]]S) M!H%CR*,MYP?D^>*E#DBB$+,77.LFFYHN$ K/Q),RZ-OX#] MP"=HNB:6(7IA]*)2SZ#U<$FPZ7HCZ0KRB>.OVHUP/HQR#9G)UZR(TYF?L46\ M^*R]@\/>&S>\$5/,T0W'M0-9)EK2T=30EW#,$',_9 /B1]6? W4 N/J9 J]B M6;:VW!\@YJ8K83["F-F/AC*K $LY0B;2<0Q#E4^L,]@@$E@ NH?SSO+2;@=* M_GKTN')]H4UER"N$[,G)1".3J75S(S#_,CYC_'QE('3G86L]Z9A%5[ "Q*(13U!2\RQVYRW.J'[RL3FQPQ?*YA1-WT$&:_DF*ABVA7RP(S9@P M#G)Q26"8-K+Y9+*RE?,:8&=Y+V.B2VO;7#2K/_1-LP"/-N&$N0@AG/%\$BC3 M6KP/^SH 0,EADB7#C[[[U_Z_=) ] 0>ZX2%>&:; M9ZQ,?1>V:RWA.)6:ENGA5G3R *NE6D*.SPFZ$O[TTVWML\W"I9I*'W']:C2! M$'MTBG%M,YT539M9#!%,2;EHY?._GA5:O[,?D2351U+6-R*! M"-8_&Y'X(E'!AP=#>D@7[&42)2B$;$]NLPK*^D#[7.EZ*]MYZ%-Z!G#V3K/5 M2GXI'V;?B&EE?=.3'K\=-&=1@N^&LB[P<[+(#H<-)\Z: MK8_A) 619V+'TQ"1 MXLJRR\8DOA_0NL62SHU2GJ52TM"5FQ/["-@]N,]VL\*NP7 X148D!R$GSKPJ MVX-Y\#IJ\5NT%JMN!X>44UWK1.4I<7)WZ*@T%0/VT0MS?VE6BEQ7[Z4VSW2. MYE6-'[! I=93X>I#\?4.FN#TWH*UZHTFW_+D;FOI^+K>-^WR=.0;XHUJJ(CT MRNW=4<*XP4Z()>"E=X(%OYCQ4$\$M.*$11]O6,+2$?6+.E33CCMU!RZXH&S* MX3[+EAR+[>$9;8"F%I(\9-^4#9='_EQ0/%%0_.Q<4/R%3)O.\E)F<2YMAZ+& MK3PQ*9=1RQAV;;GG>!"=)RZ?BC(AQ^8(71"/Y/D^Y2U?Q%5ZF?LB''5']YT, MY'3_QI@QJ;K[2+%F)=;,D4OZ];A%ZMUQ23D'VCQJ?7X,R 'H*4ELQX&1&5(S MD!.G.X84)?S+">]M-9CB1HRV4$B$'F)<"N7&ZF@+QMB-CM2J7F\'S2S(!U&D M"+640L<-@:ZQVAJ1KX):=.Z:)QT/$99.A^EDCN/;BB-1Y/%KEL">D[4JF0/> M)*$YJ,R!>Q)V4E]DV6F^$"_6A9'3GN72*$9>7)1MG"1)P+-48&B9"5657>*1 M=M#6YL3%^O@#(.3F+.*Q5*6S]%*MR[>YA;**FQT,N2"/.&+7.+E*VMD82EFL7)'+^(V4?X9" M@T#,"\)GKP*THU@? L<<.&*XK4(6N8$6E=\3KI2T3I!Q:DO@76XX]@!3(L(L ME8_.\9!:Y#CUU"%Y?-EQZKF/8MN7AL>NJ M6X&EEOD']&A[?I<8P&\JN2_)(U)S#+:974;KYNY+Z7 M=*/O>4C?Z'VR=0%/X V7@)Z]0L@3?_W=T)/GT<7OBL[H:VVDPRD'G01:RV@6 M6!\6(E5=L3LHEH,-%C.*LKNEB3XN=U/!A-*%"4%-HDH;=B%5$-7P)/HIAN"F MEZ !X0=W4Q4G^=_C?G,+ZW5=1ZO'AS];*_Y2=_);;Q5Z30='0*:/+W.5O&A7 MC$SM4;MF!9N'PHWK%\F17YUP!CXU@_862HE0&R13Q#"S\?EAA#Y%/.Y)1T8. M!54M%]$ J0 +V%R:2$I(JE@O9C1G(@I<+_[O4(?%"U:U?U&D<^?ML">>GGCY MH>UI[Y%RE6PFX$]$E->>Q>ZL7@$9S0MT*@,[HZJL'?LPM"I)Q\!4D2B3V Y; MIWAC[:9X-:>6%Z_\/&[ JK&>M^QI#3N_BI?NX+.^B2.$W;7X*_T'ZJX@JX2P>4'8_]MJ3L^#^!<\N?'8I0E$ G0&%(TK=YR#ZOE$UM MTU(*Y[R@U56-@@L?0PH_.Y=0-?\":@D'=[\XK9U5V''7"]: M)ODI*#+ANB0;D#!6N+'V65TW[;M%+J17>LHP3N)3($BM9DFXV(([BS+PH*,7 M.34C'F]JBY)A!T-\N&A!=JY^G=NKECE B\5WCL;J,3O6;;?Q9>I>QX:ZA M0KOA^A*='>6UEI -%M2-W /DI.K\W(>#P?Y"H8AR1!,]'7Z4]^,"/GTNR:+( M>LF\"^3"BS@"<0JQXOYO_"N,!VS$IU;Q2O:_X_'BT0YU)IA*YG394J_T83[? M1K#:,>A'_21%S<I[R'R$RED6=IPN?3X=+:EV.BN\U3^/L9NA'@.KN#= M2Q":$DG?IG.6BA;TE*_KM8S#]QQU-'[)?YS%.:^_=PW[8C!76=#IT?V9%\U/ MGP3MK?DB)%=1Y3S*]%5P:#:(8]F*XX7IJ-?52:[%EU1;[O7KTLY+8_;W(8YQ MN#O;RU>^R!MG7C)^,J??Y@UB76+28.8U(9*>[8X"'+E7?D>L<"ZK&1O MRHTR3<0NB "2H=&QWC M"HH9_XJA^M*H[CCO16.O$4^G33)]/%8"TKM"+<7E=?#\S9Y-3=+OXG2FG-_L\6T7 MAWARYX7,<7P9+T,!,E]$A8A'=U98[82UV4 ("6/[+FWBPU189B"2O2.C?I![B!!0-XV#&^( M+K)M4,M"G=%[%^K1%UQ'S*!&1?:^\>/1TR?7D-. /%J()<0[WR>"4V)XZ0UCXE]%W@((U?8%1MGNH'H/*LZ0[(@0P\)A:JN M%'_)NC;8(V]8\"FZB(H!IJ7+PHD\W9+@NT9T_4(!_!T%8#\A1SA,X&&2MM= MII*[(:$+EN2.40YMA>_)"Y-<:K'XBCA*DDOVDL_:U'?]2N8A!=S??_7RU=\U MY'Z^P#_5W="4JCA-2_MRIL)=U46JML<9P M>0N.S24R!)!Z[99^M[ ^'3C4%8? MU5YY/$47W&I8:X&=Z[Z47?%]V]E0Y )Q^>WK53+)N= R@$LHK-:K9T,G!8 V MF^R03W:93;8V% QIC-#GD&\W"*=80P(56D2.O1$Y#,/V';TUG1HWWQE;G04V MD/9BFXL"4QH;#.3SRZV.>WKM%*G MY!M&G)$.K*FPQ4@+@8'MB:=2WF[4$OUPUI.XPS8M<9L\$T.ZQO]]\=N;U2-@ MMJI[1Y5WH_JC]_\2G!&,>:P7:*U%>BJ.]1-Z[SN>QS\BR7U@\^)9?IRN+%;O M2) 6WGYHX0+[O:40 @D'0FH\8C5:M.&Q>YW?3WAZ7,<;\0%&+XS0E$,O!T#& MLS+H-M ]M NA%S^>,K.A7&V94H:>3/RIJ9^)[O!H<+@WW&VUA!8!<*K@7BB7 M[3P8N< M=M1O'AL]X"XZ&C3)K&$8T([A(46\>DK01QK6@ UP6A<$^5!6W;'H M,44.VRLF7'"P7.WSJ%<./]T&@B<+\0L2ZR=6].1.QSMWWCHL0N$ DZ^^_XX$ M5/1"(\D5@>>HN H,-YUI959>:4F4H#)@ V\VVQYIHW%G\$7'76M0# M)P(CH M' _H?EHOXD.7SQ=_;ZX#D/K:I#WJ+]7LVFAJ>(O1"7(EA'3_H,O$7V^1#)!Q ME[RS8;!"QC2F>X3&4UX!^0Z\'7LU);IN4@R A9-(M.(L],VRX6S?EA);A7=N M40%,W8U4:%O%X%4&G6V01!CB,]%4C>E4G-T1BN-6>LN&+MDRYU'+.]/RK@2\ MK_?CZX]<1'^>_^W5FQ$>@2V($S$R&+VC<91SW>@9P;Y2:QM1IB#MQ\?ES1"J MLWSMD1X!LKTJT^K B%AA+[)-\ M(^:[*&]O2O#6SPM]'ILW3N:B %1^U+FLS?HX+-#-+J@ 6=6AS3+)) MX8[8LWT6W.6G55.G?@3X[<)V=]7TKOEL1N948ASO!*># MGE5+Q<)TWLG>VL9D%+G"T,B3V-OK<8^GP)>S<]<;Y<1!+$_; M27:8V417TMQ6!Q&;$I(%.N: H]V4&Z4@B'9H$#-/H\4'KK8;G0H5#&2OF0_^ M\<3@6@P/*#)_W!XM&]:I(9;CR[V)9M^Y]=>2!*Y]$*V.32?2J-3B_6S89QSW MQ'+ 84Z70?FQ.,P# MF]8AN$?NEMS4>6DSRTC73PR,.H@9K,SK O=/NOIX[3 9D7S]I]#LB3#D9ZJC M^LQ9&O+^,J2\9!M^DKD5(MY9/PLT7L,%&I(/?A:8">(V,W'@HAIS+TWOGBD4 MV[+U%29U!&="VR>4AKA[4LNRK3,$UHKN2HE8A7.BX'\X0CQ+7Z/&#)]-SX(*#)RU4FJE&N+K;82__=!Q1E,OVK%#:O4>WTD+#4YK:NV28 M>*?Y21-12(W()2S14,UTU<6@,M"AVU%(+&,E$N)6$D!"(Q4MY$*6U4PP#DF< M%J,TE._FY+]/\E#3Y7>JB9_1OVFYY-8N@G4A4F<0P7F":$(X((X.'MG, M+@2VGT+>"62-)7\\\A4 ]G>&9+"<&%[*$:WDB^(X2VDBP1DC<&"IW67@]GM* M7(;0M[IO\^,&)KXP@\Z^$.&0Q^[E"$? BU7(./XPNS\C^J(]:SV@(B-@-=(X M8-P!:9Y&8J].TB#;5U.Q\IV1WD]BG%]/O%?I9S'\P4!(:*_ M4O?";;E67GCW\ E^J%";]?3)5>DR2^6-LCCCNO(X ROYFQ1K*5.GS](P3F>T M]R6WDEHW!&_GQU.4-]^%L&=C)1[:")V#=*K6&FE0]&@3_JHLPH*.$V6P?K2/_R TB@^7[QIFM:NGXX$5ZD.S "X#:6Q?53TH3 5V7UBV]L(;@78()'6?D4Y29N .$:5RR92&X>>5>64\'&/+3 M16BL$W%(:*.EGKA5LQS2%"%&9 )!+-J_?O,2K>T<0U,''=4A$"G1%5/$+\ZO MP1;&"]2RGK<ZYU>4(C)109J.=X&\OCE:V,K7>X?"T M.M(YJD/'FJ#1Q.[:AF>6IG3O)=L\>[A1,)35#>A:"8E)='+3+.B)&E=RLW3] MS[C'+ENTE@X1'<) G)!9Z:TX"7F8>;M)!OF/?0FDBN*2\XO;Y5?KVV^[5W1\>%YV6Y+[4X)_(I MG/DL1,XTM(RR(F]LTP:7!]1\5?+2S2N;)_J-]T;LG8CX%HZ(CW)UXABB^#TA M@>'\#MJUM0-LNA8T_<"&RA>-VMPO&Y\P-HHI"MOE)W7TI*><>@0M" MOC9H*<:BK?PU!?.A]6UD'%]TQVN@- M3K"LK5*(BBS-Y(BB- L)"\49MKE'=4E)-\G2Y;:FW@$PN&^%V?0JS3K68Q] M!E@0>3,Y?\MF(Q1<,=$^I7994!GNJG&JU^B"3>-U(NJ3L*R;I=M"7A]OKFXE M)R\Z*=X9#=BX>(\9S=9"8X>S% J-*CN>BT19PQFPZ1TX_(^) W=@-\>TMS+Z)@B.>1(9 $-(^7DUC/GAZ5#RZ9COA$4X>_E2?B4,+*;G6/$3!'$RN[M R MD ;BBV&U"?V9Z?1D;?=/Y]KN;T2++7(CSFA82./0#B)(KS# W&[F)7QK M?*+@;]P1_\5Y2A]Z2KDPA]P(%?MZQUJ.[(-#7A7LP5#Q-DG3^#!=(I[YV3[/ M[8//K0(I&**;I2>EJY/0N%IG.L_0P\^09-K'"E;'ZH2:"3WZ=PH6$\K2XU2BN=9?_!9SU''Q&I( >2H1(8:+"'W%Q=EO[P\5=4#Y>5Y&A]Z&BN?'6W6 M*5N=I&C+":/W<36MW+4"F-!5RYA:85J[:[Q2MECUIXV7N5OSV^L8FZ*CA&!D M;[@DQ=FQUPXT^$_+ISV^'NH[XH,HCE/E"B:FZA"P%99J*0!+I6A*0.BKL Z2 MU:O\<.UUN%JZ?B;0FO3@GEK7^8\S3/#K:FOB,CQ:Q'<'J*OS;P4E*6+6?5N2 M%!F(NH2U.(:ZFR8IA\CP]QJWGAK;>0%/)$:Y+" /Q$ZV_)PG\FG)$V 29T>1 MD+E>N$\I:Z6J$8T1]C_S]UQ?-J(3R#E]?28PK.8/YFH'DJ04\PO-Y-]&HNXN0 (LE!H]>S7%;M M-2%\&1QR[\,\^M$J1/?P):U-+9J<.-9)<]3#4%LU=%JOM3E5VI!'-R%E,"I0GC9U9-2,O,VGBOA;B6MXGH MJU.K5=]L0L]2FH'I$4=Y3FWS,T[7O+8 .A >,%DM7,]C9P:8-N2Y!1.HE'H# M];Z& M AC.(8?8,^I NVMJ;&WGHO$K<$C[X*W=++ M27U\FQ:L+5+1-Y]9IK8PF0F>LD+T9X$J\*KH;)GR;8.I_\8%]@;36; U)J>* M!"_W![R#,]V!^WI^X84$2Z4)4$1)J M4^CMQ X0N(5+9FK >(Z]19$/%)BC/;,#)0&!44OTJ8.OF)1+;S)M&411;(<4 MRJ!6&+)VD$3P1*J9H/5,-WLN3 @Z#K 69(B%&[2$*WMT+%.7!RE0)3WM7CH% MW)O8TV=(+32? )"+GLI*>@6RFU>4?;]J6NBY2'^&80,S=O0Q/8?#8MR\F*O. M(U1S\CP[B-E$GIY.0C(HIU&N\5@1EQ=ZGI7)@V&X90VE8D6\B=_C2MS^B?_# M+P799'&^*=$11_"J:K:2;]Y5G7<"TN%SRS>A C?[28(;VO+0R.'HCLY#PMQF MF^0Q"F.=/"&^J11;J-YCPLJ!QY';HV_>TB,[E+G*1- M--LTA^,N'^DD[)G:4-625B0VH)KLT@_ Z"+BXU991+1W!G+ #-;3&C'(3\-J M(^S.="_D',G_=\_"%6E*8S:G=UV.#3J"@QCU(NS*=W'O#P3W8F:D@H6O:%(A M:*U V 3].77 L-Y"I\P4L:!571UHM:-Y_;M M4R7^/_\Q2OR_;TXHB]/8C^;HDNJQ0>B\Y$!5AY\UV>^2/[JK)W=S7N2)&>+O M@#1E1F4.BCK-IRADPLV$6#9U3+($4Y);3<')+1SJ:-"3:.F:X M:PPP$P[8<@$ZO+!A_K\0WKFDB7ONHW>H:L.TI]@)\1VQTFC?60(EYL;4>D-0 M>$XGC"?"*UQSHN'*J-\!Q$MT9C)9_IKE5O[]?[WX_*,O/F%YDD\>8:WAW_X" M'WO..X5/\QY4RW'G?EQ\].>/QGDYIC8[FI([.5'JPL^*<#(K2G:;N=19-#/\ M1"<&O1#D,\!!W&?W?E]!DY9%2NA##'#-7_BC3S^E)3HW:0\U-QP^2C\A.RLN MU/?REP\Z+[Q:P#G%3[6Z::J0L' 6;3+ I[: M8C,"E[.+^ KKP&0'2P;1-RMGK43F'K:*"43'[F*)/H"U MRZ./;8PW\B@1=J!V4W$#URPWQS)H%S _N6B+6MI>&@)T*\]_4E MYZ1=LF.TM1"<=T.P.$5DMXO:XJJMR[9MKH71A"+E4=J'^_;H MJDT+ @MLC&N2\J5_:5A]P]Z?/'M*?/B@<&J1O@GEY>'9VQW-DZB5Q>>[PLV@ M2JN*M*^=4I.3HWT;HEL!$_GQ1R]>%":GZ'M$1EK,^0/(VZ@JW>DG>8!'GT4I/W\T!V%'6Y@,)R2 IDN+A&F/%IT6*Z4A M# M6$\QXAN>$P:(%O*RV0E:RINK64AXIT&KE0I55G)(YU(U!XP&M#4ZSL!C= MB\_IC'[Q26%:1+3CXD=Q1>T &!%X[TD16TE3GVV(-BI[$-*5HP3VI1X$<7ED MBMI5(EKAYRFE2>BZK?KXS*SH!*;1T@C=!I(_[3]_@(Q?-N M@ L>/OX3'10DGU;P&_&+Z*\PA0$\_38Q_'XXBE!."5+S(O:6GT-:(VB_E7J7 M=8G&01#UVKVV$F^SN4\S%L]]>2=M0O'#>U,>2,IPA%/1%'3# KX^^1PO_95\ M(M64I:AG-QMI&RC T,C3);E&V2J7'.+$R>AYD9?J%C \5J'[F%H%'<-&JH?^ MD!6=1^DR541O,NWTU'^2RJ<:[I T3C?9T(VTX#_J54LG219JM8?_!KC-"-F MC(K2 1VZT0C3-B+E#]U+^2'QM>@MOJ(CN.I%\I?&/!AG+57V;IT6XQ["_# MUCA%?2*!>OSBRO\_>H/GB[^1BG="(:P"E=<= GFF,CM3%& -6EXA1P;DOQ8? M5!^B32U(2^[H/'>^DRAS6#DLXWF9.UC%P>V:&[D4UMANBD&/%ZK^G!2 M_K@QFY9D5>P<3E"/D9LX6P5&]3/U2E(=/<]TC\JLMTHND;]8$U* QBR[K:3' M;\QG55WJBC4\C\^DL"YU(9#@QI:WLD(J;@ %$,\1X%KE?-R?N^#3^S>M3R%>8.KRE.[:=VO? @CCL2_P M_8(ZX-D2/7HE85\L:3[WY+08/8%ZGU9$8Y[3&Z^8M62/V +D9>62H' ]P1:0 M\T%Q4S_<%7F[F[7 S]6POWS^T;D:=B>5*=Y0Y"@Y,TUH*1@\,E6RPAGN^([M MP+BZ[,B-5.7>>VDFF2AE"\HU97E847,43X],RZMT17\EIE5,7>OD1>6FD39G M=NUB3+V4J>M>-*M*+8QCN.D0,Q(MI^*VWZ'!R<0NA]3E1M+?I#.@_" M?,A R+%D1IA?H3KF5@FKO8;D.3AZ"MA-_C<#)]DCUM?0V9*,(70;%5099U#< M,DMM\+TABJXN,:*AN>>DD;74"31DD8GQL?I>E;KBB_#Z4;)2+DDG!V3N!O%, MN)QUL+BV=-$VY6H\BSS1ED$"*F6#$(87V8&9(C3BHUGE1TI.$/.G]T)?G?(] M_J*3';^VD;9KVH*T*RO;$!E7%$RJ>420^HEYL34R/5:CXCL"E*3P;]LB< W:J M /-$:9CQO\("EZ,\V6(>/16GF&XM8@Q"6Y?I13XSO4B?@9421T98+K&ARH#- MT)??" Y\:L7D[X:T$5.PE<;S;SZ^OIMT&X+T>5XJ418IN M2\'3\I(/[X.+<#5387U R57%;D=LJ#9-D$QH/;A#"/_C;$977X\9UA"(A]K2 MLJ"-2G)H^FLY!YH31#LQL1J$2RDV)E,^JXTJX M9V<9W17N$QP/Z4Z"%RSR6847P0T=F Z#!A!VAQ_23*@HNO)\81KK]@>MR8X@ZS YNWF<^- M7S'NL9'")!]WF5OD!\>$]VQ8,&>\C+(!V3TY2_9/N#JKH9/7=@I%MB6$\)G M2PD+)5\Z%&KHC""3?2E*T0;.0%,TU8KZ(1-?*J5VAI\G&W)W(_=\\2V9K_SA MK XC%BO&-LTA'(W#W/E&7+S7)=;3AB'YLXV8[!,)]D?#@KS@>^K1?3&XJL$2 MR9Z:,49.'>BCC2!JG%.3T*@S*#Z,M@VI9SM])+GGN >%(=1SE6JC3D.]&I[ MNEE*3KQ.T+>1[^93HZ(61^=E%O66.]J'W'08 RN144GRX3=/(QD)OA/G7/A. MH'[EWJFF#2#CX,UPJ>?G"]\:$WY*!PW+J'J!0$30* @!L6!# M=YZ=>YL=R9VV2>W-^RK>8YYT%MREC?0\@_E=66H;YSI5,*+E Z_8)^/*^D M>R-1H$\)W$U: AZ2TQ21383XG5NA-] AQF35+]4^= MP^@-$V@79F[^*^[M:5%\N2HG/IC#4*H.E"@7-Y C-6R%<>_S@RI%?:-\VN,, MFCI&XA')Q@1LTO:F.-;>5T+D/(;V'$=@S*;ES<2/>FJ>6!C[H^B;7I?LUV-H M;FH"\*MK1.AQB^'D!,:%$/H;W\\(L72, **2CI(,NJW-.F*VZ86T=R-Y3!;O M<9**\+4[[60-9&S/X))3X)(79W#)KY;GE 2?UW&CVM=0C1AZVCLP:GC@U$40 M/'I?"&$M:6!W TRG!&!ZC4AHI9M!GK2J_2[AQ6P-Q2OP*F"E)C:F P$WH MKY@2; 52> 1V%S* :A42E/;$F([Q.2JN)=5]24D#E^T;VH0Q0#ZE [ZRR5U- M9W>,PJQJ0_R[7B8Y #+Y @\K,E""=;(2SU!]!P^A$( Z)1G9R4&JCF$IKBSI M*NM5ISU_^N+Y:,R3+EI%P$^92]_->2I%_F#V2!T[A>SJ>9Z=T<-PF4!$SW9- M+912?T.?NZB]Z&.E#DKM#TP==K4ZH5XR ERUTH_0D3(0%07C8P^B7NLU(U+7 M5WR"=_2-NKD*6U#R75Q1GS.G38D%L'Z6@">C9ZUG7HY#0FN4&3^SXPLC_X@A M*] Y5U48Y<)P.!H9$OHS>AXL(O0<9!:AYL[EFX2 ^J?2URV^(Z1[L$;)']Z^ M^>=WVBK).#@T,L8M0E*-\'.U]TU[!-UC'B4X:TL"]"L&1_NE6&P)3TKW+;CW M0_/N#,6IZ9R@UY]?G4R*I_UCECS6QE^= R%HRIB?)C,&ZR$X%&9(XP*[=@!J M&U?B7G-%RUESK[<$2KIT>^9:M!S%263AQ]$S3Q]Y;A,5KD)*CU!22UD)6<16 M^A>B&;TL]QU#HO.%Y+D^:LDQ&*#T9J L/JE]=U-+WH:ED*"O F6DMK6GI@+ MH7V*Q&2E'AC:5*F5L9@M1$U/E''6[T9F9%^TB;9ER*&*J8,PE7E65<<2DG8 MF0JVZRR,-^K(#FW-CE1D_*)Q0>/6GAK)+DPH?-P-WCHZOOUP$7?"@L(MZI82 MQ<6U+C.%$UV&DNQ(?-1=(WO59SK;>-#Y@6HRB1;I;R-#'X= Y;S*[:'K!1]' M$K:T%>-[@ M"0AF,Y+N[ AXQTQPH]=,]$YQ1%R69$SKZAH]NJ&3+JL@W'%*^G#\-J@B^NX: M (*Y>[)U5".+,SI_./PU#O&[5S1 < M<\O0'/MF)NB=OUV^9E&]I;_$[0\PKY.;)'0)^QSTC' Z@(>\J:2K6YV(I)T< M?)=-;KUFEEV4B)-W8N8AO3= "?1X\2 A'\[(!X@5[\ 4G_D/[[SX9=%[:/N MIMN&YPL1 MI./Y'$*4HM:7*G!TZ%O/+PY2P<(03H+-_6RF9HH*39QY=ZK:QG$P /B6O6T[ M)$:&02DX[&UGE\U=R%C[;-S1B]+WTCO"N@H,0,US\C$FTG ,BFRS/> M1#>UUXN,IG)-+42PX[C*ZN 3B,UT]A&M_\HE@0#_CFL"Y!_F'@V=X\&RC,KU M93/VE=N@BV-F#0GK0\4"V@XE3PE,:=ZN.LM'-,L812$(DIO,F<64A\L\-*2C MD3W02&;,L:F=>B<-N$])M/E%/!YVRB(PZE4;#WHVP^>BW(FBW,?GHMRO.U%> MN=A'LXV4/AZ\GHOL"4%#!R 6:CJN2R2FR]55A11B?JFJ+SQ-DL_G+COF*/Y1S[@6YQ@L,+-TCW@ *]3I%9* MH!6O2GR;N./0'5T:,G[SB1E:"G.+9L2!M!E*] (EU;!I'QHBL(FE*Z&'A4(I MVG*C <-7XY+#?R_+&'IP[YXVKV5/WQQCX,DG<S1P'89=BB\59[ 9GWJQ6R2* R"4K%W;EW6MWFQ>% M"*L)VK@P/W-4_(FVO+JJ5@-)IH.LZ!8&N1,4J97I7;D*%OG]KQ^.HV7<46@FGJ?,QVSU M^OTQ[1YY%"F[Y*WVOA',DH/J>W.]M3YR#"'8B<<)LY[I^C3BJ@O?9:@NE3'8 M"&2W(4NPTY!MMQNHED:I^GC&(FG""%%>U]GRR@[^E.,7TXT%R+N5T>121=L> MI*F3N:HYT@M7$O;D*_X M&.7?J+W60\]F9Y[J;9IE%5WC[C*:QZ>V&4>^JO=KHFF$]XXU*:1WYHB-O*U% M70+7E>2X9T^"BX,Y;'!D+P\=JK]2-TWDG6V@DHP0K]/!U39Q;4\^ERWCM, E M1RVE3_N2OI >RB#'RMB*\%HE!RES.=4R]P8O#@"9R;'M3^V4!'=\D M#Y 3E2' U6J6'H?TK(2!4BG$KY']DEHZ;?XX(=!_F8Q<[N"FS#P'-ISY@TWL M608#X"6$$O.H-NVN7L:[D!EEUR<+^J;!UA7-,A.BD__,PKZC*LYKJ4H7]N^M:=\ K M!F2\)4#&(\R4W[UPC&)#(KPG!_49+23*??+6ZXS(;V#B-90K^\" LF43'?DV M!;\7!^,!9+JT+^,XHG.#MHFC[^#N&NP'ME*TOXF*@GTNC^J(KE>1$;S[SUVK M?WD1(YHULX9)O ?8S&6S74'YX?'-ULGS_,UD[&-L 6IP<:MZ+,\;)P1NVL$8 M?&\Q[!3QOYP(,A2_XAGD_FK)&8][T1"O#) DA&DF)TX$+X@RF1GWA-R$2+67 MVY*C+YRP\+ MU4#U[A**5(3\Q<97:YN6DR1"V7/ B2H\$<0QQ\ATBDH859,_#LX@S,ID !BD MO;PLJWC"&TIW[G/8&I=56$>O!VA92GP ?-O*Y';PZ 3;%T>@7$@MY=1KC2F# M?]F,DW/>'7U%34OHX,AT7!PF>Q:1-IJO%L.>?OZLB'N._L4BAN!L+B.MVNNN#(?79.6)]"PE'"ZWTD@A[?+ZVG' M+KR#*$VJM<]-RF6#H\ @F0(!C"=[4]5VK(^NY!4D0KD[ B,SIC-=))SATH.A MT \PBVA*'[E!CO=[*S[3QQ]]HBO7CI:_<8XUGLYI%7X3CQNV)WN1-37;T0# M0TX@TY=FX];P84\4B>_9J5\O7GSVO_65"4[>E\SE>-5PJR;6'7O-H=TDKK0+ M#HXLC?IU)8 ,WKTDRA+#\V8Y]"-LJ M& K6S5C?;$)F^Z2QH8& VE +)E$DP1>7<4,&2L6ML$WXA1%9&C$,\U3)TJ[# MINDK)5H[94X/XB&P;IIZ$;"NU"!//@]?V+L;1G/5@, '0@K)O8@/B#646SG--I0"A-VI8YQG-K_9-HK=2>2L_8GB8/1XK,.OU%?Z1OLC@/#02)PB**9Y4_/%)&XFEQJWDAJ]4%T,?$F^@ MOD&5*W'ZABI['G RDGNJI2#YBY T7P1*&W:!P;MXSXH>BPZ1,Z77_9'3Y)T# M1"4:N+1JN:5XKJ^C^>(/?7&>B7N<"5^4YRJS"O:QB O%#C7E=;?;\H+\7^X5 MU/)&-%A["OM86O8\5?CU6"G0M@[7D@U)R!Y!CTJ8QDD(;?\S*YKV4B_-8 J:!F:FM"9DRS_M:NK! 5!R='-9%! M+BSXO83^-]!0&^K^MJ"=72Z$I(QQ>A\]HXXZ)P_JL\T@#%%- 3["FD0@*&^E M3-3-IKW2Z+RHE>.*W@3KM5HFK(,@>KSX0'VD2HYTUA".%/JQ,6;J_.>E^_N> M-8XD7%%@*![35T+]\X$>4EWZ\US=LPM7E:>\@ME&%9B->%)L"!9%Y/$RH;;S M/:2,DOQR=/#MUJU(WP2A#YI0+^,QM\=A3[.Y::?='QVUU0&BC?M'Z/KMO_^O MCS_YY(O%WT.YC6[<6\*K+;Z.9?%)_+A)I)Y0I9: M,.4"MD13 N3/O-%TXAE(SC3\)*1)T5@RTJ+22<1KP)Q=63^!%Q(PJ/YYON_S M#)4#<3+/T[-U9MK,[X$HDI!&B>]3Q37 !E/4H1-<,Z"1P$S<=46/6.OJZ MYX#R 9-QT[V482.&FI$54#L _J)DJ"#!6H.@&FW2"4RF/[L@YCR?CV ^*7\. MJE_OP5([7].^(TP#VGVD=B04FS5M\!:;$\2TC#\^&]N'FC(9 M6BJ(=(4AGK0'..W*KA](S?D\;;_'&:DDT4'CO=,2Z>=)>J!),HK1M2-5RBAE MYEM[/8L?,(7X/ABH/0OH2:FR\QP_$!CLJJE67J/I!JV%J53U>:KN@1;< MXD?IZ6+Q+AQ\+YOCL5/U@K,0ZD.9/4>10_];]Z=HD7/JIMOSJ1JA7I-K)YT/ MMP>;Y6,D33>22');C./WOS@DPK7T]?-_^6YQ^H MBE' !I*77BXG/5H3U/T8/FHXA.8:KM9!J]?)[TKA:NP9I)=2BC MZ<6WNM"GPA'JRO/D/]"VMD9CTV!C?K^:.X]8;>-J)+DF\WN>I(>KI9YF[BQ0 M*"B[OAVX6PY]RS$0/T_1@[GXO%>$ :LBE;PKZPU:;%I26^4Q/QNWATY_**MF M"\K)Z%XT2Y:7L8A,;)X$TT=4L\[S=I^X=H#KT*,7@V7NXL/T?/5#]#K##F@0 M 56>/82'Z18!01IAY235.]9_!2K$/CU6AA6:6^'_)7=P8$*W1-=?.4FT\X0^ M&,W,DO@7*(9F5XYUK[VD+ASR<[#]<%/D@B ''._+]Z!;5Q+"\_C?U_B[)JD0 M7;EF!P('(5X0JG=1&]]R>D/"V)/2#*+<1"2J3,QVGL#[FD"C3(,GUPY,.JJ$ M'U!;(%QWU<4@"9RW\4=1;.^!/G"I*%'HF#*VG:?OWGP.Z*70."^C'QX]BPO% MV83^DER_0N2460J-SZGX<"!'5MY$*DJ#$P8J8"K1>6Y:_'W=#=J0&R9L=GS+ MME]9XZ,^V&_4V13>3*6-S<@7SY/W+TS3+%,-FF;KEMJQVW1E.=>\U%"HD1R]==2Y;D3-QB0J3 MK$_T7ZD*0M]U!6=V0"T33W\ER_D%_?X\E0]C\I1/^1_??<.<".MU%WIE_8U3 M@IXRHMG?/3GULB\'Y0\&:S$9;B4"WK$J*I5?+YJK4#B(5Z$RDQJB@F Q?GV> M+#L>&%6SZF+<@X4O](Y$S66<]QV4*IWKA@P$CW B>78\)(]PH''%.XD 2:,. M-RLJRF%9=IX,GT' MSPPI5TH7(6@#1!TX8"'(9'Q)_UCS,A'X'E?Y5#MX-H%4J\1G3Z15XM&:UY?L3WW\_[=WIA4>?@)J2&T M-<^33)JAE'Y^DI1.<*H=#VK0A@GY2'P99WFL\X#P2..\\BM"X3!]&G'R\._A MUFBML;Z6.7IGRH]\!E^*?B!O;._ER?#LC'X[3_KD=CVHO@.,GR- M73$M-C3$X>^-T)FL2+J*.8]^\WM-^1<.970DA7&0RSC#.9]B?@C6M=+L WXR M3MU^:!LKDQJ9:#K'^4.@?;):RI2?:18GMD6LKB2Z(W,E;I&*]<1-O$W9[K-]#EQ^ES,YF8>^, M2DKJD?+C2,DH/*OBW.@;B0!T.K=,ZN79P2Q$0F,5CK;)0+4D:5OZU#$D:C3G M#AF]C-H4W62%5?2\4VP"'OJ)I0$YHL/NBED=)CV/%F2 M4D->0K=?)8-V ]S(XVVMH"4K-N8"3C)[L[SNH'XS[O/(YC1UC9J-<>J6-G8U M(JJCE!9"UI[ %4@=(-Z@FQ5GQEJX1(22LN(\C-;(PH!Y@ K]9IJMMWK!*^ & ME(CO10G&>8.T)A00\A0DI.[EO&)@_];)$4\6(Y=4#&7W%')3K;-5<-99/558 MI#D+V&U<#-?HU--QCU0Q<@//_&QG6JE=#'Z32WAXG.WX-ON47F4(C\W^Z#'< MWQN\@(57:W^$K\GFFZ)S#A71@O>^U>NY:&>*VKH$VVVG7>G(0 RHZ 1RZD"G MSA@,-KF<_FT_R)J71F3)$-#"NNI;D1MZTA[H3O/!-I7RGNOS]Z+]#0X,:)$"F MLR[1"[+SL^(?^1OB#-8Q?;%!";J:7U!CK-_D@J:&SB]2(3A&F)K)YKCYM[&7 M'H9'K4H*S\3,P2 0XZ!(1^<#FE< [PM=*WI((:JS0S.+T@T39$\%TZ_^#/#: MP_,V;#E9-(GD!Z>&BHG0S)=+.'6Z8-W3!8NR+?YFWN#FB?[=$[43'.?;#196 MFA /%O:"NGFO?GVP,X6H%"5$#.CJN S?[YUC6S_RZS4UL>G)H?HXIV\,,=8U MB15-;MIYBZ/4=334[/2M&<9QFUNUO%%]!\]E;=W76U[QF,GI4*I#,)'N-*)* M/J.CABS)*Z,?25QZ/@[Y\;NNUXWB\:>+LFCFR8X\S83^]W(3:K+9G$T-[-T" MW5]796IQ\\K(<6F8[QS(9)GQ,,-FQU2A;[V(D<*P3F5.8Z75M4"VR*11J,JZ M5!YC1^526K^1&./[+MAOI-10^\=,0P)2#G"J)Y/M9FS$9I!5TB,\[_')UN33 MA&?-8XRHZ1ZN3M7QYY28:0@X3^(EE\# ?56E@,0:69*A1J<3^S>( M7^L(A>=[K)&0%*=P6LKN%\@("()FA' 6VV%X'YT MM=2PW7RA"TQ@S"F?+<8U#=A/):TM/O@(E#FXT$$;(6V MFW' +08&ZBA\]"XPDMUT1 MVOBC=_2 MC&:JJ2:7U))37&8C4!?IKIFD_EOHCRA\X#'F4$OY2/H)$=14/:KO( MBQ$N+I.N:D!AD/!VY2M>^LL"GQ?S1%G..U!QO2GG8@YG$B M8(PP-!$0*=$(+&CV2#J)Y652D2(E0.SN"%'R894Z]+/Z8T M'" XK<(:&R%OS)V8I4\<;6TQD:7@QUSJ>?6?P]?)BRNX8?!)>"'0>E>@4QAC M!Y=#6%+/8].0%I JAQ3ZE5P;Q,O[3\C+)NDD5JZ1,D67-%JF,8*HWL.IN!!8 MBRO'D=N?7BR5X+A=LN&X@B:\(2K,/2]6^>NFQ/UT>^DNFLXOL[*8^Y8(K5HF M7FI@Q9KY I]YS+]PEV8S2'+HQ:8?G=/+Y$N67Z'0IB4=PL[")Z/?XSQ/E]&K M>/[)8;&'O[]2*#9=> C2%!-.+_R8_CKX, ?*BSP>ZU 2 @B,T^R2,7P>?_PF M36AA7Z<4242G(%@EH?&./(3Y5A]WI3JNG@911__K2@E : < MGY/H3596-:R*]/G3Z\#C_7KV6U%>@$8Z1F!ZST>'\/<=Q&+A6:++PHWC)* A MQ%.5U0W;#W>2L RKNTA*IQ\=Y?64\&0F'T%6[));WD "<'<23BO(RQ"8NA9@ M!CZ.''D%KQ:RWLAIA&I;FFL$>F;@I=+A#KN/1XL*B?I>G>]2*:QO]8V%H;CR M*!J:BY?&"3,YHA3N7&&%VZ]'-05MB0Q./2%E;0^!9E2)#&B3MYO#&=S!GB<: ML(>'7(&ZZ%K(8>:]LASD720J/CFX[$2?4AYD$^ MDR('7;A3*%%FY6$[\$PX"0B>DXV3;!WW1!9A-SP^$HUG&B-NQP"!_?TOFAC6 MI$YE4<(#R,^NTIM*BSYVHEG!98_/22K)*()1*[ (<%LE.*'7#XD5&)Q$J0P6 M^G 7 CFE!$*H8>"%1RDVQKI%JMRJAT#@2VHE M<";D$DP['RRQ H@BQ=%*"(JVX*7;X4(#!&B'#[ *?&X-5>^2L"0%DYR-M)DV M ,)X@26[HFV*3!CI8-VS^!-#W3SLG%C*?7.0[]PCF7-1FX5Y]_AOZ%^A+6(0 M,'TX;] +!0$4:"X!',9,'6IO:OL#VW1@.@IW$E\6/&F3B>WOLOSB2JAEMPZP M0':X@?!"W=\'Y1E7X_/H$S^]' M8#'3@OI$+C($_.,-0^=$? :QSLJXXN4TS_#V]I%4\WH S>I*.M$>I:-C$!C):K^%($U3#B3@L(_4K1S[<(W^\8 M/[[J)K%B;#WMD\QD81(K7TN!7\&ZCACFH%CD'!:U<3(IY6QJ%_/DBQ;/))M% M7\XJO#LC/T']BD/N=*7H,[7"^D1H#% T:6S]W/\$)C&]7Q/G>SQ6M[WCOL761Z<0EC"N,2*45E".(1CXPDQ"-HT'6O' M&I?(N.D*F\V*TH)3C#A01""42\'D#,*J=\-H5UYJE ;1"483KB)@B@(E]M2-1IG;$+%]\>6[AT^],DV'QO M"+WM*[";;QY)M(/>J\1<157AP(N>L8[.'0PA+2K2"11>J4M^H8$8K)&M4=Q!AT M'+E+$4,-^V[J K3'A^ M'!+=.3)$B'^W-[>-(^.XI.EF&FY2CWU;%?HF0_ZX MZ6CL9)[4TX8AT@3B M4L?.028>5W1.O3%X*&_VF[8%Z9^>/GL@!>F-K7V(W?4]'E\^M*(G-:*E;1SE M7(LJ>STE$C+X'IPAMYN!FBYFTY1P@YNT M-I/QP,I&I]W2,TWS!77@:$M%JFH:$P&DH*E_BX-Z]91Z?M)-,/,(%/AXJ;1[ M=!GYIV%)9Z/KZAAMF9^M#:%Z0AU9Q?7*0A?7KB=2%J0(XX)'Q570 M$-?WH#KV*3[\6OER9Z5-'(:'+V7MP,DZEXR!S0>$DB+QO[]CNO29I=S!1\ M=0J/3,77\7*$,H:O@(=NFE53BD#X-V9-A,Q:VQ"6:KH$]S4["=;*E>YRJP >J,TXP,)ACAPOF^&#V%SM5LY!! M;7[CFKDA+-$,?DG,F:.E8"#15^9N2XR+ >#>K-'Q$MBV03#H7 M<9*4U)J#)PM;Z;EEF:Z)G?'F[T2!.*:TQ23%[A$R=/'G"$N$M>./URM(XS C M%V0DHGT-"BK]N^/NSI3H)ZZJJZ),I/\42[=A?>MZYE7<4N$1 !MH*&9$H]:S?$LC1FD(*D-[PTG M[1B]:CO9>.P#I2#GVZ@PT55H1N%&7-0A\,?2K9QE+O-M J60')!O+*AN? Y, M:(@6X='8>+RZ-)-XZ^0!8(J%=Y7%J^0V\4Q>&S0D/##Y3J14FUSI2\D!]/WP MA4W"$=)")J730ZA<](Q0N!?J#"UL(02]OJ:D&GE3<;1Q!REZ@ZF-SS'6_]CC M\ ]-206IUR:1@$G4- F6A$^02#2=+6ROJW1EI+%'U@/>9T8ES0Q,]T5JWM;8 MMZ[7?6CJ+R@!=PEZ6WK0#V"Y""HLF!\3$^?.E6YBKENKZO!;6R M\^2CMG2Y>[%2[A>\O4^U$((MXL4Q/'*2+ITT>4C(QQ6'N22Z M=149+$.A%Y'BA"5:*>:TB@3\7-Y>F82NCZ5=>MM0$KKMCZ5BXU--Y@ZM6#6F M:!Q='A*5A080EBLOX 1I2D JH62%R(UQ)\35M01:A?D@M0?B+2ZP[HE_ M)J6AJP&K1+;0*V["7"EUJ "R&&DFZV7D=0?Q^'9\9>#U(_!Z!O+2?GXJ$:(# M6B9^P*GA1 NX1]T8=N.SCU+6/N3J4S,((Y1@7"07TBG=NG MY335$CVO5#?-XJXA=<7H)%MH"D'3X8J0K,NFTKSA+".;(.XC*#$YFW047)GL M!+%-\#N-TPC=E^J3P1OJC3VVQ-N;E"D 6?VG?JL)H*@QBZI-TDCLQQM4$U>U MZZ(09]BLMFL_9B=#FFVR7UB@89Q)=%ELCBJ1HB8/8,BZNH+$>3 MIJ)\,:;_0#N-P?(P@'5;LKNN9/=\6[*[*[ZC%Z-H] M=CQ"GY5U>WJ3]];IDS%\"-M9\J"1X+2 M#_G RS"\\[AO3"CR@[ 9@= *D[H5VHE1D;CR#6F\@.B(?>9%4R+?NW:;YDNFEK[R< 8IZT. ,*L:*EE+A!(?H5VYHM92>+$4VNR(1Z7 M#;P\-C 40E5=LW%#.S!?!L[\JG2J#-HX0.IFO:!PU@OR5!:5!'Z1B1)#+_ZZ M^-]EVMM"Z J&##HQU6.M9AQBUS9P^5IRNS_7H4='P'/6] XU11#-*Y4TY$U18%0]S275((VZ4A*@RY5/1MG MCK2.TT)1FPJ@M5U).LXJM[@\,( R'.RHZ/0-V?V>V_J>0C5(.*0BU0MJ53WV MKKP#19,+I$%3NYR]T>NR:C*S32%C'3),9:KK!)F4+86.YJV#LNZ")L)HR0^? M-FD4)M]X!\A@#30[0YM7C$!/)L$R3[M-0!M< MA4=*QC30JN,Z67S DY]L]1:T60 MS"S-#>,!/B A]/VU2KSMCJB!9>D,W\8(OIP8U5XX/IJ><$=AE29LZ3S>0_3< MKD4X&VVM"ZC)5R.D5N&6DL)(05: #HF1FYRI'\YD3\!0.SJ X^.S(\<$<.5:__VY M_#6>-Q@-#&C0V!Y7UO!;DIRMC!"Y72]1[/EMS(,H!X5ZE]KX:/8\E!<[W!@9 MY>?B!A"\#[5I;"C(O!3A>#@*A6A663 MQDUM6?()%2." !)$16M3C'HYY4TE,5*6B9AN:?:B_?I@' D.[%- J%CPF/M6 M%H)4A,2F;4ON)D&TO)TD(H/)3R M'"E4KJD@7PH?7-XAYH'K"L8!SPI_DI-<$DPQF#T>V$O#KJA='5D"=*7A+3%U(XX\&I9QCG?CN>^N1,D+&!.5I ?L70U M'ZA6?5S,U"=21?GFPW% A3.C;#(E5(YJV*]YNJPB'9)EN1CDN 7Q#W_/:; @ MWD+7 R>45;7A3>&!C/@>09BCV>(J=:.C \NXP#B!Z%PXC[A8I'$IDU*:^02I M6@C*.TX70M5@'00N(AK_$=:@1_*DOR,""8LMJ=,%Q3Z?TG3A#3DNW.#9R^Z8 M1("%F&XBP#MR?[BGBQU1NKX(#][PR6($36,,AG]PIIE(D&1%#W^('VL-?.TN M@TED1P!>41BJT*3+."1Y_JI5W74YW5K47HQOAVXM'52S+AG2!XE70(E+L1S: MW"XCCCC3RC)AEPC,%4*G)/^.EG@0HA.9+/5V@*$Y$SY(L8!N."Z]]2 M??;OPQXOH>[:-?$_>+R[2EK;2F-0:7RQK33>,4H^:;#MA\^$*M[7>$#/O#H] M=VZ34^0_OSX[7Q_*P$G]+48'=O"<5K-+$GQ2BHFK:>3OW.T M0_8!;@M*C7 XXDXYFB &1"$4T;C@G7$R.=\^36=S4C)+HX?C;&4+( MKYB'=B-ZFP8,RL<6B+EFGAWW%DAS:%(0+5IS%]4JS!/74UWWKM?%5Q.N!./8 M2IVY@/-72$KBAE3Z6OK1SAP[^+0FUV67O.<77.0/Y1CS69.T2]YMTZ)^D7[& ME*5C@];@_#(54$&*$7S#B!KE07-\!<9S(V@RK$UP4^OC=V3UU$I3CZ0&;3F\ M;GJIU'G"K*3O!><30ZZLPGQK6E^EPLYT\M%=+&0R+1%L#\?2D>2UG#R,VIN< M0O8]21Q@[@KO_6N# $5'\@2W<%F#7T\^.AVJ3 K3XBKHI-(@ K3$I,&,@7N' M<%\8"4(WV$4-U#G>;$30*S#42>R4BZ8UAM,LS7GD\Z(I64>NL A[P7!JG5FI M2A$LUO":,R#(!C_BE\5G MH"V;%PUC4RA/8*(_^#&;<8T8C*W !02%R+AG7HPTT+XO<1>T]0;G><-%3S[N M?!RJ9>05>U/&LQ01E92P<'*>H4C,F'E%J%RH"(Q-HADAR1+"W!(>#7;D#%:- MTL'1*_P/KMO[<5V@_7A&>$CM+'TW-M$74,UX/W8B1ONV9CX!3(0$+&P>2!B"F9=#PU'^M%S6JW M*D-%J=D*^6CF+(KGN?%XRC6*0/49V1!2^EXKRVXK4L*U14J#OL%*B,TAI!)3 M"-K/JP8W^"(Q)!YZA[4!"Z] '5L!__$EG775Q%Q+]> M,(S+79<2UW 9^$8['L#4-_KV.K.^\@\"4@)?L)@8=KWEON">$;L!IQ;)I6OF M"8^&%M4PE K@TM:[4JAKI^&('II4'QMH7?,#U1@@!S#$$ MYA'5\U0_XI&I*Z_1:F&?-9+31"J(WZ52V@%.<^@03"OS*NOR;\#-RU> M4SC%=X\Y/6S;E"53P#=A^112'&1T+W)NH@@_U8]^B2\EI^PH='@<&SD&G)G3 M[92V2T%@.@;; /1A05K$?(29A%L 9."SDJ4QY6J_8 [/ZFL\GG:!4PU!#36 M"_4Z\4*];L!0ZUBLB,XZ\95:LY%>!WWH %N10U_QU:5!"$1MLF/AF"5"[D%Z M].U-:[P9JTA-[Z+7I'K14-06 !]<:5YU!KI**WQ !ES=:^&'1B7IM;DM?K&J MZV(56HLPFM] #KJ!)NN.*,L3-13!N(V8:&FQ>W/!Y.#FR @ M0%U'2F;: DD\F5J&H &TTQ3@N#SF\&>7)IAAZSJ39"U#8'%0QS0@3:R);N!. MW)"7QL!(6A2*\2>LV]!;&[&D#O8LI"UJ >?*%O_UI!ASLQC&T\.?);[0791- M:&TF.L'(FF[)JN 2?:Q[Z3@&HD<52K$D9EZ!HESQU)W;DC;"^>#)(GA_O[ MDU'ZY-EX;Y1,QH/XR?A@/SV,GTU&_S?8.WCT18J#*>Y=C1&-)%)YY_&B2G_4 M'UZ"E[?(X^6/&=7E=^A++^7B4IC$TMLE]F2#&I4J(]V._RQ5N1<'_>>'+[ P M5Y?P_T1O+#6[/M7L=NNDXV][_2>/C?MQ??(X&8;45)\JMK$VQ^-/5]HJYI)KHZ8>3WS " MWWNY[\5-7OXAO]?'=^?[%_N\M^7;T^RY(D3]>> MB<'A-] 1-^G]@Y:J^'K:GV7BGE[P][C;G^!F9EZCC2%.#^7VG<\4""$;YN$AP MTGT/_]*/)EEN*=.'1,1-U'WTO342>?G?LC?K- M'/%LLVBPM_-7-VE+IKU&O$[4=R$IW0$_0D]6H*#>/GF\Y_RWQV#NX[;?N%5K M]Z+6]K=J[?M2:X/!BX/!_N%@_^ 9@L!VDR=[AWO/#XUV:RFRUP3M]%0^PY1@ MET?1K\T\@^-^AO@HH@!'[,H9:9*26H@0R]-6?+UK-=_-6F^8+FKNAGU"RF+_ MC^BR8VGD:VFRYSM_,>IIY8Y;];0YZNE@JYZ^+_74Y77M7^-UO5HR[+_M7WU- M+VA_ZP7]4ZN9)QL1W-W'FY^[ T$#&1-[,"JVJ3+=%U1Q?S6AM972;[=7@[T[ MB6G'"W%=8W/>Z#_^K*SOUF*OM=A7:<6,QTPE@M.G+M)1//]4LQ'^D):.UDS\ M]+>%S*8>*FG5T4692O<<(_4M*X884?K]?_/=HB.Y7?0*[A0Q@P+;;:9L&!ST MF+]R:Q(WXVB"LMEF!C;Z("\F<)URS$YQ.O_'$FY+4SICXTW3&7U7]*,#=7%/ MZ)/1D =ZWOH@G]'=HE,LQ.,_L64D'J<-;5G5L\?6;M&;V#@X&GS$//*@6[52P^'MGW'D>YQ %*@/5>^PG!.5_KCQU'XF#Y;S)4W#< MXIW!$V1[1;,P.$SD7YKB98\1\\DGGV4DY1$/CQJ\.'A"9.["'+,]T)MSH+>N MWP,[T/NW.-!O7%OV]D#_O_++#2%9E]VX$=?;XE1)ZG;N!9&]!#31(_/)# M]C^OSM\^%EJVM/H1?O,8] D-^$D3WI]CY)69(RT+#K@JE#/W59Q3$G@X35/D MUJM72Z;[!Z127J=C@F0$?T(H2/:8?^5N&*VY%X%+'$OX>\],IBOT 51O&OT& M6S,%1===P)6GX46#FW_AW8>&E.C?HQ/0P3@G1IZCIN>8\7.L*22WGN/2+/CM MGN XKJ;1&Q"O+WY_^N&'2UF =T7-(SAN? YOA/P3=75];PW#MS<,_>'Q+QO@ M&-['VXO20UT6?8@_XSR(I:I Q(2-I^DLCEX7XP8E=EOXOF])/3YZNY74+DD] MCO.Q3EMYF\T_C9 CO3]YLY;9+;E^GDVR>;<5V,\7V[=&KK=AV MB>W;>)3F6XG=/(D].S_92FR7Q.*\&.0-WJK:313<)QL@M/>:]:+1TQ$24ZPD MN]P$T*\"QM\_Z,Y[T;EA:F=ES(<_:G, JI9;9RN>/ZB3\L?$Z9\&2WP?+W.& M65=IQR,J<)9&I.8N/W$KRZB,QY]2G!GE!W07LZSF,6(\BQ&_JK\+1MM6E+2= M%S41N&BZF5-\&?SEBABB1RG16-&UEY'6[-QE$'[+17UA91!SQ_]M!&40?>^S-WC'8:G/[\[^A!0]3T, M]JVSIJR:V(_FZYJA>F/5%S]TCL.!<)!<33,,$YSH1ZHF83I^GG<@H[EE9"&- MTL:YF=,XGZ#FHBF/6'_F#]"5R[3!X5ET09GE]P^C4KXQ%<[3_K/G7T2%<]@_ M?/+U26N>/.F#'_35+WO0W_\3>*S@^!\>WNYANYTH(2:^=R_J7AVNM1]]NLG. M3#<=EO;MLC..S;NW"#J_7RG8H/WJ=CY?@SOXX_?D3>-L^2<< G[]U_I&1./= M;_9J^2=LU+V^T6ZU&PWK=#&%<.9UEN?++EVQ 8>]^Z/BFA"__J*." 41Z:+= M.9AV#/[WL1'A)J#3[@9/LR*'8%' /M,LG?"/#I'(_Q38(7W[AX7#)9K9UOR! MQUN#L,GZHT$GMKV+,V\K>#P.D MB7YCFNN:T338=;K_EMSFFY\U9KTX,'Z].#NJ$B6\)]I/4J7RCC3&:?4J);#=HT$B.I;3._?B5U M-S3T11+@I'>:/,1 ZWQ'TG$2,8TI.6MTW!RV B$=]3,8G MK:\/E^V/K7]__NVW3_]HM_\XO;\&Y]2+IH@(<,80%,@'3UA,P#X?I3=OQ^U#T,WO9@.T#O@_9;;Q2T1[W# M7OO@X,-!,/KPL=OS@]?CX]''[@'JOC]J=S\>(IGL/6Q__(B.VL'AA[?>NZ, M?A@=:M!G?LR]"9I"( M&^/$S/VE-A)@==SI/3T]OG@[?4#;N] X.NIT_;JZ' M.FDK21MB\F,E]?.(A6GZPXYZ/(( MN=_JV&N->'L,X^W# MKH/:,ANTURV_M5.Y7>1AV#0B@LUMC+]()/WB8O8K8#["+KK3Y.I#@4Y("!5:7OV2_#:; M81+0^ ?YDS*8X]1J[E&0]IZY0:"@:>H_QY!YC(:&=MR9,3I#3&#$LP.(!I@P M%)RTU##23GO)[R$" MSQAR+;@4X7*$TD3_WY??@Z%K^:6(%X5_C^+[*' MOA3!!&]0>B7]()\#[)^T MSJCT?@=P+'.G?O]Z?U7JRFBMR_0I: J[S,_G _VO"]I+?[D-M"10HI\ZZP)K M4!%'_AWYK#^O6WDBG"2I$%PS#VNYU7HM%$M^3"NRLGJ)CX@4EA\X#;&O)@VG M,%3^PG""D.!?"8Q\+)1/:4F /:*1HI[D92CK%BTX2L!!%ATD\"#&!Z\6&OZU MI[*HX@>0R7).D, RY[OG=17>2/+AMB2#5RL:&T_ZHC(Y#>YD+Z_SN)N&;((V MDOW6CNRE'D #L-2T;]O67.RLD3OI,1K N]T9P+[=EQ,U%-3[,:&ACQB_^#/" M8K[S]E^EPF@&[S^*UM8 AK)_K@)V0H?: 5[&@MJ_47:=PFZD>"C[0AN<+L]1]QC>*;0:' : M<4P0MVVBQ;(FLKH'*B2"N1=2'C&DOBQQ%"\I4H-8.(4<2_,?9 H!B3^,IE/( MYG+8PV." VF:1/0]'6;'9#R09NUA9$O65BJ,G';7.=7J%)M9A4!J!(E*/9XN ME8*E5I"J;9 !W*-'1")TCSPZCD$M:2T0-)+56RC*P !,@@=M+9+"$;A!IEQ"SWV$8H1L$52WIRK%DJ5C6 M2,N[=5H4#M! ((O4(!96XN'GTAYQ:.\$%(@:.7B?']Q7HN0)4(,HT($ M=HH M9S+3F9QI0(,3**"Q0!:L070,T5C9Y!=$QPS.)BJ<)*WS M3DP02V995R2@;.HT8#AA&HG+S=43_-<@JT$W*JUC,3W,:&D0H_TPI$_*W9&% M/V/(QWK>9]WKE8H;>(E] M"RT1-W*8"Q04!#7!JQBM282LQ2F=V"B6-5*1BQ?D(YU-9,(F3NE$CP.@D;-< M<,$V_-E$)@MCF4[452$8NBH.> M3LQ40IBX.H*K"VG. M(B[H%+%MN:T$-3*;BX44,[M0$M^EDZK9\ZI!;R%3)[,>MVZG.2 C?[FX2#%_ M"^ ]8QIT]9>_D'^N%TL&B&'J;\NB%;B1V5P4I9C9M5^E-A"K [&^/>$:5%:& M]M:E9W@W"G$\0FU+="6HD>!<-*:8X(P2L-2RI]7(P/?NBQ#[O;NG=O?4KBWE MZ/_X+157Q LC7\[BB(J!12)Q8,]Q& GD)U*#1,JM/>]4IP6+3NWX M+P=5)5I80@^6Z50-MQV:=:4,7;2-HHRWD8HC6BUE-]^1L M^#B3-327#I!><**!3#5=I(K/1"_3[MX:-M%N-)A9 M2L^)9Y=,&VA9A2N>;N91"6'D.!?*+%TU;2 [1:N>ZGRT6L61?Y0)/\+0G3)W M7"./!9NU"A=9V_$!;[UDI#YD=.TI3LJONCDB*'/NJ2W!C&3F I^E9&;0]_0E MY1_$]RO.I8TKZYZI_HL@L3V5!F CK98GQM04+=&DV^E"UVL@M>UI3LK_A5+_ M"8?A]KRN(QF)S(4_2XE,H?>L)>77B]E]SV,1\J\Q'.%P X]X V CI[G 9RFG M\7I\H@ID=#62Y.+]1[%W?R7KCZA9XT!6I2/'[KA&BG/QL=+-3NUT>K+0!+2J M/<.+.M*_WND5]9TP6X1G8O2=_?:UY!%(-.R)7%2-/K>#/7WGE'S^5:K;":%5 MN$9B\Z?QRHE=*DHXUJKV#"_J:##\JC8>#D[O=D)L 9R1S_QVMW(^%;YV?)6& M/8VK/61^1'Q6'QT#S%LH,%*=BRB9^N2B1XG21K*?O8K!C=8B22-?NK-X$U?O:FH^VLDNYXSRAV#0RZ(1C9S42$3FUH% M4#KV=*Y6OIZ9Z^K)[)+?&;65Z$::V73_Y[S;$VI58P!Q+ZL M(%U7RQTMCL[N=CJ,_.>O3#+PKY=GE%9]IB"V@XSBO1VL0L:Z[G1F#K2*C1;A=WB2?IYI!JCKS?@8R3DQD;Q:;L&6]:V\GJO:F M40?3T -LYOEN'84"8!/M[W/A3#L?(9NJB1R7W=9V(Q.IW+$^YV@JAT[$KXCG MNOUZ$VPCT[GX9ODU<:IUI\K 4MMKM3;QII%\.QW(W7#"OIT.(_\[.?[;](F] M$T=)XGND7KHK^] 7-(QC)0- Y6!O(";2DE_X:+Y,WV<(OJ"=F%0:S247)][,7-)\ M@-$\(PA45O9V8R+QFLK9GQR@?>6YB9]I/I::C5:4BT]O9D4J.VV='Q!G:&]. M&YC39IL>MU)A-)#\#?P;&4BCMTJ6W4BSC"65I7"SA.WU&,TA%^BNNARGO1*P MJKQ&9V\5"RX6-_U>8J(>WR,/X4=]S=!HWA^K:YRA0&/*YKNQ#G=]1BO)13BK MK21SP7"2!Y#)A!I*=#9 FH]&FDO11=X;7Q)B 64B^4/!RQ *[@AO4ASC4^>9 M'\/9#,NA3_T2?R>$QGG7/\E?4!B_LU.QZOG/_/L5\5B\AA#_O2(7TUE(YP@E M@HN$'3$6+9^H@S'%='66J7 MXEF5PQ>LK3[Q8Y].(286)4DO0?I278184GZO'Y2QC).*T5VSF]2 M'J&Z:HORR'X0T2 >MR^AI[J$>7+_/U\.U:>4,?HD$4]E+S- 3,6AX!B5\KLE MZ@L:_2Q68U$S T9].>8-H?14JAMM4B'\82+_J+?6"RI-?#Q&;(+'^9"[K4@.8G9];4<1C#^&$6K$/Y M^NPOY$.#>:VDJ4.N"U^!@)[%::C?LEG2=QBD7K!@(M5BV?J[@^%7N\*BY<5S17E5T]R ME&=^%^B#4?$]IZ7MOB#E"V4^%7(PN#,[@SNKE<$M*U3;"N=Z:%M,]NX"J8US M/7<:5/KN&R#5PE^/ ]\8AIG(]RT5 \C%>63PW^UDZ\"S]BNEQV+A?692U27G M7:N<=VN6\P'5<3Q_]5P?(K1WE8K$ZE&VEGR(<^RC9 M,J:;L%IJR&P3UEV679=G"577F>HM?43A*:9J#0+.D$3W#&Q72=2":*3N;^M+ MO^=TP%" &$ONS*@NEE&L/F4[[;D7K$RF#J5:+%9?9A?*^_Y_H_AZU-*&:!:L M:[,KFLBZ+%CD97ZU,W^.9+= ]M$-S*Y0'JSR*+R#5ZRA60=2I@9SG6(67[6 MRXZR4[GB/%+YMG$%RF4=UD9_ZC*^SNKI^@TU?2:=E[%.>CI?)AG N6Z03Y#Y M&:/]0F5U]+T)EFW6?U [4,2U:KYQ-5R$>(QER1_H[XB+FR@4>!;B59-9K<]? MF*5:3$MOY!Q2'7=46:&I6\D19-[$LMFY(-2A^<63S^%7V=4[3%:+TM>B-(.^ M(1Z435&''.MFD;NG*M/D1O-EDFR3NXU4(6API3JO,-2C<77#WIV6E]ENHL:I M,6*["MCJ5U5N%:Q-$'9@)KXXGLQ5-Q2-=/AW0R\O[4D@\3->6K(%O=KNK41K MT2 *(YJ2FGN$IZ.(\=CQW%VPU VZ%L-4NG@5=\*V<;JB]'5@/.,\7)"_9-]C M[[2OI:]#:3)&MMQ:<8_&6/D%R.\G;_=$AGT:KC!U]7*+@O4;1_EK&.)?7*J< MO?.WNF25(G4HTW7LNE(V7US77UVB"H$ZE"?U6>T\VSKE? C)&60A-5A4+EDM M\K[SR62Z'[%>4URG7-7#?7A[H,\#6!P>*$A9!]NZ51?\0HDKNQS[CM2 MK=VW]$!/D;HW[S_2>;\C2#IP#VH'+@Q$A8T[8=35<=AXRIIIJ/H[7VVAZ8PV M;JFV/<9/S<@++2;,(H9>M-^.U/R2(SU3BB?6R3W<_1%]1#>8X&DT751",LUZ M@9YZPWS4HF_>N-07SS,H_5U1LE#O(-;_2CG$O'BS>[KVUYS#7:-4:++ M_H3%)-T:EI[ZF]^BI[XG'7,]URI\@?%0_L\#C/S\"X]+Z_4E5=;VC.(UXARA MU3LC%X5.!Z2^&H'4J'1)H_+^=Q.HN@YJR<;CX(7,SE1? M/+CJ0B<>M(Y#RL>['X"M%>\ZGKU)QU]DYK%_^D OG@4B22S>J9T4 _SJ\'W: M"U[:;=V]K%,K*-[T\HU)V+L@<-PKLQ2KZTZ9 58O=X?$#]6,PA"7+4Q;!])V M/ND?1KH K%:1"*=,UY4F;Q[H[2FL@GK&LG-$1_?D-A:-IH MN9*H#MV.[-GEM&<1$N\3_S)BTG67\_#JLE@(UJ%\F36J&_BL)M5#R8#T/>S/ M$Q7+_?IY8O&5V(:M/Y4R=2#L?MA7%[S?&\\4%"3\J?G75PEQ;X*F\/-O_P-0 M2P,$% @ 0X.D5L:PIV"^&@ ? ! !4 !C9'AS+3(P,C,P,S,Q7V-A M;"YX;6S=75ES6[>2?L^OT'A>IV/L2^HFM[RF7.7$+MN9W'EB86E8G%"DAH>R MK/OKIT$MUD))%(E#':+S8W_LS8_?77IG/#O;^G,W_&G\) +\L_]&+V>')?/QY?[$GF)#7?SO_R40N MBQ(!"IH"*L4"44@!C%E6HG5",?GT M_-M/SK[^]<;WC^7RV]Q[_W3YVXNO=N-57Z3'\J?_^NWMQ[2/!P'&TVX1IJD. MT(U_ZI8?OIVEL%C.^;VX]F[]1OT)SK\&]2/@ B3_\6N7G_SRP][>Z73,9Q/\ M@&6O_OW'AS=7AB15X]=Q1W\?/*V_?_IB-LTX[3#3_W2SR3A7+3\/DRK QWW$ M1??'-!SE,7U*\BR?OS@YQ)^?=..#PPF>?[8_Q_+SDY2_=E 5S^0IJO]\R..? M?A,AA4DZFBQG["W]?#9(!=R3-/AU@?1/3Z?Q',5DEJY\:5*5.)N?_\M)B#A9 M?CHZZN!S"(>CCXM9^FM_-LGTAKWZOZ/QXF04LS12>P>%Y00JL@3!2P_968PN M)\-YNCJ+5<".)%PJOX0N+AEP-@0Q08BG.%ETYY_4"1?+R;X=Q>G<;B[7>P*& M\SGFY:/_.TR.<.290LVC F&"!25# H\^TONLE'!HG="LL6 K8%R5[!)OGLW3 MWFQ.4T!F[LG>,5:C=&;Q3C&%>;I!J*OOV]DWGG9'!P?+9P(1Y^#\WU?SUU3[ MBUG;23]5+@FQK?9?S X.9M-+*(J/7N7B(6K+0&4RQKZH#%;HDD*,T:76G+Z. M81V]B^]3[UM-=S.E/\MD)DGV,'D?QOG-]$4X'"_"9)1O(-13.#2A>#+B$&;*6N=AB-?-BQS'?XT9&37EQ_6784@%]D'\DO6'TGD7( MS =*8"6CM\\Q,$&D)(P(PH7^>#ZDX*A7U6\ZY*M]8^:MP;!T!IC0[FBZN/_;%$>4D MT\5(:)I3)S)XR2@5T2R"<]("QE!<9I)S'UL'@G@>2.<312(% IKR!8[ ADH$*'H)SDNG:>W MOWFRN :P(1G)YG1IKYIFK/EC2B9[@OF;N!=XG'0\2B4AA[JZH3BQ.(I$7ER+ M2 *'Y$MCJMR.9DCI97-^-%)"N]6&RLUNY*)$,F0:M D,E"P"(D,*XY1R1LA2 M6&Q-@-.1M\7_[A#GI,CIY[<8.OQ0*?&N_-'A\NDC9"2 ]PBE6 3E HEEG::8 MU&@AI"[:M3:!=P(:DJ?<0//7R=QN\AOS^?R50B&M4,6#L9F$0VLHU?<98J"X M-Q3M16R^9G89P)!<70-];SZYS?3[?CXCTBU.WD_"=$%Y3_$N)28 ME$4%2CT499_&*W"\* *(' EE4;+U:MA=>(;DR!IHO]G4-R/#K[-9/B9W.K(V M)&:0HJC$!)D:J2$J)LDC2R6$L-QYU5CQYV,/:;&S@9(WFM)F"GVWV#\+E[O? M9]-T9FBR%$FKQ"'86$!1E 51R@@412L9+$5;IK457PED'57K[T?5VT]V,[V_ MF7[!;E%M25VK6@+[!NE,U!*T*YR<3.1D7!2CF")@S'61,1<7>'#6-F;!&K#6 MX83Y?CC16A$-]\*ZQ7R<%IA?A&Z?L-6_J@?Z$B85[24&*Z&XXL8"4CI&Z5DA M?,Q:\,4D)5PJZ%H397UTZ_#%?C]\Z4DM?6P-7*39(B4G.()$1:0MG(,7AA!E M)TK6+F+.C>EQ$T6K)>+WX:2N(5RL*W$9HV:DREK#I[*6X Q%Z"XS##(HQU3K MTJ#52(:4Z&[)@=L6A+>8^F;T?G5P.)F=('[ Y1;T"DE9$E*FFIH%$\A$\TAF M.T00WJ!PD8DL6L=.]X(:4E;\ M!OPQ4>3O ]>M4^9;P0PI7VYO-!HHH%V>=67A[AS5R05'+4H=)8-LR4L3)@061,P%:%!&D;(0J90SFD+S&<3 M,=20KG6MS3JXAI2D-Z9*<[6T]"_+F&BY7499P-M9F%[:-OL=%^?PHBA$V;J8 M)+.I4D?P(0I@%#L5I7G&TH._60_ TL4QYD0M#>F-;3L#:Z!P;OT&^2V@NU;OCG?E37;[F3UI$72\Y MT9 4, A!K[H/('E44JABG6J]T'%_N=,C;W+MA"U;:Z.G[4XE,R.S3T)D) @6 MZ^I*T8#)FZ(5JV=5=K?=N4'U2J$@)4%6XR97 T.'@N:JVN M2B*U#KLOCS^D98QV!-AXAAL6!>%A&.=77P_K&?3SCWKXVZ%Y80UJM:,>(UOKHY:00#4( E(#D49(CBX'RN!1( MC9ZI4%0)KL=]P!XV-J/19MG3(RE16WQH 3$*O82A6%),\=:N;[,U_$?8^'N0 MMN\X[+3)7.]F6?;23GNLB:V@P(S B%K"H\%Y>I.#91(Q)GIRZP-":T(;4H3< MBAU]:*7OC9Y+L 26(&S4H+U0H&(NX)-F8'4VZ#3+TK2N_+\7U) "Y58T::N) MMA67EV2\A"?$C)E+!KS8*FU.X#*%WDP) M'+ZM*\J6@@P*M#GH8FMYI;+@1+4/O# E0RXVM:YJ7P%C^U4Z2@^/\#6]1JM< MY:NO:7)4V^#5](#^RY_"UQ'YR1BD,B"L,-57&@@YTT1P;73@W(?0.H+9 .:0 M8MUM^7-SU:]?K34,BKMEK?)9LMF-E##"68GG.,6R;(ZEI'.V;AS5"@JC.405$:2/Q2AOE8JM M'?LM4 9EHULS:;N);\R"?F@MO$XB! >.UR8,F2%XXY$\FL\!G9+1?K=FK4WZ MH*+C2OL(-M6J%,4,^& +%,HL1=&JB-Q;\X/;7./C&NRA\/'6M:$-M=?#.*B[_IS".Z]8C?$*"\;XF)JW#[P-RY#6D(=*J"9Z;+O&2%+. MKM+\S$.-.,;$DB-WIW0MJ P6HI,&^E>Y7EKQM,^DM2QR1'E,K,%_B M%YS,E@U7SM\R0Y!J. #(L>Y"FPQ>8ZX'3T,PWD3)6_/[3D!#(C+KW[KY3PS\.$(#W+!^/IF"P93Q MO7N++(TV=6OM,PWP?C[[,J:G/3_Y@Z"\F;ZFR'R:ZN99(@*'3C/*4NIM8^Y'30*]G M\X\49.'SL-3407T?EKH><>58M$F0/U64KBI!AM0[5_N+9Z=\5-A\D6]3K(,Z M--D3\6[4^>Y"KRU;1R;*.Y>)])NN.ZK'/=^52Y?^C&)0C#/N@ P6F6#+/ 1C M/=3.'%9G(0AV\QKQ>T -*:;>%:V:*JH=?\[8_JY<"+R,$RC<*VB$K=59G&3U MWD"(Y+[I4Q\H#LRN^9T3MV%Y8+3]M[)"6^FE%RNS).N[P^4RW:NO.$]CFH!1 MR4$IC"1AEAQ(2@E!)))5&)^(P5*QUN<4[P4UI.#[$:S,]HIJE]>3Z-<.V]YH MLG?U@TO??(_S\8SF*LUKD?%+//V;?CXMUGKU->V'Z6?\0-[Z52F8%J/BBXO& M:["VOB/)*@@Y98BBH! V2\_Z.$R].PD;%!JM8N/%EMTE-AIN34[& Y&2YC(; M"S$$"45)5:0H/C4_4;0^ND$MU@Z7XS=:/?2C_I9U<*OPG6X 7L67K,@\6@%) M\ J: 4T*P6D42F9XD6PN!MZKD WI##W^Z?GMNKOFYZK?'DV+'LOZ:61CO!A MXA I@(,LR)5+=/6W UD!>>15[.^>GMNJ_S&LIRXAI'I1'J>(DZP[)1->> =9 M,QM35IKF82#6<\NDA8CRKMQZV<,H<";1UHL=43'*O94')[6#Q##D&)46O/7N MT@/@#2G,Z8E==R8R#977?.'DT^Q9(B1SO!V?*(D%2SFZ2%AWSOCR[FT.KN@L M799)-S]SN#ZZH94,[X1<_>BN/VXM"Y,N76,PHE$+UKTZOCR5A!C *VY!!N3> M6Z-4:IV5W0OJ>UBFZYU)6VFJ[Q!@58*'18>4"P.=?+T$/@MP5G$@NF,H@3F4 M0\GO-ZK5OQ82WMG88)1<0('90Y*UT4_ VN\^43J1F'?<\EA$#RD%84=\:D?Q?5TI#BAU-(X&M.X2():6R_Y9>!$\A3]"(NN]<;('4>* M![DCUYH?FRN@&0=>XN$DU%"9?#6(@@C; @>I M'G](O0%WQ("-I[_Y6:5$TIZ2<108EJ " ^%KL8GFE/0PCE!836RC=K)]&Y8; M*!YXS^"C9(R]^(O-==&NLGIU$1OC/(3H!&BL5]Z6H,DV*08QVA*$%%8V/\N^ M>>GAKNX4W!$U&JBDIQY[UVY!?W8PFR_&_U[".Z_TCD*S(I%#*B\5L\5:J<.U(T@WSY$TQ+/6.B'[FW#NL?38HP$\ M[S^_K"(0/(7@$KB4ZB4\,4.0-D&QC ?N>%:N=1')G8#6XM9C'POIWYYMJJ(> M67-:@X+?+JKH1HIL9E:,DT%EM5&2J?M/GNB-G!N7;32\_RV-F[C6XM!C[SOW MSZ$M%=8CE2[RU-/FO9=-I,R%;"27U3U3C,A8!J>,!BGKO=!1B&A;+R$]!-]: MU/J;K4+WIK\^#^6>M6,E\L\^3\?U85<_^3?FE\MN%:?U?2]Q$<:3C0[H;CA2 M@\.Z+61L='#W[IM6EQ62;Z:?Q@=8YN$ "4^9S0^6Q]3B9/QY*?I'^K,K8\PW MA!AIK[T*1H+QL=8Y6+)8A8*G;!R3S'&G0NOMS5X%ZO5>BYO3)S@*:X4#H;4# M%2F \$(ZT HS>F]D4CN=OGOFX['[X@R%R0^Z-V,[K>_J(NR#I5Z_X(NP2/M_ M'#[+_WMT6LOT:78FP/D,O^H68](7OBN?YF':T2-I8M_/QPE'WJ-F@M<;OE7- MHDC$($.$5+B+0I%;TZU/_N] K"&52WRG[\ C\*O-,M&Y5,KG 7U1*'#4'%DL@*U O7XXY0BE>B1*%5=;?%^'TC'%(A1W#8_Z0"-)GP/X\ M3"KHC_N(B^XL5+VT"K)%@+[FDQL$Y)O(T"@ OW*G)+,EU1/[4)2)H&H')I>% M@L2M-5P@CY.$RZD9#6DU@,,'I&F:40=1FL0/;, M"NZ,RK)UTXB50(84K&ZL]5NO)-UXRMO?/_OG;/Y7W=F9)>RZ44E*9V$C,!]K M>V=A2#H?P'MI%-.1N]"ZJ&0UDB$%:NWUO_FDMR? Z]KT;1_SLF7@R-K@H]*J M.L]:R4(^*CAG(&I?^TM@2?T9M2M(AA2OM"? YI.^Z^C@_&!5N'2F:HJ+QI'" M/:/T%#4\1+9&$<2MY]0JM4),%!\R#4*H:@@L0E"%@_0\<,XLK#B6 MVTHIS7S1LY1.%Q4P7RZUI?^?X'+^I_ERI=,=9STSUR*G"!SK9;8E(WC.#)04 MN3&"1\5;=Y%MA7U0IWA[8]^C:'K7+O.6PI3&+O.>47IRF0^1K9'+O#G:^77G M3D1#P9('%!0N*RL3^)PL1&)AE(&1+6M]\O56, UL8'TP,;Y03D"J"I/7>/%T MXOZE:WB-T3*K;,$(1V]@$/ #>D-QH&^ZLL&*]Z*KM M<9%;9;\&,":-]8)H6:]U4M)CO3'3 A892KT[TZ;6M6D/@#>D=8!^R-27KMKU MLCB:I_W075KI'I&[MT84&CUE#BH6#R&I6/M0(D$0,?C6JP0W40QIA: ?:FPY M\_VVXS\X&)\VR*#L^?0"J,\X323Y\J!";76[1<#SD,I1 M(:-]9L"#'X5KNK9W60WR0)TC@GZCW.JC(U MZ02AH =Z'32%ZSKGZ.ZCPBZH(VR M[IPS8IZQH+P(2H0@-6]=PG83Q9#<>AN-;SG3C^3&?POUHKG%R3/*;DZZ<3+!;H.\>IX%U4HY]W*7A[A*$6USTI)#,8F\ M)U*\';U7(((+QA:F6/-&YQL!'58 TP/;KAO _M794QSTK259B*;>>)UK*"0D.C'"Q M$B?6U%\50>IM%\RW^NQ$- MR7CND":;Z&/8:<>(/T[B0>,.(O6X+O^NDX\8"S'&RGHM; (5)26PP0B0OAB4 M,=F26\=#@T@^+HWS/QCFKV='\U%$%)ALJB7]]:+M9, QS&"EM*D8[4IHO1OR M4(Q#V2FSF/A^"\A-1!T?"\&*XT9#KS>[*9@=!J0+:6)-T85DT MORWIP2"'Y&0'1[:'J_%QV'8\&TGK-;=.4:"@Z960K( W:$":>FU8UI9=;XBT M6ZX=SX:U5CPTICU0A3OGV>\4M'PZQLD7_(TBH/UN%$-*3!D+O.@ *F.!@$%# MS$&X['GR?*<+>'=@'5(?Y$$Q;RNEMCGH>R?43[/G^#Z,\[.RP/DW[R]DH/3' M _>VSDQQ% ?$NBE3N.%1<.'L? M\'@-0I.2X$NS]_IH<33'W\;3\<'1P=V\=TSG: NO-8N2@D@EZ'7S%H+1.:=: MP]@\+-L<[9!6.K9ATGG7W/NJB\F2X[K2P;K)Q^^0,>UA-BT\];.+N/J6> MWEN<_(:+_7K5\[<+%CFW/@G%(?M"9!2>@Z\7+7/&E _"1&E:KVGN4+RF=_\X M*=!:%8 %53N,8FWNGQ-DX2T+6JBD6T_50^_^V5G;Z*%2],[;@QZBP/:[])?N ML4+R)]F9 DD$#1@55:B6F\87,3BAW].IO\: M?@+&_G/Q'[VPRL**>3"05<5(L/'0W'__IK_2?"#'^@Q8UG MBV__]N.'^?SC7W_ZZ<\___S+YS@=_64R/?])SX7U_2!\K?OH_O_WZ/GW "V##\6P.XW3S 'I\GE__A[?1F)^6 MOZ0_G0W_.EO\][].$LP7ZGET"3]L_(OZ';OZ,U9_Q(1D2OSE\RS_^)__XX?,/_R$?_VXVQX M\7&$5S_[,,6R$?W5DBLH4^'\S_II/^V-Z0,!F:;+B(Q^BN-*\(88[_OT_3%? M?Q;+6.!R-&^(^.YG-\4[N8!A2P'?^>@&:!BY^',_K?BY\6Z%Y.QIE6C)F^F$U&PURWUQL;K](WU._O&'8?[;CT.N8I&H,W! [7D)SB?G8G'&9R4$'^S\U+K>JQ6/)NDK M$*.Z,4^NF32"B*/%3P>7,W8.\''P?D[/J<S@49#IYSD+&LMF+:8 M61 RL.",!NNQ6%7N\G!VQ>L"L[A@XNH1Q$@I?\+1?';UDZIIN=#R9A1+/>Z^ MKM?C3SB;UX^IS?3A1#R?\'H$M_B]/T'>L<&8(!KQ,(@2D,H M4T69'4M*.!("86 Y@JP L:;=7>JPC>F:TV$O@=^D@^Z##Z]GLLB(KQ4$QFA4K M."U:)09TT#/,07DIA+#&'8 *2S3/D@8["/HN!50?%'AS.:_>#FYN)B,'S[&C"%\ M1BC&COLL,T9,>=TRS2^<4! M.& MU\ B*A:2< 3-1Y&L"$6'_ECQ[&R'5J*^RP+;G 6KPRP+R#$YQUPA1#I9SV*) MP(QTTG&9'1>V;P8\$Y.AA8CO:MXUU_SMDRM(.KHD&2\F>C)GK0 6)"+SP3IK M@E"RM/8?'L+S_#BPJ[#O$L'O2X3KI?X!<82#4$ITQDL6,Z_QCZ!9B-PPA5SH M#,FIU%N,;8&@H;)O7:WTKN(]Q'A??."'9:#\KVDTF6'^VX_SZ27>_' RGN/G M^:O1XH%_^W&&Y_6+?9GP#D>P#.+.O_PQA?$,4A7\[,67V[\Y^SR<#;S4''4P M+$M-!JU-A7EM#?/)2:$$CR*FQBSICJXA@QZX"'N 43M08'(05?00B;J-Y^?% MYMH)T6#MDJX'DOQ\Z^ZKS=FQZ8;Q+A7ZTM\#--E#^(>AA?$B>20SQY:8R.#1 MAD4LGHD,)F(JRN?6-N6AZ/#5!>XIL6$;F3=DP6PZ'YR5,AP-*Z!7X_EP_N6W MA$-R M7YU,F@ITXX75?_RT)A$RBO[5\C+^^FR<3TY/E_!; M+6_] EZ# "5D#,Z1S1E (-[C7;OGCM["+6'._05GE]HW?3&+"#]!RDGXX!43(CC:E,D)]-8FQD46V8!3 EI'/': M>8SS:Q_=WD^4WA33@QV[VEK'YR\GLT76R*O/'^M>?",096/&!)EIVL1)(#JQ MX(UD7O@D52CHM&K,G$=!/?DMI:W8>^!%Q?6F_'TRR17=>YQ^&B:SUJH9DNA2S:5'1,[0-F#P!Z;KQH M)_T>TG/>XXA^=?YW'),(1@3Q+%^0O.NRY\-/>(42C+;91T_8,F=:$X%#]HY9 M*1(/Z "P-4>Z(7MN9.E!'SUD]!"EY]/+-+^<5CE\@.DYS@;M>\G>^7N@ "EG;WEFBHI5,8]0, GB6 M@X,4E+2\^=7<.H;GIO>]9-Q#5L[U:E^/$[E$OTYFLT$LP2,XS:+2A>FL HNT M\S!CM5<&= B\=3;./3">CTNQHVA[L MNZA&6F%Z/YSBEGPS 9O2*CIJH$SF] M )%Y0^8+K3 Y&8,Q0?16__$UEB>O]R9"[N%XORH_F7S-RROCHX3B2PVQN)+) M4/5.L !*,N719XL9)?K6;_V#B)X\$1H*O(?3_F97N@J/#<>7!/(FMO\"RV2* MR[_[ S[C[-5G.@#I^<,Q3+\LY%.KF6I@;;*P;Z^9'GV)@G/'4D':YES(M,TE MS13M?2EF.N5X;+Z=]+:<)T_$4U%U#_;+->356_6"7*PR)%@8A)9!, EUKTVI ML.@,9\[Q8@.9UB!;FZX;H#P3]NPGXAXRB7_'^2W#RB13P'-DUI;(M RK$*6 MC!MKM8L!;/,,\J\ /'DM[R[.'G*%7\%T3)O,[*IVX07,AFD0) JNI255F,1T M+7R+P5KREI.(D@L)LK6%8!1&N4].1CIYHC M*XTC;SL@"T9"%AB3]:U+TS= >79ZWT7$=S4?]M7\/['V',)\]HG,D7/\_;(* MY4VYD[B^I*E5.8N$G-D*41O:FHB8@J'0"9R#J)N[JEL!?/(LZ4\=]UR"[9U[ ML0'MBMIWBQ]$;3YBH%3_>U$C&5D4ANQ5'93.(%/PK0W#+2$^5P(U4G074-M4CW33]5T@ART<::.CNPIO).##:3^) M%(04S**L5?&6K.!H NUX$G16EN?0*1_WM+2^H3[DD$K?0JX-E5VS]J]0O8<1 MSE9%"]9&[H5!YLG:J.V3@ 41#*N-DXR/M*7IM32&N_G_&S[[ MOZT%NO%U/7913S^M-K=ZZ''*?;HWW_3)%Q *:^675EQZ)-I8LO-=)HO.PDZU M/SUWX339RJ YV9P8>D M 4>'+0_D VM7XW"692ZY-X7GE'E_E2!?@SF)V,,V^GZ@XF,/,?=0([3F5BEZ M(E=D<"6AR:TJ-;)#!.&-$4IEY[V@1 M)E6SRP#STBOE;=16=BIT?+I!AJW4^%B081MQ'LS-[ +J&PHR;*6C3O[F+@(^ MF/9ME%I"DZ5O(]?6088N7I5/ M@6=/#E7DEO 98QA@<0:5NUR[/>LBAZ2[N_IR-(%T?>&53OI[_$6 M1;L(_S -JRQPH'VLU.H0)&0Q,/ A,9'1R5BRMKEUQY.GU["J,1NVD?EA&E9Y M'P3P3!LBK:CV[G:T(6:RE2(77$3$$#MEJ#S=AE5;Z>3QAE7;"/0T&E8M&K=^ MF(P(P.S5?U_24OIM7/70\PX0T>Z\W+5@MH+L>,Y*:7(>HD@!K0Q))A5% &,[ M-+)ZZ,G-X]A9&NV*T@PQ"J8S&:^Q-G]-TOB:]%5.0'H"CD,M*Y#AP5B]H)9PP&7IIGW!T_Z[)7 MM:V'S?>2>0_6[]VE#J3-,KC:V#OHGCF--A/ MZGUTJJF(E@,*?E[TPGB+T^%DE22\^.6;CPM/X-5GG*;AK,XQT!"R#I%QZ53- M5R@L&#!,!,^-%L6GV+J#XO8HOP$>]:>U'HK?-R!>3,BY'[ 6SM6)>\S5[">= M>6*^]N8)%DA@T2?,G?H&[T^SS2"_298UTED/)?4/OA:+;@"#8LFO110L:&7( M%RV6@0B*.>XRVJ**3JVGXSV.ZINDT:Y:Z:&(_2S_?Y>K,;%_3,YR7@@?1F]A MF%^/7\+'X1Q&"[AU'CSYLA>U#GN1@_4.250SBI'IR"WSU@&3LIB2BU/)M:Z9ZWM-SYNS)\6('HKW.Z_OQ?KZ;F_\ MCZYU8#&$D&+UM7:5CS0TK[S_]#\Z*'/P8-'T^_X MY^)7LX%(7D9 R6P-"9&#[AG0N<1VA?N\R7'K9E<82TAD^S&59&*Z^,2BU9Z9Z*)+7(;0+?]^"U8=N7?8(7FRNZSO MT?S^]PUW+L*\ W0HZR0SI/VPYA_&1?MMF4I.R3KLUN*AW>5CF]LT\FBDC9S) MG&DQR1GF#:^S*C@/QA5:6?NQN@_?INU=-.6QY"R#9B"!?+1<)/.9\UK158JR MWJ72VT2P8Q=-[9,@L(<8CUTT=6<)2V+5TV0RKF?/,B>PQ)F]!=Y#]L :IJO$W@Z@>LJJOA?0<1*K M&RINO7U@,ZD?C!(V@):R=B<.@MZ Q",#K,.:K!4*%,<86J?<'9 *CR15'YH) MVPB[EPEI%Q>K^.\J\1?)A/.*"P:JNKHZ SF]KMYYU("+)3?#MA^,M@;B\,9] M ^7<&5JRCV1[2"'<<"-PU-.UP(=!Z$VUX1D9NO!/&KS<):E!. MF#YXT-J*ES#[\,MH\N>L_VY!&QYU@(J*+HM<*Z9P7G/#M1+) M**VAA))-)J6Z(@-WT3Q>3+'AHDDG:Q2>O/^,T'ZP[QT4)U$- ML8V&-TW=V5&P_;?^$:9HYVDUVO@:9O1T6*(M#+.VQ2CAO6\]4?%DHEC[*'8/ M,9Y*%&N+,E_^ G?3W>,7X+L(_4/\ A_0.H&1>E6K?F\3 V=K,72"O R9S;C^K M]ZGU#VC,AFUD?IC^ =%P\KF39M&E.D48'0O&.>8CH,C9TX[9HF?]*?QY6X=.UN'9-3WHY>5L3F[9]-7G-+JL MZ0]GLQG2_^<_X// )MJ$>P@XP#[_-->7/ M UUS>U%4#T[U!GDL'8,XN_C_842RPK>[(+F)[<[:^ '#FA9']%K5-@;RGW MKGJA4I8A%&:@'CA*_&__YR<3WZ1D L@%BCB+PF!0O)0/O$4L",%H1-63WF/#WXA"/%O3[Y!..7@PG]=8'/N+E?)BN8"4TF=?: M!!,$W_1P>34RP;982N M/4>$ZZ3)S<]XLKIL)+9^.JA_W3;Q$QJTD_LA$QFW$=8R)C)"<=ECG:1D>R6IP-;U&>28-@'<2 MW MRAHI:M*7E%N__AO!$=%+D #,B4P;'BAR] .7+)>@4=8^LMU:])Z6ZA\PS0ZI M^6V$VSJ3Y *GA.0F F"5=X8>7?&A0J,R.-K4P-+"9G&?<8K>%9X7H8;/\:R.NG/V6M M[BG+UC[4V=NSERL83I<:C!/,"^5JQZC +U@B;Q#8:VPW(M.QO;-9SYE1>TC MGH,4)=W--;H52W\31\.E7=DT7>O!)_21K-5]26NI6JA\,D%E4U34Y,X&JT,Q M/&434^ AW).J]>"SFB0MO<-*QV7+MKN/>O7Y(Z;:\FAX07_RIKRGG\[*,NGT MU^MTBR2C=,MQ0[7:P9-WX(T%AL44'6D'"="Z^V@[](V2OQY&,H"2Z*W,GO'L M:B$Q*-I0N29AE2P1T)GF<[ [ 3M&'NM1>+4OF]%'#LN8YE]"D)+12WDM$_ M9)(B)!)E0@8D4 '10+*MWVZCYVIN7&RRV9, /WB053%P&Q ML.@X,).DX^!=!'PP M[4- KH0D7]T"T)E<,]0#[;")X/(?,6?T M()E'+IF64&@'XX:A+UJ TH96^\0O_[>2^".7_]N(ZQB7_SSY8$R]_+2U.:FP MHG;UE;6KG$34BJB<.ZGS"5W^[ZS?U@(]1=?D_1RF\Y]AOMS.O'8ZY)R9TEC[ MD%K/8B0#VIB2[)C5?_5V]5_MD8+< M]/G[1T#[$\=:=)3GK*SDNH!-.@<3-(\:T'L=BI4I#IHBV7-PSG@^S/7SAY_P M/:;+*UP+U(!E +6\Q+K" 7K-"AR(@ MMP9"ZVZ5K;#O/7QH/QQG%Y/+\7S@%QR"*] 'SY0C?E#V7LQHO&4"%D.L$WUK^KBR2":PX M$\EI$5#*G)N/8VVZ@D.%MTZ"P4=4_K(WT\.++_1^P] >UU+7C S.ZCI&. M'A@4C20/*2"$@KGY4*(>EW.T 1]')&G;';\967JXUK@?V>]P@5?QIP[X>FIX M^ABVX_1 /1DR="+IGIH\!N-BE &=X RL"DP[L QT5DPH#9+'Z !;IX@=AVF/ MM%Y]LD3;1H%]=.VMPVFK:$C."]F\'<'XJFC?F>@5ECJCLM I8#2KPRF92@J, M4E Z#D39JI7W1CBGXD#MJKL[;;S;"/X@@U->CS_A;+YH93P<_SX9_P;3?^&\ MF@JWY3*=0A75'J&PG9ZS?\AK_^6M)_[E;)TT4BN4NG8[D]))6>@;*XW3=K#3 M$_=[T^][Q(V'A"'KE,DO,C82Y:KMYS$D)C'&"(+L0-_IK[Y0W@.O[.U MX\+ZMM9,[CV$<=["E\4;]\?D+/WWY7"*BY&GMU[%@2&O!X)3M.?F2 "!_![I M,Q,B)RZ3R+*TCLP\"NHYL:.M!GHPAU;S;]],ZUBTU3<+J+.%S%<_^64X)E8/ M8?1FNAP8_GH\FT\OZPKJC.RT>W,]CGP+/# M:NPNU723*,1RQ_R9L"]22(>3?'LG_65RE48V&TANC#.E,$EV(].ECJ3G0C$C M(,N4)!:'C?FU'<+G1*H>=7.72>88HS.S!PS%.N8\B8B8GA@DVFQ="CX:8SU] MT4^9P6F/SNR/4WUKZ2ZQ[)[#DFY%:'[&.-]NCQV/+V&TVFE5#1U+4VAK!1); MYI8%K3A36GE?DJ"-N%N__W:8G@.SCJFFNVQS^VYC]PEH>35KR!U&SQ6KEP], M\U"':DM+VVV"DI6QVK8>K+<1S*'R0/K;B-K(^=AY&HO.P-<9 $LK\#; MT,K=GR+6JXS%#9?-T6M(FAGI%=-227)2(V=%&"?H1 ]1=3H!'^M/OP?&8V56 M-&+(Y B::ES9L@G7ZC*L"[*&Q4T/HSG"K(N#:772JTH.2QK%(VJI"TLYT#N$ MQ3.?9:@=Q[ES(7@%+:HECT&6AZ9CG"!7MM%$ZRJJWTATZ7($TVKO7\01;;&O MQVEU&6XT5R[6S9H[9%H ,%_':M*9;Z/-AMN.!3@//>6PE3%>F[(.HI=?(NFB,/C-]/79->9-W#9>L]R)R.F1<9650I5626 MT9Z7&=A2'-*[X%SKS(Q#:;_K[/B^E;^-B/M(.,0I[6TOWI+R<#K%O("V.J)T MG?XEO6-.6UI?"H90.5X[W7EKG0QH6RT\H+&JCB?#1*U-L3*Z;Q??(@YZL@IM+L;?W_.7]Y(.0 M;*ASIC1Y+SHO3%%K&7JCBJ\SJ(SJY3V_%\Z3I4%K4;=./UGM/_)>8! !-$3# M3*C-]8*DO4>00VL]#P4 9-%ZBY?\_J<\6=6VE5_C4;_9S\-I:R+9QII^AQ\O:SN/ M&9Z=3W%IGJY!O(I9= #9,/K;&=CA \'[ZW!R* 4TCO5V!QN%3DH@;83)+\9_ M%P:"_LE:1QEX@% Z)?"<-DL>B ?B23;R/V@05YNI>.T+3*%]313V; (O# N M T070HB1/[$@;T]:Z1SOW4:DO?0Q'L$<<\VH_O+'%,:S9:O'V8LOMW^SX'V6 M61I-9V[*23#M$5BLB3Z%[%;NA-1@V_<2[XKN>1@7/6NEAY30VWA6[TD71#V% MB.^B.4Z(N"_]/4"3/83?2V?IN\B,-)@XLIAKUUT4-EP*,@;UGD7:#V M9&EL ?-(M]3ME;TMG?;45"^W'5M 1J_JULG(M8NT.:=0([? B@@IBUS00.LZ MX*.3ZK'+[]/BU!8*:FW.1E>W-\I$*[1@Y+W79NFF%E-QR906RO!B M0,MNQ2)??>SA393>I#]I(KK6%]QGTW]CAA40H:63IF2RQ6HS'Q\6MIABDF10 M+)+A'54G'=[^U&>JPIT%UTMGK%5"SC);L[9JFHQKCXJE/Z712L$%B[X6S/J2 M6#2)%ALY07911=G\"OLA0,_,H&PF^X:5@%]765]CNG*Y.H#JR62\%]"14QCW M5]R]M>TMI-[#7G$_N%!4$#+4AA^@F:[I5<$YRX0*TON<+:%_NE3HFL]X("9L M(^P^>EEMRQ&+UG27G-H^=> MJX?B2S-,?SF??/J)/GJI7_KB1JWW//!Y'//[2K)AP76%LD1Q53/7 4>'<_QQ MS=Y^ZF$/Z[W%/VDHNX9[\1T\X'4IP@F&.=+9DI)B$!36Z98A*JDLKI>.G9P. M-YRRO:EP&Y'U'/MP'(L6EI93G4B3#>WR6;+L12PIY:A,MSEJ1XI]["?:!P(; M6\BEX>FW<: ?:.&E%H0B\3K/JP#A(=^?6R0KK@3NNB5S/Z&!I^T3/_>6[%U- M^YZF6'8 ]0W-,-U*1]W&6>X@X,--L VH52F>95Y+DV7VS"]:$FIG44OB=V[1 M*.3$9YBV5_HV$[[@U1&RN^] ^!&DC MYV.W!MPNPR9)KP22^UI4[0H #EE()C'K-%DD(FFE>6,&/=%TR:TXL%.ZY#:Z M.')&6Q>HW],EFRE[C]2V731U;'*AS#(+QV*J'0QB155TA:BT=,;PY!_S14^HJ+1W MW70N+=U&L.V;!]V^#/$Q1+!),\B%..ZXKY,2D;ZRP@=$[5VW.35/*$%V9YWN M+KK6K^U7>9X1G<[UID0X%$P;'9@'[9B-PFE59"P=9PT]G039G56XL^!Z:.*X MF-UV=GX^Q?-:?W8K#+7"E[(%88E<$I2HVX1C 8I@6*2)1J-5N74[M\

?L/&#G[=_[+<[W+4 K@L23,@IZYQUC":6 M[+B0SM+A&=&8P8.?O-\[>A.[HF-\</RV_&[RI)ZVP?^H/? M)^/IU;:+J ?7>\ZPF M-Y/_9M<_6P*\'GB*./_[='+YL4X9/XNSQ8R; ?J<"Y#-)%1V3(L@F53S.KN^I!]5W#Z'BEW6.Y3C7_ZGA[D\P6JS@2KX_ M#VE M]1#$^7K TMDG.JX6UR63Z7O"?#8:3?ZL(J+O7](+.YS_.IG-_DE_C)-2!ED% M:1)7S+I"IHZ!P((0](\14?J@3+*M=\)]\'[+N^#!]-P#1]?1?KT6>G%GLW^0 MT& T)+^J A\8(^J5GF'.U-89MG;;MEF3I$P0QGNN=>M+M*U!?LML[%>C/;C) M+42WO'/2)![RZC5SO#:2!7JA@@V)J> 5=VA+TG""YO=![X-/AZC'T?NIW#=? MK_[%E^LO__<0IS4O[LNO-2MN<4#O=[XR9W\:Z":UW ]G1)O170XUQ3]Z'Q3:3J35U' MYYCC"K@E\U:;2/^XVN7=N$(>FD=IE1TS#4/G(10G?N@R6!UB$("EA*ZU5?L0J"[<([H9[17Y";* M[*F%'L)V]T&35[7OUEJ?963)6& MO*H2)Z< 4F&^"#I;[ M,=[_TQ7WNV#OK4W[[KB/XW>UXL"=EMT'5F OK=[W6$/.O'B,="[[6E]9I&;> M*,=0E:(A&_"V=?>ETR/?(X[9*7)O&[WUP+G?)F-Y-"]7O!?),;K+'TJ;Z_57^ZOB:&WG2Q"^R&!82;9F M9H)E013'E#1.92ZU;#Z2XJ3KJ$[#WFJONX;C]G;)%^T"]7O=53-E[U$CLXNF MCEQWA2(I8T.H,T1/I^!-. MY\.XS,&X\AUTL4$B,!,L'<]>TOZLK&28;$!?$&1HG==U+Y#33O3?2G5W^J'N M*_>#]).YG2!YEC42X8ROND?*__4/VKP/8IB MR,+)X#-]+0;;/ZZ/T.&OURDQ6*(VY "R6,RB<9%FL8Y]*E;5T&96JK0V;1^! MU%.P=/Y5SYP!Q C"(3+C,M0X;F*1B\+ \!*T,ED;>9!UKP$[PHCSA@SI&!+= M0Q='3:M7V17NA6>UWJ?V'ZG7"T+7BVTG"*>/W8:B/X^T^L,39U^='"#"=(?; MQ%T-N386XH7I;!2+WB 3 E (@2:FUF;W(Y">%U%:RK^GFSLR#V,*JM9FZE33 M3B$R$)*S(K)(09.%&/JXHWM>BMY:DGT$<]('S)G=\?>@^>[W]]MHX-2N3KM@_WY_WY@#+>]0=U'@J9$0 M/$\VM_$) MB_KG04%3Q^76\(4T](^K;8\#,N1.<.-X'41TJ#4O$!U^VVO,C/7-K:$">@A0 MGZ5T>7$YJGW ?L:/4TQ#J-*FKT>X$/LXGUU,IO/AOQ<_W[B80PA]WV;UP.2DK>&2.6_K-HJ5'$J$?*-2WKQY0_ZB.4@\N)T!J$8H"8/%X .0UOJ7'+N MN)5%VM!ZXD4'6,>/F;>D0]U'-)&J0!7.7Q=(/84)N\ [SC1\.:J[4J= M/?5R) H!@;$F<::T5TS7+!3OE6$6N?*\>I"N=2[=T:CS2"S[%)BSC3I:=\3_ M%>)D6O_@RS6R5<"T&&6TPC+_(HPPP^347Y]\7$Z^82WN[,3=Y%KFYBLJ'10CDSR@BP%5_.! M$8)MW0CM 3C/AQ&M9=]+(<7%Q\LY3M?9"HYL*Q$E#!->(Z)5_W(Y)4%?3J^&!M-V+I5*A26] MZ$FID8Y"8QAF7:Y[F)D7R^">LMYMJ_'B<0R_(155/M45FW_D/VOJ_=X='5N_N0M?%GL5'_"--\* M]:E@3'*9&>E]K7Z/Q$7M6!%@4_:0.6^=V+D_ZKW#Q;LB^/VROL!ORN*WL[/+ M^8?)M'8%'T2K45H#S*$63'/G65"HR)LTW!7O0:?693G-%W&$ M?#\O=.J/JH M-.BCE4BC!=UJB/]W^F_G@Q2C#5Q()H6O%4ZNU#ICPQS$%)/(9..V[A/?UUJ^ ML_P8I.C'R;V8C!='[DOX.)S#: GT'SRYI$-HC!&1>M M9&1]:[*[2F8@R:HC=\Q(+3)'W;S@=EN0WQP]^U5C#TD%-S=:CTINMDETRRLO M80MH"<",CV65N"J\92JU!XCRP9^ MW@54NM2)8.0.*Z]9K W30@ .BKY/IK6G0*RRK M,$D7-'W=6G^%Y$@7U#MK9H.*]Q!K_\I&T!R#S$P5( Y+6_=2'YF51CL7#P$$I^["JY)QUO(\WF ].KH%^/\V5:[%T5V2H\::3#Z$1@(G%<]D+QJ5B6 M($A-=GW&]7X1FZ:G;WK$$>*]>PA^TEQJ#5W_*U0BW,(B=9:<;&%67.VURR-G M0#]A62 BY\5PY[IJ\/8'/VF][2RAC6]>_R'XQ4_??*Q?M@^]W_?A?87<'UW( M6J@]*I.2]24&P37I*'!?5"P9N>:60]@0:K_O,4Z<#>"\8WP\4#:ZRUZ;ZSU#:_0F=Q\@E_ M(WU?7%Y<"^#JO4J!&U$TN3@1Z\1MA\R#HE4+LIMJJ%]*TXF=!P;^;?'YE%G1 M1QA^UW/DU>>/P^FRH!6GPTD>H)"96Q/)@Z_W6+86*1H3F%>)E('D[3>?;]8, M_#=#\>.JO8^2Q5WEN/CGO^BDHD-KN10Q,,*15QP\XR1-6DNJRXC ,D\*E!'9 M8.O:UI;XOTT6'T/Y&],)C[ 1WU[+.S*QYK/5T0+G.(@%41@Z6+Q(O [EJ7-^ MG&.%NPQ!"+WEIK1?R;5+[J'2XRW%S''-[_]Q M^JDZ$Q"0&]"1N:C)@.)&,4B8:REL=%K4@5?=LO![A_K-T/D$-7^7U_9T\0?97 )Y^-LM6'%AO/+6S+OJ88+:S(&Z6,UG..P&\&ZI'GC(X8G12 ^3'H38^F+S]WKO!//+VFGE/FC)*^DU;:5% MN)JT95E$'IF*F6O:1G,VW6[)'W[.LU!Q0U'V<'FW"O,M#DAADI?1)N9 9%JG M=RSR8IC$["V/$91JW2_OUN._;4=L5SWT1XG5P=4%3$_^TU= CN/X[*R6^]6[ MATQ[, "_!@4>G"YDG$# VH$MDGF,QC*?I4D8R'@6K=LS'T#!CW@(_>AW&U$> MS@]=;%2TE]%^]V9\U1O'YKIHA0Q5IF--U=G23D7FA#'699D@':CKQ'WP#F\ M[*'(;B[CWEHX7+>"6U#_^'-R!=4@AN@T<\:I97]I7_^)$@6"-]Y M$V8W+1RQ:N)F0-'B]_^@Q[2OGGCH(7U5471>V'HU19)9 .?%U7NBC &*3%Q; MJ1V0_9\W5%,\]+BC5U5@BCQR3R3GG,[-(@KS225F590:#19OFG=R/XVJBE9Y M0T4+[ES2+)DZK9+\>A8].8).*TV M=W8QUU "]9P)L&[X N9?Z4YK[_!Y)J]&'P499]F2.8&91 M!,EB$F Q%@31.AO]F277;,6!!Y-KMM'%4TE.Z+*F[\DU6R77;$630V0I[*+C MI\)?0>>,]#HR46)BFM=A:3+2/]'2Z1-KXN_!7=>3X>U6R34G1]MM5-L#7>^+ MV+Q[_X]5^([,&@XZ*H:+$>[9:T:G3&$FBD3GBK(BML[1?A#0";HYO>M\TI?" M>G#2;U]3T>.2#4HPI;-EVG''@'/-"M?9& W.Z=;39)[5+?T^%MVN>NC]EKX+ MF&_CEGXKM3QXB[N+3'N_I2?F)N$%;42)I]K<3#%0H:8+"2M=K 73K:_?3NN6 MOIU^MQ'ED6_IA2Q*T;I9E-K4)+'(0%K#4C)&1+(E,CH#."E@4DL3I0DXZ^:#79]$_5/7?"M8).N5M MJ7BWPO\H>RE^H2A;5!%I9S4;6[EZW]K@US#D$8D50HO1SJWR_5=R3VZ="A MO\:'7_6OPVF93"_J;)B_3V T.TL?AO@)\W7'NE_IN]54F5>CX?DPCO"/25W? M;^1##S^.AC74EHM/WB?F@ZT%,9R,,UD,'XS!#XE7;<> MR;NS2)NL7&@OBR3Q9Y$$O;PIL,"%8=YJ+S20EV >M;B/OXQO]44X=<8T[)+8 MT\IA>H[S+LM6/(;,O6 N0+UY48(VBT0^=%$EJ@A1ZG*D%Z7K&KZ_)2?(E8;] M%_M9]OO+CS5#>-IEX5R AH*6)2VJ*5@'0 HNF7%<..>B,^NU>X=Z2;98Q??7 MY"3YTDL3QUT<_5L+7WP_^_KXO(H#+)=^:[$V9- QD&*D0Z9]IH.S#B%$IZVP M"!"Y[#>ZLR/R;_"%.%5>]-'Q<5=97TVQG\VGEXMHUYOY!YS^\0'&J\X2BZ' ML]=7[;6+509 2$;>%#E9!CVM6%LF2@H894#G3J8E]99K^V;>D),FS=V7PQWG MA'@UFP\O8([K9^3JB*Q_]XY^/>!:IB"<9S'$VJ@#-0M8;^ARSD%"X'P]A:KU MB= 1Z3?#[]/3^UU2^],I0S).>),6$S]"S6&KW<30!):%02DP$0Y829Y>0IO(WXC?RY":<>#!,J1M=/%4 MRCBZK.E[&=)694A;T>00]1R[Z/BI\#=+E:64P!R7Y(E*H9F/I9#%#2B4,2GI MUCW0GPYOMRI#.CG:;J/:'NAZRR!>Q3]672>Q>(G.U!E;B2SAQ? MB,S(XK)( M(:)J/CW^?B@GZ.+TKN?U6?0-E-2ZN^\M3 LQK*($->UQA0Y HD]),C U$5\* MP:*3BB%H5+)(G[#SI-2''W6$8>AY*7IO4?90-7:U:RT.2Q625*J0*U%J MP\MB@7DC."LB*)V\E09;MWF__?QOVRO;61,]LF)UEG5!TY,[=0J.T.Z:V:#B M/<3:ATGX-2J/QL@8'&UM,C)M$F=!9\FR3T+%A!YEZQ8()^ U]*7C;:39^A0_ MJX*FHX:,T\57+]ZLSASG :)5FDDKZ3 3VK.84CW12D9A0!R:%RM(HN91>T4.;:I<,>U\ZG;3,JO/_=P2FLH MZ?MTMX.8^GGU;I8$@AP^YYF+1M49J<@B5ZEV 7;$QR@D=,LX.3O2:]:KQG82 M4^OL[PI%7"].W( *46'A13!RNLB1#UA84*"9X.01*)U#BMWNAC<]X6EOEGO+ MK(]73]SL J8@(.K,,-:QG-%CW0 ("J"..4=,O%M4XNO//<*KM[^D[]/=#F+J M1V/72Y(ZZUQB(.NK-NV1ANRP^H]P*F;A'(^^6W#A[$BO6:\:VTE,/<\)@AA3 M**$PC[ZV65*.>:<,';S)V22$*\W;53^K#D3[A UVU4/#BI#[>RIT ?-M="#: M2BT/SY'90::]=R#RDLC$=/B?DO6CLP06;(J>I_197F@*^I3[$"TE2+WZ$"TC1:.W($H M$Z9DO6#T5I [#HY>$#2:F6A Q&RL%@>:6WR*'8CZ)KFP MAMXG',-T.%DF:%B9(^V0S),]3,XGCRPJ;LF,%=9B<.1^=*(%/>$6)>B[&SIL M?/BW:3FVT47#RP95UFR&+-C%EWT*0Q!V>EI?70FW7^I:GT(.":,-6B>CZ:TO((*- M3CNKE*NY\[<#TL':>?AJM\I[O&S6CQ0?35F_(.T^1\//SWHE!K M.*&_F\UGOUZ7VY0<0@Y1LR)J49:N#:V,(>]&$7TS]T4UCRPT7D(_#M8 ,,L< MR("WO#:>3;3HFQ[HY7EMIIP>GO).$?I^,/Y$# MBGE5(3^9P^CV[ZN4?I_,_R_.;^2WV$%6B:H#G6S(W'H&06:F8T8Z6&QAF:R2 M$(RJ[6R/\6[NN[!OF]&GQYT>PIS]+?+ZDY;_T7I)/5EC41=3+)-)D#46@F"@ M?2!-947^.B05G\Y+\\ABO[](I\^Q'NZ%;V);;=2QC'-Y#]$H9VB+\)[Y03(JQ*&AM\/2QD$/5NI_2JW!\1IQ*$?SK,?F&>!W@^76USN6\-%=T M2I"8+-+1>FQFP2;' # :K7@6J?44IP?@'#\R?C2N3/K160]VS 9H5V,:.X#K M*?_B06#'R<=HIL9N]-A#!P&2IJTE' /P:%W.$/ZP ]GX_QS;88X^5A7O(H"KR!:I9SC21/5 M%1V76FKFC38LBDS.A2P%=.NP:P=8SXD6K;701RX8CNA7YW_',4YA1$#/\@5) M?#:?DA ^X0KK%:N30:M] B9M1J832!81D7D)$8((HKCF^G@YL;Y?I^+6[*Z7/F)&?31@ MZ;*F[SW MNH!MA5-#M%,:1<=/Y4>8(E.^R#),O293@3X:W6_4 .SG:;J/:/N^_;N[DKGH.$1Z75:@]#_2R$C16=."#21DA:ME; MPL4ZF&?2!VPK76^Z1-I+4:V[$;Q[?U8'GKZ[Z6%$5B09'E*0@Q)IC=ZYZJ5H M)GVRPFE=XGKL>D/%YIV/_H9)T$#6?;8%JY1<]+*ZJMW/( JQCB55IU'EH%D0 M6C#:;2'$[$I9GT79H278VD.^=3:TDG_KW@F/-[,+DCLE4=.96W@M;RDL9NF8 MC\X;E8PM?.N&<:?2&_!D.=) %QNKA%NF!+^$C\,YC!:4WB/7][Z/V3^)]U%P M:]FY*6F-WNM@"M?2<^ N @INBR^6:SZX[P/W#../8#9[4Q:?^.OUE3W/:&-. MAED5@6END067ZHA['W3VQEC9>@;XO4#V=J[JI[V>S2XQ_WPY'8[/EW&097?& MVVEEKS[C- V)\H.$0&)7G+E4K2/KR."7WA/-;7$*>?6.4FR2Y1\.4 M#DBF)*>W4R7-N(!Z^61LTJDQ:1\%]1QXUE;RK8WX>DF]6NY[3+2;SXX?G MP]D:0\"&8+D'A4\3QU\_>V M>^Y3YD'?8F[8TF<=ZFH(G%'>AP"&Q2(5TUYG%HTLM4N?]L1/#K'CY,SUCWY. M>MU!6 VKZ=?1_!>,+J\Z#@Y*7IO0=Y5\LY#8M>QD:5Z,9S-%J$=LA[(("4[ M\TWY^W0RFRW2S9:V)M+1H8I93"&IV69E,0 =F!$RQ!22L&;K#;O;HY\3$7H0 M]EUJ[#DB]5ZT9^/\#H<7\7(Z6SHR#\$OA4-1Q;&0ZX375")YYI86@CPI8W0H M7NW!E6VP/%/R]*:.NVS:?S;I0Z&=W_'/Q:]FM!UB J$TL\YSXGQM5P'DMABI M>51>"6C?!JX3LJ=,H1YU<)8P#980(B0=F7$UA%%DQ<+7C.Q<(2D<><^M+BH?P/&5^-)?W/638 M/U-N&_X.HA)!(1)U4QVWK%UMBNB!"=39$'B"W+S-R38 GP-=^M/(/?QI6%V^ M0/SBRT(@JUZ(IAI),;!L0#*=21312V R)7*\M;C6>#^=?%JF@WI*M1#812YR34:T-'8:! _.6B"TU*3@]9*[. M,/WE?/+I)_KH)3WHBQM6W// XQ<<[*G#21M9-KS'JE"6**YJ:3K@Z)#H_[AN M;S_UL.GX>XM_TE!V?>H2N MFPJW$5GSA- A[4GO89Q'.'UYU6(ZU%EYT48F9"8;P1E<9GAH(PX* V6 L-BK&N=%D)NC$HI7(?. A..UU M[%9C\DC'U>L'/I?C<'JU XR&C;)O/?KPK;%W%/ZZ^O:07..6 MR+?A2.6B$;0UE%@K/,3">(?"$$PJBY:OI=E;V:<"'VARW59_VPBLL=Y6=X17 M-?L0(&G/F>#"+,,KT0&2%R8QF5(K^3N5P3^BN:\>>MC&U3N+?=)"9@?I4+VX ML)DO8FAT9K\DIW1(:QZG(8H]*OY.;X06TF]==?DKSF:(;SXNPK/C M\U\19KC,'_UC\FKQKOY^N70LR*#5 @5SM4$C[:>6^2@X0TT.BM*.@S&=*-_U MB<^/"/T)O(=\[OMPOL,Q_@FC/W!Z,0C"1+!T-N=B%=- )VT$37XG".^JR\P]E\.DQSS"]A5IM/O5[T'UX(Y/?).%U.I_3E M@"NIK;6)!2,2(T-.,0^.,^NDM]8%&77K9D[=D#U?XO2@F1X&O-Y'[\4_RR;5 M54HD%,R5ZU5HX_D4TEP,0DU9"H9@5Z%HE0NK;?"82M7<5T+)8@ZP!76 ^GP9 M=@C=-HQOGR,WZQ-'P?#G*)Q(CC:"S%D,=RQK1TX%+ M[+09'<^^)+M^E[6_O[T)S/.E0QOY-TRIO][':'FT_BGFX?P72,,1<785O7PQ MF4XG?Y(@7L)'^DV-#BACP:7,;-29)*!5K?>2MI50+/6?+?+MZ(WF-N9:;WU0(#(HB,6A',O%@:T/@Q'P* M@24IK5 !4=EN]1E[P7A^-#JP:AIFX%^_ )/9[$8@%??T$D8O83K]0C]:U"N^ M7'F0%JR1X"1#(SG3-@@6E/;,61^=25)YT3J W!W=\^-6SQIJF:_?723+O G MVF0P!\:+)G,=2F;!<$[G,P>?A#>XGIR]S]7*07)J#[KC]"3J8V?=+BZ)KZ]. M:G?RE"XO+D?T329S?XIIN&R$CK,T'7Y<-KF^NF%99@2$9 P&PU#P0#9?"Q%F:S%=)56A54&#K]:+73 =)!HF(CA5K?"Z< MDXG9K=W'_9]_X)RS@RAFTE:JK?,_SC1?X+D%QY4<<]**::R9RR D@^IZVB@, MIE3 1==-R7<^^]DK>#]I-G^+#1IUL+DIW4^\]G_[L%;RO1-NWUQN3NT\.V-4<.%I"D<$S87(B+,ZQ(,&P M!%;P), DDSMI=^V#G[MB]Y%C#RD1=Q(WZO^\^N_+X2<85??L_I\N[!1CI2Z< MZ"<(.B/Z83U7%#,^:US='@/K,-#)'1U0KYZ<[I@[VE UCZX MCS,(ZU <:4+-/13<0X+J?FL@K"%QQ7)V9)H%(UD4D4[PI,"82*>A/(U-\@B% M5$^:FUOHM0=._HP74&>O+M)/KC !!A0R16TG.;6Z>- MW8?C\%UE#J?)26,U]# A8.T.N+XE-G$>$P +/-EZQX-D8Q9-MH924GHPUK9. M!;N+XCE;8'O*O >[_FM$*Z>E"Z:>+*;[\!S'$MI75P^J?@]!]W!*W(N-.RA* MFL2X*#6!R-.1Z5QB4"":'.I+T'RNSL&4_XBE<0C=;R/?UG&XFHC\ZP2NIBQ: M4Y3@M#8>?*Q3%I%YEU6=E&5,,CP![Q:C^?ISC] V;F]!3]I(J8?S^AU^FHP^ MU12_KQ, 5^ "%\E*.I4R)WH*%9GW*C 'W@OG?1&\-/$N7J%>H"K2=C\ %8Q[$)^]+HPUF4>ZNC]_WG:XC. MHP!O12V@\[3IQER;W"F/&) G@!1MM%"#P1Y/I/\L?L0O9E_J*T$KW_?3SNB34_IM2M1IZ6M-2=2&+*H_F<112<7O1#( M79+"95-<>; YT:;G[?>6KW_JK]?YXME$$Y#L8U,$6=Y #/9H#9,R^U0B5 .J M\0N^$]G:!P]BB-PI'9E)OM:*:V2 D)E3RLALPN[N&H3#[U9M-+V^ M5^TCV1Y\[/5%_G)9]^3?2+@7EQ=7 P?>8148/?!-^64X2S#ZOPC3@-K M5;=#.L:M9@&,83I+H7TB5S&V'A"S.]IG2I^^]-4Z_+8&^X_)"WP+PUQQO1G7 M#*,_Z/<(94['=>%)H_##THZZ+A@18= .HX+B<2*#MG7B5DEMDX)N!?(H28\'&:+V%ZV MQZXTV[22A?>(/B=9LF0JB]II2RL&61?F%7J.R-]#N(WS9 M6LH]^-)W;/=5H_8.J'J*S-V/Z#A!N?TU]@@%]A#WX8GOOQVF/@.IN#]H_IMI@@6MA53"0P6>3M2-_SXH8I$K!%1-4]MZJP6Z/ MW#?=X]YGWCA%7A4A+:8ZQ:7.3::-QF=5P_H:5 A&A-+Z6O\Q3*U&J/XQ.4O_ M?3F&3>:B;X'O^CWR?AB,J:]=WI[W8O9T-<-6M^103>^I,,T3<['PW]C M'@@Z_#TDSDS-Y].F7KD&"$S3,9<,.CK 6P?9=@+ZS(C4O[)Z"-/>I(UM,@A> M?/GJ-XM@E"#$-I7$5.*:+$03& A7I^!)%:WR2?'6%T,[ 3U4F+=77O6OHF-' M@VLU^LTJ:YE234F=?YC<:J5_]Z>(M3I]$14I.@=.@F3)^1H5485>(BEJ_P?@ M*IOD:\.R#\?CC$WMCS^0(6FS<_FD3KI6WW059PT9C#Z,Y?#NQPVEU MTJM*#DL:AVB\P<"4]5#K)VOINR=*E@?Z?YTB5[;11.L(]_WQ ME*LIC#I*6VBI)9=()E_D[/\O[]IZVTB6\WO^2R5]O[P$L+U>8X&]X=@'>13Z M4FTKD34;4O)9Y]>GFB(EBQ+)&4[/4*8-P[ EF?U-?37=5=5U\39JB+2]8A36 MQ-"O2&G?*O-VE6E)13>%'"?PWM_7)CI5N5>CB=>#BE<*;1,7/G,..>AJW=.9 M[4/RP N/50(L-:\^W@GF_"V0MGQ,X&U]BV?S0O1 -%5=\A,TI[GL;D37=H%J M&UE/49K\%)E1I-9H,@3A"RCG'$0T=/ %HYTR=8Q.\RX%,[%_X)9[-O*'B'@" MTM_C@HZL5W\2>;A88%Y!6Q]?A=$O2SN"%NM49[^'.2QF#!H76TA])0"C)0$#DAAY5%-$K MT>F J_CL,V-7>]-_^Z7:1/8?F0?+$-N^$"%KUNOI[V5JR)_QT(B49 M(O=9(TS(I%%)(F@LC$ZZG,&EY, F58(7.@C3KQ'URXDP3<1*[V#3$)%.TC/G MV>-R/3Z!*6^-(VBU2790 ER,%KP/AHL@@]\NK)HJ?^K',"U:3M/K=![)(ZUCA-03C'2@>]2 M--&T+@\_@8(<;-9["OT8(OKFMD58WM3T\ROZ1K=8]=[X!RZ1%OBTG37.O0V: MJP0Y50$D[B D6ZO42DE6!I)-OXDF_==\,0EDQS#532_F65J=O+_+_7F'W<=% M^.O39:H)E'F58+O.=OOENG2+SZNG6O\PF7#=HN;#CR9,MLX9UJZN!/W.'\+?%V+%H",+,\0ZC,HKB#Y[P"QR+M$SQEL7-AX!<_[M MM;D>/=/_"0HM$,(\F^Q@.+OFA*!1O?FNX$\T9:DLCT4\SE^/..J@=^.\+.M_^_1=9LGBAM22750BP M',D.\:FF49':HC,B!&>BYZGY]K('T!FJ1CL"IDCJQROZUL=W>(V+<%6G>^7/ M)/+E334MO^ &I9&)6ZXT2%'[2M3)6RX41Z UDREC]%HT/Y#[(#M#?9F DJDF MHMVNR\'?? J+C[B\* 4E)G)H9"!@B@4!4<8() I2<65L:EY.]!R.,U2*T>*> M(%Y8S[QZVJTUNJOI-H8SI'Z4F)_2 MKD=W8-E4J/UR3:XMUCZN%U*&*+QDP)&GVFB>0TC1@^8I.$;:2% ;,_\,C#,D M?ZRPG_)OQ@_5>ACZ25AL4HDEL++8ZO$@>&,<9-0E.2Q*8.L=_]OUSY#QH\7[ ME&H[OM9\HW0;-_CR^I8>>JV5]7H,Z?'Q[N?( \;E;Y?7W>+RYNLO]9:5#BW: MN!Y_RO.U'DORG5/!>HN6?*Z]3R62%TWV3 @>=93D0J766\B,CW>&BOI2E>/I M>^!&>TFUQ/]U6&)^TWVNI_#=V^F<5C(J!,FY 96PEI&H"$;IS+)+J*QJ[14] MB^0,M:N!R)\J@F]7 []' *^_KK]YERU@"A9MO05,*8(RSH)+@?XP.=O$-?H) M*^![PYRK_GUZQ9F8HI=0 ?_GHLOD#/ZQ6 <:U_W^A B%; 5A& ?%D8&/@4-* M2BE75(BNUZ7)@82^Y]8^??K.1%QW#67>.--SC>?;\$,G_> M[WB.GA+>2,"SL9],U,D:!*:%!Y5SG:(B"W#!B^0>10HM:LEG9GU/'N],I ^1 M:^O): )(HP@.,V0(.5,@,E:*TLRD[98!.W)HGG[VO#FZ MC23>M1-7Z[ZDFPN@\.@":'V_O!FO771*9,)"L"7B ML\=BWSV_K07:O&[K>ME=7>:5];$R:%=;DE,^"LP.)..T)05<514@U&[,1DKM M7;]>]0PT!K(O>$-Z_.(UJK?!U-#$VT7CE-49HWG:"_E(P0\^39P M7ZKJ)2M> >.VU'D> EQ)#&(L2>02F9YH(SA9H=4\G ^1ZQ23"397->O-;&-Z M>!.45J+4$8:*CKEBZ!"2!K0V/%@OZN7M5'=CCZ',>_"WX6G7?=@((4^2>;?X MJV9CX^_W>;/W)6 A:^T"Z* )&*?']JGF9$==,WYBG:K>_$Y\!Y@SX+^-H*=H MVK%I3O+Z=GEYC(12DPQ3+D"H5(DS5W>@[0N9N# M[5F9((5JC>4AJ'00S$3U=8^ G+BQTWBBGJ33C97R)"U^O@4EI)0AE0C1UK&? M*M+?N)<0 T]%V20+;YU$,0/E?;LY3_U_7S_?AZ-4 MULYG.IV8X02J#ELD8YBL8*/1TF-'S%LNP*[HW8X53G8C?(S4N]8B:QW!^[W[ M@E>O+[M:*!7^PMN;R[2!I55T,6"$+%4MY$NZ&C,9@N2U-U (3N]?X M;KEL)+99!@<-*HTCTS;A]&WEIQ4KF"MEQY/H/*T_<"6&L)[?UL;_>9R5HZ7A"M*!<))V5N=1D/-J! MF.8I%2V9;9_>O O->(]UZY-IXZU?"!^17^0H59+<0')UA\W&0,@A04S"6J:L MY?U2"<8\Z3=X3M!@KHT6//5>&PE]DA#&%K8[[ROD&$4P!4S"VNN$3H!88@%R MTXV0)@K9O-7@\TCF2E":B_KAXCUUYM'.1WG]]0/]U[O>%EQQR=#5/DIDMSM$ M<+P$R,Y'[7)1NM]XC3'J\@#G5&&.%F0?TI\CA3Y%D^(G3TO_<=.QI@>TJ7I6 M[X9UFAA',PH/;BWCY#^WBD1%KX*N):\\$$1-7@"G?X:LE S98#&3FU53J\:! M6,A)-&. V*?0B'4?A2<0-W,:6&+:*P]:* 8JV@(N&0\&L\TZ)T$.:6NMV _I M!5BAQ]*WK18-93^')?KZZVN\3I\^A\5=NW=R&47.64!0T8 J0J\&#H-P*HID M;,'FP]X/83IO2^-X\4\Q&>,)O@VZ]:O1!]]<-L<6MA=C>(Q@]*"Z-*!C#A-D M&V? VCC+(1B'OH[7#!"%TN"D]/3:&.9=ZVJNTZC+<&-D1FT9PL(4%W,U9W@= M;%QGKE;_?WTP1IMI4V7TJ#'+.W">90M%^Z29L,:5UM[M7D OP"09Q=_VQ5TS MX4]@E;Q*J;:.)GP)+[_44W:-BSD6E D,LF>U6 TE66(^@$2=C1#!NN89/KNP MG)D^-!%YXZS.W\)_=XN- 7UW5[VZS3$&(0A;C2TN(2(7],0EDQ4M34FE03[G MTY7/P.AL(-+&\S9J4_@_RB-,:U7N ZIATO9.(/-G;8]EJ)M*O(U?[MW@I',R M(V80*M=D94F>MG0!:E='XSP&+WOUR7M9G.])VIZ%\B%2;9V;LX'R:I-!+!!] M;>7/HJKFA?!U D2-LY%IP8+4V'/ ZM8'SYMTVTC672-!M4[$V6!YO;$)G3=) M!0[!&%-34PRI9#)D(C*3+"^9&SF(M-=G1MHQ@IKJ37NS&:QG9!".MA#-'G7RTPS)7_>VC]F=. !XEC*QN8,R^%#M;F MP%1*/&"P6C K?2[?*G N0TN&Z%&3H24#R)K@ M7N68DM"0I.+).BC!J5H!1*>1LP@%47OTV?#0?#[0=]Y2<8Q634W1J1.;J^ES M7X[X[7FS"GN:%#!KGJ'4VT9%1Q1X:0+0RR%M9/0[^C[*=B#TNQ/ ]U2K/8CU MKK7T&]\&/&. ;#H8] #5\"9H)Y#Y;X(:$=5-)>795, IIV/V"4Q>78:8#!YC MKCTG;-8U1IY[=?5]6=3ON1":D_DAPFW,^"LRDPC)IDXUU$$+)COR>VNNDY41 M0L8$W):4R3KRA?=*[CA \^-5YW7Z&]'0-9'A! ;FV]_>;JZNE&0JHJWV3[VZ MDKZ0$60-:&9#-*KZG;TR-0;8C0^K?\^LCI1EZQNE5W^^VMR11)MTBHZT*1HR M;CT6B+[63^JDBA+NO6$,7/P[1CA;,7@K&5!).9M[:R1D_;.!NEBSD5G94P9%H/K"6B&4!S+ M1FLFD%X:06].U!IRRUYOXK+5<#GPE@A/;O;;ECH[,=>D=F0S.6AZ+C+YU\/Y[#ZZ.V4&FINC4P=6G;]]/=9;M M9;Q=T;4J*"JN&$P!@B]8!UK6&K#SY!K% MQP2;UO/(-HD(/;!-5-RY#]=I"CM;<=A+-480,+>2!*-16^X@:4L8:Z**L.*E4(%R;S)*8G( R/C(14Y M+,ZSO?(, 1UMM4K5C9;U=A1[_(&U7ON%!F6&,/[DC#I&K"\DM8ESU%$7 ]Z; MNH77P /Z M9A<8Q)>O[6OM#W[GV/496I*3JU][UG_HZ-23G."M3)&?08S(%7 MR0%+VB%*X4KLU7?M[.>1#>+[\#RR(7*?:R15'TP_TCRR01SUF4UUC(#G(I\Y MB63Z9R!SD$Y)ZRQX7@3(A,RKK*S4+6K;7_H\LN:<#Y'KC//(G&19UB2M$&(= MA4K8G!$<$(4/QE@?<^M^-2]['MD@GGK.(QLBY"DLS[W#590B7=?1 E]-WI.. M0RCTU(H@1\VSSZEUI[.SF49UC#'0GI4)VBH^GOG1!\R/.HUJ$%%[9Q,=(^7) MIU%QIPKWGIQF[:O33+M630L"+67R,;%"C'U_E(^:1M6.\2'"G6T:E0C"NUP? M*@=6\SG)\N%&@)$V8G0"%6>]QCM_@ZXA:DW>+CKT0F$L3V M9"J?3$:^G4=.F00]'.=2\SNU[-1."IKVOVR'=)MNAEE_\,RYN?;N]& MPP152L*8Z*72-?W/UR&::,$8E,B9,-&TOC7N!>ST\9QIE:2;FJP)?/R#(#JD8C&#JA0G%4L106P:&BDS]X!S$[OR,50>=,JUFXRH MM[2*9P8Q6@&12[(>:]#-MW;D!L [+P6:FI^9#B1#4-TS4%$:;C"2KDO:9!62 M8QIY01()"25:H^D)9E"E'?!^'%5JP<\$=Z'/07W[O[?AZD/W;H'A!A8'\<-6O/7>O.W<^=U8_1 M)6.9"]G54IU8RY(Y..4EV*A)(V0,)?2[I#NXU'GIQ03BW=D!O.45T#]P>;.X M33>WBWJ+\"DL/I+U%A8UV^@+CKC=Z?6YXR]NAL/?NI-Q5A7ELI-HHG)>.964 MC24';8LTGE_T6F%L[]MOE^B6-Z^N,WT-%U_P(:RIG4VDDPK0EPS*)P->H8)@ MK?2VI%B:3Z/M@VM\W]]OUEA]_A5MGKFN]OMM?67^*']VRY5B+-]>77ZF-XR^ MO7YK<5$'A%UH28XLCX&\B5AOR7TF-Y9>6NYDE#X)*_I-33I6-,?!GG__:ZYG M3_L"STOF!)[BAZ3OGMW.,Y=8XX1 M]Z3=3/;H\W+3B1;KO*,(:97-[6N_XV(U1.],$5P8B:TU8P"\N>[I)E>3J2AY M*1=Q>P2X"M26PGUPB2Q23G8H/9,FL1GZ6^) I--?OC76A+T; MTSA&)MBC/M#/;8E@[;ST 3;1S=I.4*>Y2VM*83>E_&=5$"5SX-YY"*;6L7). M &N_3XO1*Z%Y3J%U6<;,BG'@;NPT>C%$[%.4:5WC!Y+0!URLK.Y:<8+7)._[ M4B*9;:Q-Q&K>N03E7 )O:WX";43?=O562]D/[8BR M_G+](X8E_N>__3]02P,$% @ 0X.D5@_?' BFY0 O7$) !4 !C9'AS M+3(P,C,P,S,Q7VQA8BYX;6S4O7MSW#B6)_K_? KL(EZUKN[JWM^)&!IY2;J4R-63*MN;37X!DOI29), $*79'M$N629QS?B!_ M/ #.X]_^QX_[!?BFBG*^6O[[G^*_1'\":BE6J^4:O"X46RL)OL_7=^#O4I5_ %VL[L'?5\4?\V\, MPO^H;GJ]>G@JYK=W:Y!$2?K\7XN_8AZG&B4,:H4U1()KR),T@5&41YKG)$ZD MOKK]*R=QI&),84Q292[##!*B*-1ICD1&-+/ZR*FY_3J(H_7ES]9^:RW\<7?\]K:Z.*:4_ M5_^ZO;2BQ6:[88X;'8B=E3>6%_\<'\U(BQ [60:26GH>X] M5=6/M5I*5;/EP=!@+O_]3^:GV6,);QE[F+TWU]TOYWI>$__./4Q,]\Q^^4C/R_9O2H?6'.#T=FZ"+49__%,6W!] M6RAE_81_^WEGX,48+T9&;O%"H('?:UW_O[/HK<2!5@OK3:R*YZ"LA"U M-/94B&A6\LJD9B0#3Y+\K!;KA"NBXT]K! =,]-<\;-8 M&9?J80T/)LFZH'T,7Z_Z/$,U^$:A/X%5(55A'.@3QIUXRH5QGDOU1M7_?;_\ MLEZ)/^Y6"S-&^?8_'^?KI\^KQ>+=JOC."CDCDFI!$@PE(<9'S@V_4(4YY%G& M5$Y3G>+8CUJ\Y$^/:VJUP4\; _X,YDNP;\._@MH*\+NU S2&G'^=@DR3*SL- M!O[@=!4<]QXTU@N]8+SF)WUDHNL%S3'S]1NF'Q5^4&6IU*<'51B>7=Y^L!(_ MS!F?+XR8&_9DOX;EFTQX=&73]ZC=>& '1@0JM5O@); MI4&E]178ZGT%UBO %;AASF)'I2U?,)[SE??]_8C*;N7)QX7Z MI%^S\NYZ*>U_+!M^8PLKX2OC"_75+"=?&>/^F.$\EY*J!#)"S1I0*P%9E D8 M89F3*(U0GF(?E\U/_-0\MHWV8*6!,(H#MI3U#VIG@A][>]J#WRO]@34 5!8$=,SZ01>(V3R%C\IO_8!YSG(]1^G'=9_5HMK7 M9,7ZZ:M9]Y9,V$5P>$Z10B M1,UJ!%,$:4[25&B>,4$OVY$Y+WQJ'_=*4[!8+6^A$6?6)#M5+]UO:9F!OILM M87!]F9V6&NF=\N"# ]0!MEBZ,1ML?Z5%] MOKG2#TKVSXC"&'YD)^:.+M?S]=.UE&8&RYM5N6:+_SU_>+V2 M:B8C&64HXE!$(C/>4X8ACVD"(XXI0UG"(NET5-XN9FK45&L*&E6O0*TL,-H" MJZ[;2]J!;#MSA<-K8 [K"Y7SV^N&Q FOIE3B+[>K;S^; 6J'QORP\V,ZAAWE M57/09S@BA,(0$5 MBP5"G%(693YTT2%O:JRQ51>45M\K4%8:@]5.Y9H\JE][\D87]F[T$1#1@5ED M!^:7&LQ:6;"G;3@R<80E$*=T21N56AQ-?\XPKK?UV!;9.T)9W=_/U]7!L#U) M62WMP;%:BKFJSU%FG"9YFDD!J232$ X5D"F,84PU$5HKG KDO&/B+G=JQ'-P MJKC3O3Y^.5GTV6CPF V'[9AA,![ST/;EX/78XAD&YI%V?PZ"$)[!+?8- M^$N@W2%_M%HWCCR&&V]/R=_&@^VF'K?W=3%K3_7&/!)K(\ >G3]8:;\4J[*< M$<1SXT8JR%6"(&(\@B2B'-)44"13F8C'ZC;?4JJ(VJOGYD*\"N M;F0HV ;W(FM%KT"E:@7<5MDK4*D;THUT@268%]DJ;&0GTL7P8Q_2Z:Z> T?N]P#LU#QRSZBQXUA[@'*41QSGS'ZACI],VRX*IX^JO4V MIH]PP9C0%"H9<;/FY<;[D3B"*=)493S)1:QGWU3!5^Y!3<=B?%ZC?6'C+ NV M&MOUV,-JZ1^6?!):-S:Z%*Z!66>KWA4P"@X2%MF&0+ (HQ,B1HXD.F_D<<10 MR[7]WGV[LK+#_'V^OML<]F_3)5[?F1E7[Y=?Y_=*%^9AN%&%7A7WMGC))[Z8 MWU9+]"_FSU+/E?RLC'J/ZK,2J]OE_+^4G,6Q)HPH 1.1"H@BLYCB5$=0,<+C MG$0X)9E/EM:@VGIY2*.E=A6UFIZ\,^RTNA'89"9K8";I U5EMK M8S:W]IJEXLYBL#,9;&V^ HW58&=V.'(=978"L?2PNHY*]Z/ _OR[,8[0'F

"[5=D)O%^;O'8CE?/Q:;$A^""1$1+B'+J.SQ_Y_-] .IRI!X1N8E!ODWAX@MU6W3RAL-X0> M)R=!H1SIP.122/U.2YP1:CTDZ1YEO+,19XL.CD3<[^H9E"?EW#XW;&&3VM\O M7[.'N?$[9TF&N.U40Y3B-I,8T8['?^O^,I.EM >P4!0]& M4VC<-E'KZAF#=P9:-_3E9%Z]Z^[L#)/_ZN'850X7=GI(P;?==N MZE'P7C@W7QI'+_Y\M8X>&K^S1ZUEG5!PQM6KM\\JC>K>S9?SE@J"!49 M@4)3!!$V+AF/%8:)3*520N)^UWIZEIEQGP8U)!L!V8&8Y@O7ZUAY?=(+I32^>T 2B&U>IH]*/)Q3/ZN0L,^;IZI2SU_4.QXM-2&<_HJ_EWQ?3:KAOS#)$H,NM&;#.R)2*0 M)TD.4Y7GL7$2*98>ZT9WP5,C*//LH.SU? ,G [-L;#>=W_HSM;;Z> MN67/SS-_V_EXST<;Y84^8\+F?3WWS_V6B&_40Z&,W\UG2'L"4IS1F3,,V)@4U%";0M32 F M-&."Q>;_7I& ?4$;@\_V=0/JQX-:EHY'%R>APY0PD2 .1:8CB"(N(=$Q@Q%! M,HNTXC2-9T<=),(CZ-82(R20ORW9HJ(Q)8'Y5)M^M[[LGQ4\LUC,5_> M-@U^JH2^ZA\_/535V][^4(68ETK.(B(B+&("XXA@B)B*(8\2 FDF4X9QAB/A M^67Q5V)ZWY^-:C8\L4K_!:M:Y_XIOSWF1E,#/TL1S$0>V\]7#GF.$ZAQSO.( M4)(D3KLKX\S,.$[[_ERHC9JCSHH;=P^+]="K :LE?,4LM#8FU_@23:^4HK . M;K4TX$]@_[JFZ#.XMO7I;77ORKHKL+&OM =7-0@!Z]_V1CE4#5Q_!<:M@]L; MH*-:N/U'ZO6T^ .Q6O9F78O6X7'^V]3",///DS2*1)BHG M]H@,:5O@*H,D1C',<9RF"<>24>SW*?-587H?LHW.D-5* ]EH#8QAGNL#[PEQ M8\HA01YZS_IY"X.-]J!1'VST!]: ZMQ2M"5Y>A-@7_ "T9^W^%')KR\XSZFO M]S@]=W[,B(N5W8*K$K2W7]^F%//K5;DN*]JU_4?EIMG"-N]%1HRD&<-0HSB' M*"4*$D0BJ'6BM-!$DLRK)=YEZDS.@ZQ<%G[HLNQY-0X9-D-,FN.&P&A3,:*# MV7,6_#<8@H 7:DOB,F7&W<0( MS1MD>84?N4)+*COMH;M5JR[,7C_[)BB_): MW,W5-R6_FADO;1^N#^9OB]K=?;N8W\YMZX?5WU2Y_O5QL9X_+.:JF.DXTPEA M"F:IW:RGI&I,2J$0490A$I-8>I0P&DS/*9-RTU8+L'H=^;"7OG-K[06L,?@* MK#5NB;6.V;2/US1A^!>ZWIOM4\QGN.6FG^PG-_DM\!^J)W\_;JDP% MU]N)WUH+/M03_^79Q']=@;]5$__KQ";>I^S3)!Z L!!\*PS-?CTM->E M&D[\B'6L!L?PL.[5\.+ZK?AVS2BJ0-QR1C%-4H0X9)HKB)A9S7'!-)0I4PS..0%3

/M=ID]L=I6?WC.C=G-;VT"4YU M6&P/ZF8YU4HBPB'!FD,D!8=32UVL1Q7X+XIV5;6 M.MM-AK9C:7^LG1@M&(*#,YP![Y/>E&[?U+MKU.TZT_<'SXL#@X$X&B=> J8O M73JATT&?[6.,2:=.UCRC5[=[>B;UB^KDK]SEXM5E=[%6D4!) A.:Y;8-.8$D M,OZ@6=#))"(\(L2KKO$9.5,CV8V:H-CJ>06X,HMK!6Q([?=J"\?\%8BZAN:B MK5ZO%^)NZ[T . Y,M5L(/Q]#>'T 85.&]$/0DL<= (4J W!&RKAE -I-/2H# MT'%Y[^['JWOUE?U0I4WJFB&1,<;C&.9IFD&4,@IIS@C44:H4H5&>*^79X'A_ M_*D11JT>6%O]JAH@WIV+#]!S(X$+,!GXY6_@J%2K,C"#=A<^972X!L('HX_= M(_B4:2?: )^\K-^+NRW/9I/C:G?BN)C;VQ\/2MBDE?F]N<2X(55QM[I_>M,$ M)&*Y2C,!8V0=!9I4#QBUID83C56V4&-CUYFBCC;8N+8- MU,;9)=^^>7XM70)/MAL]C3^% [/:B+/G38MAP0[$IH&4&I6$PP+YG+L#C][S MC$ZMZV^(=;EGU"SO8IG$QC5+4HAPFD.:$ 0Y$CE*=(91$ON47#X8W8N 1RB1 M;"N/^Z_5#@'C7#-FGG68BQ1#Q(E9$\L$0Z_B< M2S(:TSC.H"2V[!2QH% BSI59$.B,8J_CW]Y/UPB?]Q" N7U;>\,P\"?2 M(M X_S]9U?X,KM?K8LX?UZR)8KMA1="T@9-(A#H /AA[W-/?4V8='?V>O*CG M#N!R/9?SQ>-Z_DU]4>*QF*_GJGS[0RP>I9+OC((VM/6QWE3^I-^RPGZ_;,6N M*I[DPWRIWJ_5?3E#F?EJI#2&F$H!46R(DB(50:E9HGA&XUPX'[NW/$M(I#.5YU#BV+C(4BI( M2,:A8DCF62ZCS"_=/XA64_L U.U:FD!_M6$,9AO*KN=P2RN]"P*$F A2@YL>K?,[9%!G7[VYE%M M4S9CKJ)(2 9Q+*K6?0B2Q(9748K3!&N=)L*'KGV$3XV5GR7">Z[EO6!WH]:A MP!R803^HLE3*5D]Y5EA@K\O5>@5X7:%UD#39/L@-4DV@0_0+5A)P Z6]BH#C M&$$#DU[7$>\SCI*(TQ3#1!-B^P52VX$]A3IF1$9YBC/FYVBVBIL:5YT(4PH2 MA+1!U]'W"X;9T$Y=GY"D*] 8,GALTC/ A@U1V@B;0J32,\,= Y:>W]6/7VR? MI/73MEMOTR8CR3,LC1\$L8@$1 IA2$E*(<&8Y#(6DO#,AU9.2ID:F]1*[CH7 M]VQ%!&<0?(F]R:(4@$">SE+--$X8A5B2V/@2.(.,1Q%4A)HU$"=1G!'7:O$G)4SMA=_H M9IQOHYU'F?C3^+6_XD%0&?CU=@7$JU)\J]$7U(P_/>YHU>-;S=JO(]]^88_L ML,]?KDNVE)^__+9)-=14*T)R! EB"418V^ZO+#9+@8QAK562I,JM7.)I 3Z/ MZ#C%$*UN515OJZM'PM(Q=NUO[>5X#/S*6MT:('[KE;9ZC(A'TM9%R(R4IN6) MD%]>UED 6C.QCN\:+_?JK,8'V5;GK^I9SGQ;_FN_0-A>G;A73T<5PJJ2'M4? MMD*';91FJS66365&=JMF5.$8Q43 B"82HDS%D*19#%,J(B8BRG3NU5-Q$"VG MYO54NE;%M.RF9%%IZUEI>Y#)=%LAO?@4#>V"75ZONY[@QE10V[JM5VNL#5BS M>\C)"%76>Q =QZW\/23,1\7!!Q7FOU:MU[Z_JO7=2KY?6MI2ZJ-Y@9I]%9S0 M3.1Y!HD!UGP"I%FT(I9"2E6F.<,\S9T7K>VBIL;CM89UJS^K98]V9QW8=B]H MPR$V,*WZ@^6UQG7#X8+%;H> T5:];H;N+W\=[^CG5M:'K,^.X^P?'U?K?ZBU M;;:HC$VVV=2]K4V[K([DXAG)!!?0F).&3WC8K1%O"^6(NS+]H9?OH^+'FV9EQH\6+@!Z']S8J M6NBV2H)*RW"$UH5#(,8Z*V942NHR]CGG=%[?MVA"5=G_AA7KIV:Q@'(E,X0H MS".[%X=%#*E2 F*L,5**(BV=%F+G14S-6VHT!)6*/8,%3@#I]O9?!L_0AQ)^ MR/1(]C]G?+#$_2,!(R?AGS/P.*'^[)4]_04SDW9]5H<$9)IBB0G,",^A<0LR MN\&.8)HS2B.-,NS7=7E_\*F]SE:W9F_ (QS@)&R.'_">8 S]T7;%P?]+?<+@ M4%_G_:''_2*?,.KH*WSJFIX':8\/#XMJ'Y8M7K/R[MUB]?W]LJJA4>W3;F+K M\XPD$L<<:FY3&K"BD#(7+&RN M-F88IW]KQU\]3\(<9\/Q;"L\QD.?5NW#:U4&5F>PI_0@B0V>0(4Z27*4.N[9 MD!\41Z<]GK?W++CS:$,(/NGMWL<7=5LM2V8Q00(E)(:YEA0B(34D2:X@2N.4 M*I1@&OEUQS@G:6K$5"MJ>6BUW10L&UT]RZ>-=8) -C#/[-#:;:%^Z4++ MOY1*%Q*ARJJT#,'X?YAL7I2ZHLJOLV%VO7VV3^!_KBJ M#X_J<^:R2A[?_W>[K5%OI'Y68G6[G/^7DKN1ZIL^K>]4\?6.+9O^UC,ELCQ+ M%(>,I!%$"4HAX0C#C"4IH<+\/?5*GWHQ2Z9&;P>A*\OF?*/8FM/T]VOZ!%;] M 4NPLC:!M3'*<&)EE6?BQ8L]1FY$^T_Q< SM,+9WB[T"6_LWT4QUVK@E_-J: MJVK_>'MF]GGOF0I=:^#%)RQ4NLN+V3%N2LU+3]=1VLZ+*W39%N F&1!+KFV/ M&9(C:I,!8\A%GD'*2"[LAQ-I+Q_]@_ \]O*W!R._D>:/3> M#AQD!__9X"^R)=B^_=-GF]P?:\=@D$'Q#+WW[(^=_0.( 2:A3D391XQZ%.!A]=/[A MA!>?K^WD5[]B\^!M;/*KW MRX?'=?E!?5.+N,FZ9TKFN:0I5(1+PPHQ@322$@5M2FC52 !2QFX(%)(+^A3=*H;H.#R<^] M!I=;>I9[M/NY7\V]51PAU@1Q3!3$.(\A2C&"C$L$LTP2PB+!)/)J'G,P^M18 MH$Y;M]KU"L \1,Z- 7KC,? [[PZ%?^W%4R:'*K5X,/:XE15/F7542/'D1;U[ MB-D%0^482"5?/?U6*OE^N=VJN!;K^;>J)NR,2QV+B")(>63\?2F,OQ]S 5,J M4VF3L%+[9?=J,.8HVNL5'ZG[6!5V^5C6N5:[V">V5=J[>93K/+AQPC#H#DP8 M%MAJ2V&CMBT1\M-O-Z&N4\'*D_$PK6G6'\IXF6EV[4 @^K8M/B M8E$E;*^VK2I+ /?>KD6PBOE/?B6HP^$Z,%&UG>X$KS/MALJ@%>^?7J3.M)OA M;E7MC^[J1S2_J-5MP1[NYN*Z,,-_6!DQ\V]*7I>E6N]V_%.I22ZB&*:"(XA0 M$D.:B0AB);70.68L\6JC[29V:L2STQI4:IO7Q"@.*\U!K7KO Q?'B7#CG?#P M#LP_@9#UIB(_H )1DJ/04:G)#XCG%.5Y=\^S7W&GY.-"?=). 7RVC^1&? ,?3[)>>UZ&/P;LBP"^> M4O_3\B$A#W7,/HB.XY[/#PGST<'^H,(N_;"<+K+Y69GOUURLE?QB"PQ=+^6S MW_RVG)NO7+WV?ZHT^JI^K%\9U?^8L02E/(MS2&.>0<1MV^D\9U!DN>)<93EG M7FVGAU1V M=FI?^DNSLPI\J2MZV2KQSW]IC;W:;)P^-5\?8 T&E<6#?(B&FYC@WZ,!5'VA MS])PH)__.@THLV\F@5'&?O*V6P$D$2C-DA1RA5+S9>$:8=]MEF,8W;CY(G &)E1/7'H$W)^Q/5@<_?/Q1PZ//V/> M<=3[N0LOK];WU7S_2E:5MVPRU$1"S?]P!B56ME*01)!%BD(12\&SA"NU5/ZQ4MZ=N@'I^QU"[44 P >F@PNPNZCBWUE,!BC^=RSKQ>H GC6[ MK23@^9LN7<)>V.2]WA++919S9AA'<"$@2B/#/7&&H,9I2C+[?]%ST1I"O:F1 MU?XR==\^L#,0;"P$]F$">S;:FS96VF8P=0>92_='@SP%OJO6L>=VZ'7J"TSK M!4O3D.@'7XP&4>Z%EI\A@3V_X PJI:\_NFED[7O>?.+.";W(>]H-LCYJL3Z8 MZW,L862'YZR)QV[.^4M[!L/9,BJV#<.\ZA14;BJ;9R3-E9)04V&[JT8<\IPC M*'.JI%9YC!#S"H([*69JSD:E)=A3L^>*Z RH;N_[Y5 -_,KW0,D_C*T5A%#A M:Z>%C!NVUFKH4;A:^]4]&BN_8Z**>/O5C+-6MEV"NKXM5'5:T&2692A%"8TU MC)F,("(XA0PILVJ1-**:1RPC3@4#'>5-C10V&H/[G MC3TU8JW4 TW"OT_ZXRGI4WN%][?QJER\.G[1_+"G^:7[K6VSX+N-&@C;$7='^\-ZP7ZG TS! MMS';9+[0[J0##.=--=7J'VVKVWC&-$E8Q!C, M4X8@BC,)>9Q&QILPW@/.M$YSK]087P6FYDEL-(:L5AGL2M NMAVZP4_S)7A2 MK/ M1^L]/8Y;M0."/O0F[O.DY(WVH%$?;/5O.G9_;6N1?F&>LCMT@V0N.XA_ MP5QF=W#:LYL]QNFY<#J=9K(+/W_UM+NDB4ZOZM-\F"_5^[6Z+V<2IZEBL80B M(0E$DAI:S.,8V M@#E"HV[4 P&X-$J M,MS(?E1>%NM=?>!=YCE;U)O33.::Y0QRA3%$#$>0(9["',D(2Y:I1#B5QFF5 M,C7"W=?/:YNZ'4LB(J9SR:&P!ZH()0P20BG,L6#4_$UPG+TN-YXMEIK"((B8Y=V.!_DI,CR*VRNZ5 M2/3L4MUC+MQ.FHF[G#?63%(5&=_$(MK 9'"#!K_44-I MUOQ)'K%I4W,MK595],Y*V[H+]V9-6)5BN )+5;5,F6\N$+8>A_W- M_YW2R+?;C,M\.*[+0Z,\]-*[JF90*PQJC4&M\M6FOKQ1N[X@X&F*%TS!>M*X MR!RY.8T'#,==:GQN[A'Y^L6,9TCO>BE?W9@I4$71U!EHP@AI%DE"%8*:* 91 M1A3D.8NAR"15&1,)E4XM0%V$38V8:G7!-3 *@U=@JW)='L0C7+,+Y';:"0W= MT&S3BEJ?:-*:>V M@F[BID:S3QX$Y]U((>W0-Q7Q__)]S59@A[YZ:A#M%B)(RB:&. M-8=(Q A2) W/:)Q'L>$7S;Q*^7M)GQK9[#?5VM?_"NS^!6QMZ)GYZ#<_;HO. MP5 ?F)I.PFHC>3]>_VV E,E>,(5N;.8D^V5:G?G _PB)PG5A$*,$[MO)@ED29I!PAEC.;^C'( M36%[C*V?;LR3L#;K.IM^\& I:U1(1H10147J M50"O6^34N&0_Q^:AT;[Z.JN-ZM4NO!^S."#O1B]A\1R88S;*7H%*W0K%K<*# M%@]VARD0[3@(')5[W %X3D >=_;,4EJ5Y>O5TIXQJJ5XNA:B>&2+UZPHGLRO M*L=IT_ K11E/6,HA)<2R$4TAC36&,3%_QCB.N/9:I[F+GAHK6Y2YXW.PK;T".DK/\1^CK M+NWO>M<[5O7!XXR@)"99CHQ?E$0095A!GJD42BT1TSGFE'@1TWE14R.BW6E+ M$Y%0UGNJ\_HLW29BU;_QS,1J =O5,PH!X> >T<%9U79'NE8TI/_3!48PO^>L MH)']G2Z#C_V-">@MK'V3+$$F?54#&F4QA A2B C(HJ2;O[F=0!5MVG3WT1&/B-=C/>ZS3IE*6]SHT.!AKMA.B4 M^OMG02?_O4>IYTI^5M_4\E$UG:[J@(D<14PP#2-)&$0DDY!A\U,UC9S\1136/V1PK!>O&GP"^8:_BY:8T#&U#\>"%DPV-X$'TV@KB>D29S6^EQOKS= MJ[E=AR#?L'+]YE%568<,QXG.4P6CV#82BJ2"A H",:-_=8_MS,C MQ*5/JL%)@#S\XDN!&LFC]7R0_/S/-@Q:/<>3-X[G\[7I?>"MM5[8)P?K9"?8 MO3HG_&EWR7Z=DX^/5O1*OU^6:[985/%X,VT,1X()&!/$(-(B@11EYJ=<2DT4 M3G'L5#L[O&I3H]-:QRK#=$]+G\2DH!/GP,,O-AT#$_C%Y;S,"GP[F>^G,)D^ M.6DO-:EC9;"-/KF>R6]#X-^>*A=4XHB)=4,@=9B&-XB$?GL?KRTB=E^FZLL^ M+_]XI9;B[IX5?VSZ)Z[?#%9E &QV=XD;=XW U_OGVAO-] M/9S_5VQA-W._W"FU?J/6;+[8U6(BF=*<,@(3*:4AF"R%YB'BT#CQBF293I%R M[SG6(FAJQ-*H"BI=0:.L2PDF/W@='.Y H W,(2/AY>'3!L)M) ^U-WY^CJ8# M**UN8]O]XSF!#E8/@:GU][P.91\ M]H<#H#76'G$?U#QWBCO0:-\M/G?SB#O&'?H?[AIW7=PW4=IPZ:-85]7!7J]* MF\5D?J>*;_79<()S%6$=PX11!%'**20,:_M'RG4:9RKWZF'=(6]JQ'B@;A6V MVNLIRDW]'C)MB M)0W[E(9UOAC.F0M5-INRD< IHUD$*8ERB @W2RZ:8YBD,J5:Q6D<.[5Q:Y4R M-5)H%*WR_!M-/3>]VT%M9X9@4 V]]NJ#DE=/ATX4+NCI<'[LT7HZ=)JWW].A M^^*^]2N_W*G%PI[)L>73#,N88(8)Y$F60A0)!ED>$9C@)*:YT"J*,K]ZE?O# M3^U%;XHK5BJ"1D??8I0'\+6_V9>#,O K[85'C\J2I\R^H)+DP7 C5XX\9@Z?/MNA9 MG#RV14/@-=*VZ$G< NV'=L'0NA]Z]N;Q]D.[]#_8#^V\.%#43E5X:T;2".N, M"2NA#9I6$Y-:ANFQ>70S4P M%?9 Z?*XFP,0AHJVJ86\;(S-@:&=D36'5_=L0[^^LX'Y]_?S=5VB]G']6*A? MY\OY_>-]$S18UHV?S:"?]+MY*=CB'XH5,RXRHN.<0I43"1%"S'A*/(68V'[, M48ZY]JH(V5^5J5&)_>" GW;MT"GX=;5!D37^@-K0,"^]!>#&*I#?7]%QNU5?S%@1UWK+Q^Q9\5* M599*?7I0EI27MQ\4,]RRR47?"'YCVT_]6'_]KA;?5$T$,T02&E-"(5?"]O+- M<\A9DD.M%48XQE*ZU9&Y5)$),B?RK%S9=PK<*'(,8 _%(H9 M,OEZQY8T>L.>RB;Q?=-&#PML4T)@PDA50C.#%-$<"HU3Q1,=)3&ZM$*&DR93 M(T<: ZMCM4FW^J;.^S"!)\2-*4>!>6"J/"JC41E@V7%5@,8*L#9F !K5<[&K M6!*\.<+%@ Y8@,--CQ,&KK4VO&S&EO5QQZ:'"T($Q2PW M:^LDADBI&+)$$*ABP@@5.4IRX1HT<%K$U+ANIR6HU70/$SB#83N+A4%F8'HZ M B4@ZW0#<$%LP)F!1PL,:#=L/RJ@XTK_-_KU:EFN%G-9[=J]7ZO[3"1RC-G (#VH1,[:T^T!-4BO:( SH+:?LV[0+C@13\[]&BO>I=Q^R][Y[6]C]6JE*V_[U4HK/S)ZZ7JG]'A+KVX=NE?&.\KEG.6,IQDL$X2HQ7Q+"P&:D)3"G5B"*2*.IT MJ'A6PM18;MLFH"F!:M0$5D__=@F'0+:S6!!X!N8H;V1Z]5(X:?U%314.1QR] MN\))@TZU63A]8<^$*%MHZ-51+2);;>AKP9;B3GU:;K83A4S3+-_T:_UM.5BO-W\F8%0')@CZCIHKP[KH.TJ M8%V!/80'V*+M 5JHQ"L/R>.F8?E#M@O8PQ'9E43_F9768S#86^<1!=T'?SEGAD!QIWW:C*C"Z M;MIJ6VVOP$[?D/#YA),'A'&DL/++X/0,,W>$ISWTY##]WO:F? M\UBM, # MNGQ6!F"5;GX^7P.3FSOG;_S0'-ANL;?K=6A@(*^J&714A^G0D.>^T+-_[>'F M?%Q]4XM7\Y6-D60/ZG$]%]OR7SS/N%E[P=C&;2.9F968RB,H,Y3D5*1YE#MM M.G?(F=JJJ](4/%/5X_/;@JB#WQ(&IX'?UI,0].#(35P"1Y M!J8^--F&EP=/!L)M)*+LC9\?53J TLJ5;?>/1Y8.5ARPI)Q#:0W4@B$'3#.U?]4/.F"@<\ K%%FZ11"1\\5@M M6)1X+*H&[F]_B,6C5/*=4=J& CS6*])/^KD#\^KI] #55S'2RC"%5##"-MY( ML 1RXXY C#A.2!Z3A'GQR("Z3HV+]C4%.U5[.2Y#3K'CF=@T)F[H@[9^<^9_ M #<\FJ%.]0;4=-RCPN$A/SI_'$%DST^&$,6CV@:FFT%?/Q:%C7[!3"*,,V2# MQB.(E*:0"!7#Q/Q!YL1H:7\=O60C4 MAOX2-2#M*7D%&C4#?H>ZD CU%3DK9]QO0)>Y1PS>>4./4],OZC__KA:+9FF) M,HQI9K-T,HD@LB>F-.,Y,;W/Z>8A!C[MWOMB,=()9M?CX-E<_92U[GA8V M_V=RKK,KDXPP@0C&*5*0:1Y!ADF E)-,L)2 MQ"0E7LE%[K*GQE4;U6WER\,>974&;Z4^J/3O5^G89U[MRH5J8CK>_E"%F)>J M?+^L,SK_KN:W=T;%:[/@9+=J\^\WQ5P8?N24)IAJJ")NEG 8:TA3)&&.,==* M")5KIXZ_+Z/^U"AVHRM@M;) -=J"!ZNN)82R"FU:-:%-FW^7X*?Y$LC58L&* M$CR8%65I0?(L$#WRL^/(X9-](H;^#.SEHNZ;OI^06@+^!$XFK5H KC8A<%=@ M"P(PSTD-PQ78/FX-$MNK0(7%X'FM \_AL*FQ0RD_A>S:@2?&,4%W:"WZ?6 _ MJO5K5M[=%*MO M$V./$7H??JT>ES;__F:UF M[HK:)%$X3J7#.)4PC8DB,,PT)QS$DJ5:YR)0- M>_ *=S@K:FK>^$Y3L%&U=R!V"\#.!S0!8!O^A*8/8GW.:#K "'=('E6+/H_7,W>@$VHTY@H(W,(%L=(5%L\LY[%FO,S2ATCLZ MY8V;Y^%J_E'"A_.-8;K(54%Y:9(Q)6(,A4091(GFD"21-'\P3(B@4DNON,M3 M0J;F@CQO1M8O5/(DG&[D<2E( _.%-SX7MV,;()[PI(@7;:'6%L'7>FV/T(]Z M,:.J/D+V%&0629T3G1%(<&K#[02#/%8<,LE*Y5?$YCU_Y27XS(P&_S!HRFGYC5[A(P/ )#+@%EI-@0'W#\XD3.&=\: M*G)TTWC1(N?T/0@8.7M1SPV2DR7+5/EI>:JMS_-B_+E9]>B<0YUK919$#$$B M\@3F*D^2A O,A%=WQDN4F1H!7B_9XJFA5 41=B&]1F>:YVW+) M;#GNQXPT!Z-0KMVPV6E[!:X/)F*O(N*@U?E#0!IJW^<25<;=&0H VM'>48@Q M>_8ZV8K;]LY[O[01,_8+NWM'$5$JR5'S=M6S<*6U8;Y!N)%Y A6I XB9TW)XC M7D A%W"FN##^K\UY5P#/X%GA"G;:? M$C'NN7J+D4I$5.U/&G>M'E=[&=M[>E3#FF8R75CN(E,VX5.#0/;.P+7<-IT$D(6@-J&$U?H(;4H)"?KD$U MK,B>61PVRO]NM3!WV![A\_73-EPHP5R+*%80:VJC*S"!C) (ZEC$',E(8<+] MHBO."YM>6,6^KO\*5*7M7SVS',YCZ\;08? :F& /@:K5!-?K=3'GC^MJ#V^] M C>LJ):W X1H=8,4*CS_O*!Q0^D[#3X*>^^^HV<%O$(]L+E\^\-&'JGKI:S. M;.O6#YO8H0QE-&(DAR@7PJQ=)8.<20T)UEF2R$@3*OQHQ$'J]/BD41JH6NNR M2K&L:W*(6N=>*UR7&7 CF\"H#LPZ&S@;=2LTZQB-6N,!8K@\ I59L]!XK@E M]]PA."J_YW%KX.[EU5I\\S*H3(LXSW*8,X[-PI=@NZFF84Z2F J2$"KC(/W* M]Z5.;3]_VQV[#^6XX>RXA1\:O:%W\,^T'V^ZCG?MOPW 2EX(#MU;_$#F-+J) MGX+!N7_XR9M[+K34K3TF>+.Z9_.E65M1I5F,ZC)D*$H3V\"*0JJC7$<1Q5HA MKVSV_=&GQC:-^> R]6'*&PG\==,KD4$N?@[''7>V< M,NMH@7/RHC!=0G:GTB1-\TQI!7...4381E=%<0HYB=*(8"59XM7_^ZRDJ;W M-MNSVO5^V+2^N*PYB.]!?Q"@!GZS3[4'&>0POQ.,@3J$O-"1?:>Y73U"+CV8 M+XOU[%?V?U;%QC.HLQIP3E.>11*FU/8,PA&%1-$()IGF4B-MX.0N9'!Z^*DQ MP$8YKZR0,\BUO_.7XS'T$L 1"N<7N]WBMK?9W+GW)IN_[=[B,X..\NJV&[1Y M7SNNZO?Q;O+$;EBQ?OI:L&5IRSRLEA_F2U6=H#88B9=-RG>.'Y M&9@G?:9FQ%IOW=B]>$6W%A7_2>JV=8,)TDMLJ9&N;6JX#78*EMW0O;= MV#T/KNLV;Q#(!M_T/8W6 .W?' )MB5\7M+(&\2=)A]O%W??TJ>W!+-UEZO! MZN*0LSS7B'.>PE0J46\24:XT9)&*8KOB%-3)G3L]_.18@2UVE8.O[&:Q4=*G MV\(1?NTL<#DJ0[_X%I!/NG[;KYIJN!09U.*<_:W-Z8X MNFO$YA3G-#YL4''VJKYA,[8-FBIL8."#G?/F"YR2E#*M)-2:6?>&"\AS2F&J MI(@RF8J,>36^/B-G:B2V4;,*^:WTK&++RI5>?_<^^#J'K9MW$P"QH??"-V!M M51S I^F (5A,RVDI(T>QM)IZ'+?2?GG/H-YZ855^75T+,W"AJDB]]\MOJJP+ M,O2Y[A+L].33^LD_ M$C_<6[#3T-:\7ZZ6\)X5?Z@Z^+W>.&4+N:?Q1 [7QCWVSC;V:45?'T;KZS]R20;L1Q M.3P#L\56P:J"20U2I>,5J*)E0Z;&MD$1+*OUI)"1$U+;##W.)6V]NL>^U>DJ M3'\W7HM9:.J9QM2L!=,,RAAGA@$$@BQE"NHT3CB3-,]BXN'M.8BWCU/>ZBT!4;=<,AY;(6%0W"D?;&+D/3;)G/# MIG7/K&.(\3;0W&PYV$USO*4/JV91_/I.E>Q!L3_4IH4P(KRJ-IS9SO,HH1(2 MDN10TD@CQ%(N$J?PL[,2IN9(&17!3D>?M_\4?"YL>2$H W/D(1Y]>E*??JX\ MR/!"@$:B0,<'QY/L6FQOI[A3-XY(;"UZ'])9VX5^)";5?/9VN9ZOGSZKV[DM M%[!Q;$=B8+ MWRYS-F]OYW47E/=Y7Y:/2KZI&D'71X95%%7Y47VO_JF<*4X3(ED&:80)1%F4 M0YY+!24CA@>36">Y5Y5;-[%3>]&M5I73O=*VF]+]:KD)95BJM?WE?'-!U3ZA MZH1<=3\N?=L?N\V*VXY1>*P'9HXZ]JG6&-0J;QL%UUI? :-W?47 _20_H$(6 M#>H6.GX!(6<@3A83^1<;4&*GYR#9Z7@&KJ<$16%U]'9!C0%U]D(M@&L<- M\4.HAS-R%H,+_)'C,4=V2R5G+^T9Y;]KV^OF[4KQYC&2&*(M%E%(*ER M2#G.()$R255.))9>@4:[H2?W.AO-/#/G=S"Y>0/]C!_Z)35*#1 8=&QKJ-3W MW<#CYKH?&724W'Y\1;_W[Q>UNBW8P]U-;!,VM7=TIRO85[9G:EDKS&YO="CP!G['>^/F M_=J[ !*("%I%C4H-+D8_)PNG>_K1QP?C"RC5E"]>WE;-SZH_/J[6_U!KV[51 M&;OD9[54W]GBJRKNXUF"4RE2@2!F/+)=+"BD.5%0&_]=$()$D@@?6NFCQ-3H MIM$-&%GW?M32:PK<*&=H8 >FHEK]*[ U8-/*L/H/,$: )[4&6S.NP&86OK;- M@C=170)C( +KI<*HQ'8)2,\)[Z*Q>ASQOF(+NQWXY4ZI=?E&K=E\4>YJ6_%( MJ%0D G*F!41*)I#J7,&4:H200(BCQ*WP<;$R-^ZBRB'*J+3- MBC#,%<\XR@E5S"_3WD'HU!S%K<[V(&K7.W"CMDMKA?X3X'H2%1;6P<^A+D:T MQQF4.T3!3J <1(Y\_N0.PO'ID\>]?<^>WMZKXM8XD+\4J^_K.YMEQY9/LYPR M%=&$08E1"I'0"-(4*YBEF&:")S06F=_YTTDY4R.>YH1EHRNHE?4]?3H-J>L) MU,5 C7,*]0PCT"@:\ARJ%8D+SJ).CSOR>52K<<=G4NV7]\Z&OU\MZ^QZ5GPJ M*KZ1?V.+1[4I*#NC/!$(4PXIQA(BCHUC$B>)6>*E/(JB)!8Q\>MHXR!U>BN\ MUP$3(NT^#FE 2&=F B:3#=U,,PF*X* M4*L,*IUWY:6#)MB[0A0NV;Y3XMB)]ZX0G$C"=[ZU/R?-ZQS/ZZ6LNP?>*N/Z MJ/+-O!2+5?E8J*VOGB*G,7?;HQ.8-RRF*\Q^D MYX:0N%/RL2IQ5#?U^*P>5L6ZZGBJ5\5]M8OXZJGYQZ^VQL9,T)@+DA&84T4@ MTB(S#EDF899Q^WLNA/+;'_+786K$MS'![FTT>H*M%6#/C"O G[97_%[9XKN# MU&/&'#>4AIV'H?>7!ID"_RVG_B"&VH'JH<&X&U+](3K:G[I@*/^^)#MI=5O7 M7]7Z;B5W-4&.?ZN4S2JI^G 0K%*)Q?-2CLSCHGUP/3H"[-7/Y40&%W0>>4B\:/U: D!TGXW MER#C^>_9?RV8-/SZY>F>KQ8SK005:6QKH>7&%Q240,ZC!!(E\B2)$2+4J2_3 MT]QV!YPKF=@_> 8Y^#+!8D>AUW')E]PPK4WV,C'6L=F')]EG;@F M7!?T#W/&YPLCY:-1N>G/+:1(E8@55 0SF_*-(>.,0T$BD?%48$XSWT,L)\G3 M.\AZL^G*4*AO:OFHMOG>C<:@6L&M'#,N?2?"=4\X.+B#[P:?;I6^U=JX_5N] MA^V'W@+4@!W13TE]\9[H+5"X=$5ON[UOQ\92F9ONKI?RC7G]%JNJD/7;'[;_ MCYHI1G,:)_:HG2'#4C*!G#$!=.4!L3U/0J!JR*Z,#(L%:,K;)&KD?HX/9Q\T876[J4V;/0O5^ M*1]%%19HNW\U"=.1X (ED81,,;,BD7D.::1B&.N$T5AP&3/J7FOOG)BIK4VL MGF"G*+":^E27.PMG.TN$ VE@>CB%3Z\R?&>!\JG%%P*PD?(KO!XLS[)\73"T MU^8[>_>(!?JZ+#BLTM=Y=3]?ZM=MVXDOVZX3'[9=F*6D62QU!J4T;A1BD?&J M[(:-C".2QDDF(NYU2MXJ;6JTN%,6[+2]H.=U.]1N'E4P >FS NP\_:IG# ) MY%.URQK5IW(R^[E/Y793[V79NIB+M9*O66F]-OL?>X#SC2UL'- LSF*.LXA" MGD+&7K@Y&7]B[>9V7\^(OZZV MS^>Z/M?GR>^71KO* 2ZKCCA?[]CRTX,=HOS%5E$MWR^;YID146DJZMPMV\K& M)I1&,H51CAA5/%51'GF%"8ZD^-2HK];.]CJK6[Q>4 AUK*EWH\TI3NC ]%O9 M RN#P+[18,_J*CQQ[[K&]4W[L+6Q'S0 V.Y FZLJ<^BWY7Q=?O[R6[.%I(1B*M,48J+,EXK% M"I*8&S<[)F;%CHC2?CD\K=*F]GDQBGEV7&L'T]=EOA"B\?SENI!VI2GXR:+V MYP&*;#KA$MQ=/B7KA7SE%K//.\IM-_4LF%O1TVZA;T]E5X_KSXK)^>+IC;(% MY.9+NQGPCLV+*OVPBB[?J_W#M9(R2F 4VRHJ*!:0DXC +$H0YTCC1#GU'@JF MT=2(YS4KBB<;4EAGVJZT#5#8[^7;>#I?>K;TO7P*W:ALU(D9F.Z.(*_"28PU MH#$'[-L#K$'-]-6)-,"EBI9_Y>%0"(60ZKL#D$CQG$2P2A-&$149=#&VD$2L5Q+275,O+8@ MN@1.CF+W]0568;#5URO/QAEQ-\H,B>/ C'@)A'VBZ9QP"1=&URYN[/@Y)^-/ M!,ZYW==V7S.-(-,Q@[G2*<)(,98X=><^,?;4 MJ,-J!ZQZ'D$:S]!JYX(+,1CXM=^:WR=8Y1D.'A$J_?$8*2S% Q>_H)33EK=& MHCR[9;SPD].Z'L28W$%;E:+N7@" MOS?_'63Y=1J.0#[(L\%']3A.&_;WR:%??949C++%D#+*( M"[-VT>9]YQ&%@B">8<%4(IEGQI"K;)\G?IRX_%]72_4$ZKTAH!^7TI,&W&%' MN=0R$C',,LVJ$P!(TYC"6"$;ST/YX)LKO8WSW:J!UQ+^J(5:E'I+'?*^K[PH;-^<-ZK^[_OEM1"K1T,O-^RI*N"&I":QW;E&RKSTB.,8,BI3J"*F M5)ISGDC/Q,Q.F=-S C<*@H=:0U]&Z +9E1T" CCNV#W/-@K"=THQ^* M78&;;M0N/P\[ <=09V'[HE[V'.R$T9UG8*?NZ1LZ655I>6?T_*P6=D/@AA7V MM']&48:8%"ED(F;V-(Q#3K"".2(RTP0GF!"_L,DSDJ9&&HVBP,X=*&I5;4<& M_QBE\^"Z\440R 8FBP.T&BW!30=:/0(G.Y (%C1Y3L[( 9,=YAX'2W;=T#.= MJ([^>?KT?:GDQ]4F^&>7+&E+3C8=N#/&4AJG,90LTQ EU!YA40QUK(64B$@>-V7%'Y*CK),>0_1<.!5*SM?OF*C*<#6O2XJX3A"7,);2+)BB+(B]QKP71"R-0(J]81;)3L24HGX71<&ET(TM!+(E]\_!=#+0"$ M6@2=$C'NXJ?%R*-%3]NU/8+]3O8SWU3@^[IZI6[87%YK\[;]0['BG7ET9H)R MG>5$0:(8A0C1!#+),$QC236-\RQ6[@&!_O*G1A)?[U2AF-70(UJN!^SMC#$" MF .32:W\%=BJ#RK]#ZIYKE> *V"MN *5'< : JPEPX+O$>47/QM_:E^!C7K@P>CG>TAWB)SKD5QO/ 8_@&N@J*GA M[0^Q>*S:*+QF#_,U6\S_RRQ)-Q?M4\RU6,^_M2<]]CB<.PE3L*.XP]%'/G@[ M:=KQ,=OIRWHXBS>JJ!I,&?6JV@9-U8*;5Y_*)NR?ZUCG FL8H3R#B/,,$!WNKK-%!PZM^UT]BU^P8FF51V^?S5X*YF.,LH0U) 1IBM_8@BXYI1 M#%6J$$)FT8NXUTFOMP93XQ'S7&$_;O 'W8TW!H5R8ONBU29<940XTNF-7R!" M\I<_*EGUAN/&$1TF>BQSBW,:Y,8P@H8K" M)--$LY1@C!*_^-@SDJ9&6EM%?>-@SR'I>-(; I^ACWLW.E9MU>"VG7SP@H"= M8 2+?STG9^3@UPYSCR-?NVX(%#'_U8S3!"PPE$6220Y58E.SD4YL:G8"C<^3 M,)EP35)\4<#\3M;T*.&H'))5MF\X2 O(KEP1!+K!V:(G:I='S!_C,53 _)ZD MEXV7/S:Y,US^Q"U^M&$;LG]6#^:!N3-^RO6M\4BEE_D;HNEW<\\(?%O\^&ZU,'>4=47. M6:*-I8H9MT1C#A$W:Q>2:@'(OP(I.MH.%>A*]6 M!BCW]/Q7H"I-/:/FC\',\R3)B$UN0KFT?4PTI"BA,!)1&N$HRG*9S.K6'%_6 M9F;'@/2YN.& ?:5NYTN[HP@X6]@3AXOQ3)&F*C50&&;ZM/7ZW4QYX]U$?#U MRN:*M77V\L_).(M(J-2+8P'C9EB<-? HD>+\E1=EBWY6]L-F'O:]H\I/?#&_ MK3QNVX?8ENW_.K\WEWS27\QO2\V$_;=G)=@CDDM%4@8CG!M/63(*.>8<"GN( M$&F9$]^^=T'UFYI/O7\BO]K:4-#>R8'.+B8 M?I^*OZG2'NPTZW,I!< S,?-/528L#DTVEFL_>+M=5 MDS;S3E@"^*;>L#5[77?:G7$M,VSC;?/8MB2F"3*NF8R@UC'12&5:$J<&1UV" MIO;RUKJ"/66!U1:\]NE W(EN^VL=$K.!W_"^<#F_\*Y8G'CW2R7^?%?S-AS@?'W/W49QI^3C0GW2-\7J017KIQLSW>OK9=71 M\<'NY58>"M]HWS[EOFPW4^''>+!D!Y8(*Y#%3_W2-/A$+M*;F*'7>GR1., MH_TGW_M#%5C=QI4UB7C7O%Q;KC1>#5,Y2B*8)+87K*9VPXFE,)=1KO(8$X&3 M2RNMGA/N\U*-DU;T^L[V\:W:2*^V,9>L+-6ZK-ZS11.0-U?E7R\MQWIV2MR8 M:QB8!^:N,P5:=_&MC>K@]XWR 9G,'['!JK:>%?S"Y5N[ .FNX]HY0C]&JQIB MU/6.WMEV&$V 9:83$?$$0Z&T<;K2C$*6$0RS)$OS+-)BB/(M3U7%[DT[WZ2P1AKQA FA#*OAM.GQ4SMW;\6XO'^L2XJ M^D;IN9@[[L!TH.EZ*'4I1H.?+=4*@FTZWA ]Z]M "':^G[:T M7MVWW&H5XOY9/:P*ZU6\7U8G./9PYH,1]GZM[LM91I22>1)#0Y=5M5A ASW6@+#.C"5 M!$"T1_E4=XB"U4UU$#ERP51W$(XKI7K#)+@F*K M^E4=0 M6M?:>M0Q&>0SQNK'K!6PYA3$JKVPR@ZCUM+8LQI.*I-,:KP MD UZ=ZX=R7.IXXC C)BE-N)4&=]:2$CC3'*6(4*5N+P_[&3=ZK/]3"]PJ;L@ M=^/\@$ .S-878ABH$^Q0_G.7M ET?>WTFEUOZUM.QW">I;$9UT0RH5.($T$@ MDBB#+,]SR)(<:1Y)GD?*)T]K.[(7;8R6GK6HCKJ$T<^W%,X&,#2K]2CH\DS"Y#WFE(*@T]"W:\!P\QP_T)9 , M_4G>0V.0(BYG3 ]6B^'Y^"-78#ACWG'=A7,7ACD%OUZ_9D7Q-%_>5CW99X1K MSA$5D#/%(<(1A01G"C*.F&)1Q++$JU!+A[RIO>.AS\6?P]OO@/P"T$8_*;\" M; TVZH)*W^'.S,\ ,]#A^7-I+WJ*?L;TKN/T<[==&MKLM%%QO:BFV/ST2>^V M(FZJ7'+KHY2[#$=[YJ:,-P_3F-A4B3B"E.0(9C1+R(;-MB M;+:@!\UI'7P&@D=_A];SA<+%!X+[?'SY4 +[?6H^/EKOUPJQY[+V^6X.:LM9 M@A.21SF'$4\T1%+$D&),H1(9PIPJK5.O,*[SHJ;FKM::6IHOMKJ"LE'6C]E; M\'6CYC"H#UV=FV\(J?K7\OH;FR^L M7N]6Q2_FWO5,<\VIB#DD"!LO PL$.6$"$HEXFJ7&!XF]$D6&4G1J!+3[Y%;] M7DK -AH#O2K K=79>DU"+TJ'4''=-.C#81TO2H>7UK2++UG6-V@4K2R/%[K1= M_YB;!6F2Q3*B.11,/6HUMD!0;"BG>?DC%R[L\/73=<2 AU^1!. M2((8-2M,A0P+1)1!SFD*<_-0,(ZQB&.O)CB'PT_MU=]JU[,HRR%VGN_ZU JL MN(/1_^4>I&3*X> O\QJWES\Y?56X+GV?U5)]9XNOJKB?<:Y%HEED5GLD@2A& MY@U&@IDEG\ASE20Q3CVWC%KE3>V5;E0#1M;]Y9WX]H%UW40*!M?@FTEGNNQM M(/S:!F&0AGHG@!FP?=Z^M!=OEG?"=)?6>*=N\R_X^*9I'/W_/K+"O"B+IWI# M>Z:R#&>48VB\?PH1S32D>8JAS QOQ"AA(G.JSMHB8VI\L5$3;/5L3EG<"SR> M0[.=, )A-#!)^,/C5="Q X!>M1S/C3E:&<<.H_8K.'9=VL]%N*XJ=S6%(+?U MM5#,,,6"0X9B91;X60*9;4Z5TC2/,AJ1S#J&]J ML:KJ*%XOY:]L^6@KN3\6QFMH F'*;7.J3>4;EC.$LO^?NW=M4 ^/#@X%V$KL2-LOO5<049X ;6669807&0T=_G6APHP.D-@ MIT(=H_:XKP18M5H ME7#C4>"UZ>;8H9 O6_38@]P(SXXD!]L% [#:YG;,1! M7K8?Y=IC_ZHK<"#)B%;B]L_#K>@U7PX[BOTI_4G(7C<0;X6MVJ]^9#< M/$Z877FA2_LGHW1;SKX@:5$4BL,RSPN(GV^0#)<]ZQT="O;[_>>5A)'@ [F*7] MP-8ST31"@P.IP;^SQZ=_@(WP.P,HQ!+U>8C=#=!^L![([O3"/)+-Z0]8IZGI M,=QP%J:_C@>&9<#M8?;D;W/SE9@I^54)5?VP9Z.K;=PM;]J@># MT?-;'8B#\VM]5N^N-]C4"\Z%UIX=""[.-;;7M!45 MU+*"/6&#PH:[0';[4D>"KN>7.ABU@!X%5_&(UJC@\DP#=RNXJO)IRX+KM]R0 MQ_JPF,D/CT_+Q8^#8Q4A%2,XM>50=&+L>FEH@V@*2U4BBA0JL\3IP-%AKK'1 MQE944.W)&I#;>@%:-[*(!%C/9+'#:E_,'JJU.< 1,]'UPDS#)[MVJWPVX?7* M+7'Z&^VU^&D[_$P+C559\,P014)L<]D$LBSG4.>ZP#R7>8J$7\C2]4E]7H5A MXI?V>Q_)&+V/SB#M:F[$1*]WJ^.X)])/9[I(_:V_!DF7T>FI6=*9"5^U<=)E M *XU4>JX,_#H>OV@EMM#JCO;+;MN9VIK/[^?+?[8IFA,RR)E95H8XT1)8Z:H M!$.:B@S*4A8I03PI$?$ZPG:=>6Q&2RTXF"_F4-@"YI4MB>UY8.T,NAO]] )E MSRS4H+@[QMY)/6D*PUO!P5;RB"?9OF#%.M%VGG?8DVU?.$Y.N+T'"#CI#LX: M_Z*6=<[7^:$.%FH3RGV?5?65+ERS^J5;K7Y]G MZ^II5ID]1)KI-,]Y CE.N/6U&@8LBQSF!9.(22FY=4]M50K65*5XVF$"[BTH@+6H3,"ZQ@7,+#"33;$2U6(#U@M@FZQ, MP.,6'X\3ZU=\&+N_!W^A1ZQO=[E+S9,WG35/]N -1[@;OMT-9" C\W3U=9$ MV< "OB_ /^NGZ]>_V-/E$5_QUWC*!HK7^,L\;7XA(:^_QITA)J\HWG A*Z^_ M!@$ M,:>C=*?9QF:)-3*"G9"WE?HY"[#;/C8:;#U;%]Z(A1<&Z4(B=IV0LW.]3MF0 M+K4O5A'IO,D_TN:;4'.VK!:_S5=/2E2Z4O+=XI%5\RG..=48(Z@U9Q )HB#- M= YIFJ>(H5+RU"D(KW.6L='$1E#P>R.?1_#-922[>2$:/GWO-IRA\8K'N:KZ M#?$YE\<>+%[GJGK[\3O7+PYLA?9@+9+>9UM_*]J_?#V>;5>/*IEG8Y\ M-Y?;K(UMFGN6L QA32&3B2$ (@ED&2:P3 I5I&F1%Y1YM4L+D6)L!-'TJUB! M:BYFS])L<:HY$*U"8-9*7]E4X358/RC U7TUMZ<:MGB>_<%3W6C LPY!V *Z MV2.]+TO/O-3(;]=AHP'XPZ@ -CI,0*U%G=:]U:.7:@O7EVV^;:!QJ-O )5A12E)40I3*%O. (HJ), M)"92I,3=DWYELK&1X[Y_IY87U *#GZS(E\_:_4%V\!!'A*YG NM&+23;[!I\ M'B[0B# .Y*<,? C]O(:.L'2Z]JZ-,9S_S5&; R>9ZSU1(]!7[ZJ5F"UL8L"N MOP?GB*12IU G&89(I@Q2K3AD E/",T;2,D9$^KFYQT; %V.M/6,W?.!WLS)[ M K5G:KZ,)]@)#G[OI0U+ &+]1K>?G7D,T>Y=D#A&OW<.$>B,;YI#-37]S ;P MRV)6B9?FS]W;4Y:YRA*,()=$0J0ELMU:,L@I252NB4Z4UR;;:=:QT58K-/@P MKS\I=D$\_?).6#OZYV,CV+=?K@5O*_ $-,*"W]O_]M-5TP>F6$Y\ISF'=>;[ MP'#BU/>Z.;S2[WM#;FSVGXHMWYN?K*:ER#(MB(8"IP5$5)>0I5A!(F6IJ,8J MXTX64\<<8Z.8;2G;1DY@!06UI/ZE?H_A[.:52"#US"(!^ 35^KV P$VU?H_' M'+S6[P6ESM7ZO71I8(M9M;81J%^6BQ^55/+-RV\K)3_,SP2J;IW"3 J*"560 MXM+6UB@XY$DFH,R(S#)*RUP7?EDU_D+X//?#9-GL0K395EI/'WW 6K@9)/WB MVS.O&.&;2/>-^#;<]2>K :CF?SL;&M^+;SXZ M,>SI8S57'VRFRI24.$U306">(\-R@E%(;6>S5&=2,$*2!-&@6*?M%&,S)V#I1,&+44JG5X;Z M@7^H^;/ZJFP4A-TA[;S.G[?%57_^\TF)M9+?JT=SR6?]S5:1T8UCQTBT7+\S M4M41>IQC01,EH"@IA@C3!/(TY3#%5$BJBK+T"VF(*][8**75SO8$:O4[B.#> M:3@!&QU!HV3=*7!/S0FH%056T\!B*5&? U>?]6NM;N]N[==8V />!_X1W.2 M1Q5N8#]Z'\">NMI[F27L0_*>5O.R_>O_5QF+="D>7NK(_)H8&!=9 MJC6&))?V V$]\3JUWPLDB@EI6L!6VCI_Z=/?/(/IV M1-^-EN-CVC/=W@*G-VGZH1.)#!TG'93D_( X)B_/NT./"&?FM_>_J+D9>'8W MEW?2L&!E-\5FBZPL-\Y7:HH*IG**"DA251A22FQ)'"%@24O-KI- M.S92:J6>@/M&[OH-8@>2^QX:.J'O>FH8&]/>CPU;.'_9@_-0:-!*'?/0T >E M:*>&3I,.?&SH \3IN:'7W2&E*-A,M6W&WR[FJTJJ32EP6^57R<_SO>")7Y:+ MU6J:J51RS%.8H)38@X7"[*T9AT213*HTD9@Z-0\/G']T=&4TL+NEE=5A8G,$ M=EJTU;W-KLK\?;U3Q'";5<4GC]Y_G;KY; #T^R:V%OAO#? '"H"O>\!_WP?^ ME_Z!]RD\T.L"#%4PH(>%\,SM#X:Q.R???]@!<^F#=3[,@0\?)D9[L:_5_HDCBF3M*18:EAFG$.4*P89,5^87&>I2&[,7[F89=N"MU@+^TQ\Q>#M%HNE:SYK$V"*1C-&$LEY,QLJ!%5 C*I M$=0R*347,BM4X;>KOCC7V BE$17<@:VPS4?:=_]\&5S737,4R'K?*9]'JX>J MU Z 1-L47YYIX)WP595/M[_7;PGCB^_FML_ZJS([Z>>VFVI;PX%@):BQ-" K MD;)Q^@1231.8)TP)E*F$9$ZM!:_.-#:NL():*_Y 5,_R&-?A=>.+**#US!:! M>'E3Q54L(A'%Y7D&I8FKZAZ3Q/4;PN/IZZU/U6R';.C^E)1$I[DL88%*#1%A M*>0JT="&T[+"6!F4.)76ZIID;,2PC1C?"=KFH/A'U)\ VLT'L6#JF0H"$ J* MJ;\$P4U!]2>##AY5?TFM[Z2WP+'#V_O!Y( M>+VTEU0.>EE/!AOL);VDQO[+>?&:&SV$'^9B\:@^6I\Z0D9PG"N8<,*L64XA MT:J (DFTR#G*).'3]6+-9IY^P=T<7J_H=J8^'\S5"MC% (NGUBGKVYGA#)"> MSKXP> 9S\37B@9^L@!%[O'2H']N9MS?#Z[CP3E6\Z+@[0LQ07+"F9;04[5_^UC]G"[:; X-YJSN;",-&N"?7=;+;XPX8:OU\LWRZ5K-:6 MG]3JXS:SJ4@9TZDN8($-DR"-]ONH3 ML%4#Z,42-(J V@P)3S4+6C(WINI[(7HFL%[6P#^,^ 808P45AX@P;(CQ#2"= M!!S?,E9H]8 _[H2P]6QM=L9R,3=_%4V/S_,%= BE#$MMC*\<6#M:?LQ4?',KO6SW 5G7(+ %@Q?/ZZ^*R6KV\DX9 M,^O14+&AWVW>1U/S>XH125%JPYHS5$*4%0@R7F#(48ED6; L55Z]08,E&9O5 M^-UZO>I>H8]L^5]J;44&JFD?LMJJY\>'X4-\,9B3+#Y1B4.V^&ZYA$;Q\PEL?NRU(]L'RT-0V,"=LT ?S\O%ZMS;-ES-ZI M2CA"1:GLP26#*,TD)))P6""."98L*[#PZK73,=G8S,=&UDVB7-O%>+&3%_QD MWLGFQXX]))P@=^.X6$#VS&0MAFVJ52/I!.S)&K'+C0,BL9K9=$TU;,\:!Z5/ M6M.XW!/&);\L%O*/:C:;YJD@B"488IX80RK'&!)2(E@6QISB6*I2Y'X>NW(L#,4JGD.6)QG,REP4.2YR))WRDV\!:@@ZO1$F M-UH,4;YG"KRJMS?3'2L9B=6VPP[*8,?*'+/5R>_#F.G+TD8EK5^^F+6QO;?L MQO2IZ9EL([+K,C_(O&MEDFJ8H4Q#1+&&G,H,EHQK7>24T=(KF=-ASK&]I!N1 M)Z 6NMYB;,6>@#J)(*30D@O\;F]X9%![?OD_+N;W\&.=4/[=_+SN&=^T_8M= M7\D#ETA\X3+CH%3B <$QR_C<&E"VY'1C]_/CTVSQHE3;]^7CKD/G=G,GQ/+Y MX#?33&*1(B8-04F;&EJFD)0EAHQPQ7(N"B3QQCWUW;&B21S1 AQ6WP>@LU90 M(!:/=N/55.&7[Z!*JD,MXQ^]57B MY9&WQLIKN5KK;:/;CP M&"^';]$-*/3\4=D"$-*:]A@)#WJ_ 9&!>-H#&3^BO:!Z)V,>WS,<]5V0]H## M+EWC1T:KY7KZ5;'9SRO;>, 60A1FH9]K$GRGGI9*5/62?S*+]EEO-A]MS8%$ M9REA10;SO*"VK*J C/$2)C0G2-N24@5W(:U;A!@;N5D9;?6"C92>A1YN6H]N M4AP*Y9[)TQ]@9Z:(@5"7R\*,O^>N,/_:N2INFGH08HH!SH; HHP5YEZ]D__G M>;6N@R._+[XJJW0U4Y_4>I>#]WWAVX8,\4)KIG-8%E)#Q)$QW%)90L*24F>Y MDII0OT.D/L0:G]N_"-D![;GJ>;;)V;VDU MU\M3X.86?NV5[9F>CY9TJR"P?>P.LHKMK\?0V*[/!8GDP.Y%Q$$]WGV"?.PB M[W6NX"A/,_-W]F<;%_5&S96NS(=#%UE1: 5M& )$E&M(BR*'2N4RH3K%JLC\ M/AP79AH?]]?@KZR;V^;C50TSK-F? :G99Z%U8^,(B^+H]'7)]@]$Y"5=2]%9@*V MRD##W-"J,P$[Z>N!G-Z_[ *!CUS#]^\'@Y^ZZJ?X,W[_+8@[GKKJJW[X^[?O$M%>3?G"UR3A"E MR":P%:D]0* H(-^I\OD*\MVWA,8_[P_YA2T_+^NFZ++.N?VB MEG4JR)0QBC.,,BC*LH H+2EDFB50*UP*D:3F_[R*3[E-.S86V;T.;?+7$UN" M'W6C5)OS)1>S&5NNP)-:-OE?GNE?CFOAQC3Q$>Z9=(ZX9@*,S.91!HW4;3]: M(W>3+18S0-H'J&@QTDZ3#APF[0/$::2TU]UA;/51K59*'7;@V82(O7QA+[47 M^MVS^D_%EN_-DSD5K%"Y2!1,"Y;;/%4.:984,$^9%D3G!?:K@>(KP-@8S#R( MI1\I>4/N1D]] MDS436B3_:.S-H.75OY)_:PC1NV8I6< *L"L#K$XZQ0]"*Q ME_?T@_)8*#C'C!8\SBV'5C5GVI&WY]PE)8H5VK!7;7J5*3$49OY019F4M%!4 M(.9#81?F&1M3M0X<#J MHJKG#ZPN7QX:-R7K[B!L9K\A'^9OV5.U9K/6UY E6,LT9[! -($($0TY+A L MA<*)-MNT-'7RVSK--C9BV E;?U^AV7BU\OH&)75!['C0% NXGCGB,F8]N'2< M0(D6JM,UU\ Q-PYJGP;/N-P4WOGK?;6R/4W4LEK(]^9GJVFI,$Y(*6".S3X( M%:F"-&$%-+11"$IS)+!3ZDOG+&/CC&UGJT92T(@*:EG]NW^=@MK-%M&@ZIDE M@E *Z@!V$86;6H"=CCIX#["+BIUK G;YXM"*7:OU9VT+8]@TNF]J^:,2:O5M M,9/3A-K^?D4&"6':5L+&QF*09A-1EF6*N5!)[F4Q7)YJ;*^^E=0F,#PM%_)9 MK,%2_5#SY\O^0U]DW0R%.'CU_/YOH*K%K!-R-X("*VG,DES7T(A6D.OB1 .7 MX[JF\&DQKJMW!.XL;)61KVI=+>O]RF<^J^Z;9$:2I4A3+:#.[:XB*R@DHBQA M+O+$6 890YZ[BDLSC8TBFL(KRZVD8+$5U7-+<1%;Q^U$#,3ZWDK48.V$!)^O M@^6_A;@&1*SMP\5YAMTZ7%/W9-MP]88P_5!+=M^V0?RLWU6S M9_/3TYJ4.=8<)2J#1 )DHW)X+5'?I71CJ!X7J&?>VJY-*WK; M)-7:.XW8^]5')Z#5*!ZE!2(7B>A\9Q^4_@*A.2;%T&$"[:CS.;3F[S-E_V+3 M;!\7RW7UW_7/+Q82FY;&N,JDLGG\MDU'S@0DE"F8$<32C#))\M*C>%=L^9Q> MX>$K>-G#N?^PA;HV2@*YIV6]>6%[ZGG:<;'6UM'L&W*I!K(2]Q9F7Z<)V&I5 MK]&^7A-P5&5R/S#TR!AH;Q=UTRNJ7C MGJP3T$CKF5GA@K(;F4;"KF=^#(?-/U;H.B"QPH(Z9AHV NBZRB?!/@ZW!&9D MB K=%X"-XKI ]:>^68?SZW0 M$]"*#7ZO!>^G*:4O6K'2/5RG'3;WPQ.,DT00W_L#BF5^6LQ_W?9%/$Q,=6G3 M-I\_LUG;VU"G22D0Y9!+:7@-Y0B21'!(2(&+TN"7**>TD.UA^)!"U4M#_&R3KUW2 MDA-6P$*5F=D0)/9TC>:PQ"FA.,E(*CRJ5.^-/+;O7R.;3U7F?9@HSNG97H-Z_8<#RTV?D/*P]?>Z"P%.K MV6SQ!S,RO5\L/RW6=;W]CPLV7WU50E4_+*>U^XFIXCS-)<<04\ULWA&"7)?& MBE>LR!3525YD?CV/W2FO8#: M\R?_O3$--]XF$/,+T! M.3FB]!\A..C$[C#VQMUD!"(IE"W(0G3*(2((09H;TA)IEA?VP6%I/^S\ QA-,\?8WQLK! MQ82DZ>8GU6IE6]+5+2)W(82 K:PU]*M9N8=__Q\I3OZ1IQ-@-Y;UE>_,:473ANC#R.721'M>SW;>(&G/66K/_,A>KA=93E198"B9L M 0,!D4 <,B0YQ*HP^ZT\DS3WJJY]BS!C,VE:ZS^DGO9-:^)&)4,AW3/M.%79 M[MB5;52*QU$Q@(W$9S>),BCWQ0#MF">CC!G&J76-?2=:/'ZYH',DRC@>?5 6N*#:\8M]Z;);PSKOYNNJ3MI9+OC;AOZU2_^NSLL_Z9+:TG>[4IB;F+/J0:2RIX!E6:2-O7+H4;>IT7=[*Q6QJ96[BEC]V=M!EC=$ZT.O+Y>17:H M)7?CJ]==R)XI;S\T=5^]_=BL \6SQEZ,Z)&OT01\I1C9 MV !?CJ:-/E.@ ;@I-MJVAUBUSNB2)9@G7$-"56'VRT1"IG.[:\QOAZ=UM?HA,#^]])P31/.?GYAC8?=ZAYJD/O>OB MT(Y-M;GQ\OF/N9)F)].&&>^"D>_^K%93G7#%LJR$)4J)L0!T GE92EC*G.M" MEDE99GZ]FQQF'1L?;(0&M=3UMF\3K;\7V/^[%=TS[]AM$1QW:[&A[7L#%@/5 M@,9/'BA%:P'E,N? S: \8#AM"^5SV[8 L.'71^YDBM$1CY40VKP/,+,R F&$]&284QP=Z>0F M=/KFCAH8*]VF"*B\K$HX72"8=__BPJ>O.R7KXS1^JUQI=YM8V*F MDNI2XJR & D.D>0(LDPAJ"E*&#+[CAQ[O>7=TXWMC3]I]782-!1>FN\*\&ZT M$ _.GBGBI*];Z[3?"=M7+[=+H/32P^UDLE?LW79)\>Z>;1?O"O9CU)U0;/;D MVV?S%CVJ95VW='=L_O.?3VJ^4M,$E9A0DL,4V7-N3@6D!&4PEZ@L4(&E*I"G M<\-QZK'1SH?')U8MZ[JZPBS'O7E/EJHIH[9>&*NCT0LPJXRG,]1C/9Q])#V@ MW+_CI('P#R,UV(@] ;7@D_T@'] *#W[ZJLRF?\5FEVD^Q+GBB5T\CXOKQ$.[ M83P!.>.;\1TAD-C8ZL'^SU:6^\%FJ@[L7JV7E3"OJ?W%W5P>_F#ORJDF.1)I M8AVY7$,D$@EIB5)(4Y&RE*F,9ZA-+_NV9LNU(^/=(I//ZWDL68]OJA%R H3Y M$ZB=K'5@]7*K2?-[M@;K!W68)6A_$)*F=MOJI@E.DY)(:+Y99G]L\_9YBG.H M=)$5*#'[9N*=/#CPVO:?3^B_LFW:X>NL:9'G::D2!E'&[$8HP9!(QF">*4HD MRG*L_'JG#+6>0Q@L=O59N*SKDPCF:,4,M1]^63;T&]D^P)^ $[&0'S25V M58Y^N']'1",G!K*Q[)Z;9!G6%(H!VXEU%&70T,ZV/\S(=:,*ZZANT\F;[>8T M5;JL7]O+DXV-/'QV1:#UP.Z8:N!'N=:5/N^$ZW!.> M[=I$;MOT^EVMWDJMWE4K,5NLGOS.O"XK1:R[55?TC+)>":AX@Q!E"H."4(: M9BA),-99(67FE]A_>3*?EVN@%/^V2O5L)_-_>+85N RM&S_%@:MG+MH3&3?@+7[PACB:]-_]JORK8F,&ST12WU8OEH MS:Q=&T#KZ+;[N._5H[GDL_YF?KK29G+SNX_57'U8J\?5E+-<*,LEQC R)A)+ M!*0"4<@U3UE68E'X.;;BB38V\ZG5S#I36MW GG)[+3 G8*,?:!2L^\OMJ0A^ MMTJ"6DO/&,6(*^]&>J^SGCV3Y-!+Z4VN\5&/1,81!1N4O.,#>DSV/F(%UCM!$ MBZV[-M_ X76.ZI]&V+G>>',)P,;)VI1.F^)<:%62'.*,ZX-EYQL8OA\4 F_.3R:9X7_"1RB60W5V;-T(W@ ]S5X/O6XM:CT7X MSN$0OQ;?P2RO59+OG*H=E?G.7AX,T%QE,1:(A M(JF$K- 2:B(RQ5669XAXQMM>F&I\!+$G*;"BWK A[T#8E1IBX-8[.X1!%A(3 M>P6->#&PER8:.N;UBL)G8EROW1$O6'_CPMQT&)RR7'-=, TIPX8V5)) FJ<( MTH1DBB6XS+53/R*?2<=&(.\VR2S+9L]_>PS^"S M*Y6VW*H V$8'P'S;3WJN3#=E]8QWS\Q50_U9;[='.ZAWTH.M^/Z=/CVA]FCV MUA_D [6#BPN]7_>X,/ Z^\MY#CE?"?H_DF^?UI\7Z/]7Z"ZODU'PNF+ -IW/,*41Y82Q69;X8E&19FJ:,Z<+/ M8G6<>&R?BU9NH/8$!U4K.>#/:S!?K,&+6H,G([UOCH;C8CC:M3U W+=MVZ*[ M+S/XL(_NIQ;=+UWH!N17^$$5+97"<=J!LR;\P#A-D/"\/S070A@K^IOY%4 MZZ+06)>X@$52MSW5"60%T5 FJLQT(FWC"1_JB2K=V*C**K=I5M7H5P?_[VD( M-BH"ZS3?:%5?M:\FJ/6\X0PB[D/@1HJOMK0]D^BKK*HW_?:"?B2ZCBO;H/3> M"ZS'GX-^)O'[?$A53>_,QTC:#]+[&;N?,K-#I@4MH:!(F%UR9C;(.#7\7Q*D M,1<9SIW*+YV,/#;:W@H'K'1N1'L*5S=)W@1"SP3GJ+\S)5W4]0R=K)3X^_WB MQ_\V]S1,8OZR(Y#3D09Y^2\JL'EQ+U\09K-]4FN;6_]EN?A12;.S?/EMI>2' M>9,V:U]XVQ:T9@.S%R092;6$:9F6$.$D,P:9V0LF3--":9Z5-DC#O?F7^]1> MK^T ?<%LWYZZMLCSJNGO4VUD!FPKM)_9Y+$.;C91/^CVS <6V+K\QT9LP%_ M3[\U*/\-;(4'=]=A]K9C_!&+9*1X3#RH!>(/R+%Y$3#"C7UJ=L6,LT*5F!<4 M%@PKB(J\@%P2!#7/\Q+G95[ZN=I/IQB;-;'KOA):$_H,C&YL M2D)?UCUV*YI7*@E]6<&+#6AN+0E='^'=&232+V\^MXU2*,F3%%,".3=; \25 MAH13"E622UPF:<&D4_WG,V./[4VVP@$CG<>I_1%8W:_MC1#T_+YNM+_>0^8J M#![!">%P#!1\QEJR_+2JAID7!><6\5 2NK"7BRJH1%*3FND@,E]HI]SZQY M%)OT=A_VG0;VBEH'4"L!OO0.>UA\6'SX7R=$+,HR! >*^:'H&BOF..JKA(OY M:7PI8LQSE-L^,K7_W?R]SK1ZOUC:9"N;J3^EBA=%*C!4"!<0,6;#,/(<9EFN MN2PEY9B&?%8N33CR#\D/*_9>;4J]6-:9E%;T, :[B+S?IR(&GL-^'&J)ZW\W M4!JAP8=^H RC_QB0O@[A!T$;3/#7<'*E](OCO J)7]/J$FU?O2^ J-]7N9A[>R@CUA@946&'%#'![7 M(?1@X*A0#L2_W9!&HEQG8#H)]_HHP]&MLT8'9.M^UTV)%+;;UR;7SWJ1[3E2 MFXR:XP117.0PE5I 1 6%+.4<)CAC2N=92;$,R*"X/./8"'>;N&J/=WQ+)5^% MU^VX)RIH/5/NGJQ@BYV5=@(^U1VVHF?YNH(3-_VA8[[7R'NXKOZ%A >'&P,; M!XL')9]K8U'=VP_35_6T6-K3J@_SNCJ>_4Z]>6E_N2L8K@E7.BLP3'G)(2JT M,>VP+"&7.E52:+,/]SI(#I1C;#RT4:/>D3>R@N5&$\]6Q($KXT96 ^#=]^Y] M#^I63+!5 NQI,;'Q,ILK?O]>]TGOIL;4FWE*B+QJJQ< MGFKHZBI7E3Y35>7Z/?XQ_3_/U[NJ+%N6LJEGSZMI*H7$!!FCJI02(F-009:D M!41ICG*58ZFI-+CH=8S+70 M%N)#OX*<]O0M+/A^Z&3:<#_,^O56.#N/SV,]3#^%6DPP M-\]V*R)@MV1!G077;CMT,5,\,VB#4"#@!.Q$CID5T(1 K,^+L',,F1W2I M>9(?T7EQH%N[J6[V\LY8:JMJ/=4,BR3#*20H-W:4*ABDB4PA5FG"\E*G9M_E MY:X^'']LMM-&/" ;^3P]ST?@.7J4PR'IVU.\0>/=%33\/;[G=8[ER3T:?5@/ M[7G53CRO%RX+?&UMD!*WK;7?+AZ?U'Q5&WIWRZ59SKHTSYN7W25?V(O]T=T? M;"F_M"VYZQ#4SWJO5G\;JCHM$Y3)3&0P2PL,46$K)Z!"P40G=HM%$,DS+P;H M3=2QD M=:VNH%9V K:+_F6SZ(?]1UJE(U)I[PL3BY7[$W18@N\=\)-O1?\S!M9H:P*X MYO>[ *XW2B^6ZFXV6_QA@V7?+Y9OETI6ZX^+U6K;E5CKG.@R)9!(57OI,TAR MJ6'&M(V\HCQ%7IWB N48VP=C%WS8;# ]VT"'KH;;!V C'MF]ZT&>[&=$\!K M)73$-2LA)*I02AYK>".F5FN4PV-LH[E-6:2ZVT M;<"19[W(3IS=>"X6>CV363APWF3E@D@D1NJ<:E#:<5'ZF%N<[@DL79)]^?9; M>X*4E:5&6*0P3:79D6-40H:%AE05C!:,TY)PK](EN[''1@]6.&"D\ZS9L0>6 MPT%E. 0]O^,;[4-+E^S!X%FZ) R.X4J7=#\4_J5+3O6]6KID[Y9A2Y>"U^8YT2;-?4OUB1[>J-?G2S6JZG;VWG)+5\8LOURR?SL-S]6:VF2:83 M+;B&N*X2F^:V)V>10"E4KJ34HM!.6Z-+$XS-WMF7$5@AS>-OQ'3\\%^$L9LR M8H#3,T-XX^),"=>4[V( <^_>VV_^M7OS+PX[R(M^3:G->WWUNI!:-->PZ_/LW7U-*OL=DBS/,T8 MA9(FAB-4BB%)A8*2:U((;39)U.F \E6D'QL![:D!6*W'!*PWFH"9564"YK4R MN^(Y$_"X5N_;IV>( /C9/SZ?M MT_.M?7I^_4L\/3ZUAT;\% U5R&C,3Y-GA:176LWN;&7E6M?%?"E)R)C-89C*WQTLEI$6J(*&$L91I MI(5GC9-+4XW-F*F;/UAG0OV7/6&]=E4.$+NY9.( U_=.*Q2S@,HFU^"(5M+D MXD0#US*YIO!I$9.K=T0+W%GER?=%06W-M:.*7[D@!=(*8H8(1"C/()4JA4@( M)1.<2\%O#=:Y-/?8""5/(4X\RM*%P.W&)3V!V#.Y[ *E2NBQ%P;N0:JJTPE@+!'6."FC( D.6E0(*7@C!$U(2W^(AG?.-C4+:HA@' M,D^:5NO 1L(VD@,KNF\]D6[%629UU^+/^DX(.Z2QA;XL9I5X:?[+^843>.Z-KE\&59&6ORR59>B6@+\$[D"6C$!;^W_^VECJ,?4I&,'L=)![5__( X M-H4\[PZCK2]+&ZJV?OEB'IVUC>3YO\_5DW5B?U+K:<*S G'"(&<%@H@G.21< MEY"FBJ=EP8D4I1]9=4TW/HK:2%NSDMJ(.@%SY5D1H!/EK,3*W"6@I+B$B'$& M&].1WOA"K+N.]>+'5[O! MTN_QWJM$5KLI[GC,%R?U]+"+=ANIL)HJRCD67$*:I]R8>+R$G,O,6'PB)S+- M64:\RKJK16?7>^]EJKFUMA][5FK]X;.^K:Q6B7'8)T M0/]LKVE>NZ%V""8.';:#A@VSK']^?)HM7I3:J[_8N%3,LP/E[9B+:U MK<,XQG\UW+BG5X3[YJ0:SD9XT$@/&O';%O23HV8.6R4BALF%XA,Y[_F%# MZD+A.0FT"Q[HAF82GQ;SK8/-!N,\JK9RQ)2*A&3"F$I(DKK??08Y+1FTL7N+R9,/WH+BJ^-EF%-?O"N.0KZII*5CS5;W#F[&UDG=B7?VHUI5: MO:M68K98/2_5+KI+HD(F:4Z@RD@)44(99,K\D5--=)*P,F6I#[.$"#$VOCG0 M ;PU6Y%[WZ..H+5P(Z*^$>Z9G@[!9;4/JE8 [#0 .Q7 [[T$X=T"8B0V"Q)A M4(Z[!:1CYKMIK- &RMM"[DT>^=WS^F&QM,WNS=Z18UPD!2P0,3M&9CL?:EQ MPE*,*1=IB?W2O2_/-39V>[O77F/2UJ8!;"LN^*F:MS^];"=XX^U&;9%0[)G! M#EM5-(*"G:0QNRE?A2-:,^7+,PW<2_FJRJ>ME*_?EJD690X5L?G?B8T>*3,"-6$E$3DKL\PI4^HF*<9&.ONI MA)OO?2TMV%=D8A,,#W]]8X*FS\(Y>K#Z7HZ^O5A]K<0-*9\!2$9/!O61X972 M1 -@NIQ &C)86%5V@WGR1 <"U0N_G;AVTX'N'[,>%W[LN]:_(_"O[LWI\?FR?.)2*I$QD M!G%NO?4YQ9"GMNB&R,JB3%/,B9/Q=S+RV-BL%Y?4'7_40]R1 RXQS_ OS#3\:7VWRF?/Y:_<?R4EB5'J,QARA)A/O(IA:S0'"9"8)'1)*/,JY26^]1CXYJ= MY'6J4, 9F1OB'B=CT7$UV_9_K0*5I6E!)&$$P$[8K/5[5I+98>89KN:'L>*(8&[N^SQ8O?P+8&FRD;L)->\]$ M/X]2OPGI1W..(2_]/ R.Z>D7;AZR9=#/JW7U6'OT=T7W?UFPV9UXJ-2/^M:O MYM?3(B\8):F&N.#6K*7$ULI(H"X),H8NXKEPXJU!I!T;WVW%MJFJVX8<]PO; MIGXG.5B:2X9HW^*ZY@XG"&-:R4%V_3>U8]D]!_N-6:S:8$]O\'5DS\$0;7MZ M>![^.FUZ8CP7 S7D\5RG?AKPN KQ%VBXXXEGG 8[OI.&;4,_S'^8@1;+EW\M MEO_U8?YEN1!JM9KF"44\2W*8I[G9 65<0BXD@9PKA5-LGA*A?79 YZ<9FPE@ MA0/5'#PUXOEM>BX@Z;;+N1V?GC^L6P$G8(-2*^2D*3(0;R_3C46DSKP]N7)UP'[$#"&?Q;HN%-"> #%:2)H0"DG"$$1IHB'AN(0DSQ)&S%M/ MI%-4]87QQ_;"MQ*"I2'4><=^W D[!TO\-D1Z?L4W8#350@)B>,Y@XF&5WH;- M0':D)T9^]MYE!#HMM#.W#6=379;YP KJN"S4;A%+6ROLG6K^^V'^=C&OZPC^ MJUH_O'U>K1>/:OFQ8KR:5>N7:<$9+G62P0*5!"*"%:2$()@36J",YHP3YN=( M]Y1@?"[U=TJKY5))/_8+70!7.Z@W4'LWD!J)P4\;V?]FC:2-^. /(S_8*# ! M6Q5BVDU!V$4SJ/QF']C2"H+FU 0+&R:,XNK><:NW[0%ZDB!:YC8I!9M@-6B^M'3(7ANY!,,2<_4 MTL@U 6]CQP^<53@2'QR./>C;?E:MXW?Y_$6A>:H=+/"U^;I^56)Q/Z]3*4N< M:X82 24C.40Y*R$OA=ESI3CA.,USE7KEE_E-/[H]V)XW=<%GU3UK:N]81]E* M5QWIF#'6PO$0NC>$^SZ-OF9^3$ K/MC)'S/_-02W:"FQ7I,/G"4; LQIXFS0 M**']!;\]LMGLS?.JFEO'IF!$(_B= MO^R&FF1UT=AU72.VR9).*2Z92#',"]L(%*4*DI)QF*A44TP$1\PKL^+L+&-[ M?9N:6GM2AN6EGT?4S8BX&:>>7V=_B,**C5V"(&:-L9,YAB\M=DG-LQ7%+EX< M*17"'AZMFO'W@O)SBNAF74=(CSJ+NQ17PL>Z:/S(/E '1B5)?V0_G)WW=S(=.(*YF/73? M'5)% B5URO9>;G_!.6-)GD..M" M7)3YL";$YQK?J/MJ/K=Y*YS-:D]M<(W!4V1+ M6DI%"PEY8D^VTH1 EB$&"UWP@A&1YV7>(OOS7 Z&ZV:N/OTGLB=(W4S,FT#J M^1/1R#8!>])%S-2_I'BL_/R3\8?-RK^DWDDN_L4+;ZCG\;"8F3M63:F*3XNU M.E0D36!.,"]U@8C6_M4]7&8>FU7XECU5]JR[5B"@ MDH<3VHYTT >&?=/$GLS_:U,>Q8K=?P%J;[AB%O]PFG?X4B ^<)PM#.(U0(Q& MP5^K^X?U9_W;2M4! 7>/B^6Z^N_:N-]TERC*E"<)*Z"0QOQ#M,AL#CZ".N&$ MI:K@B<;A+82O"S VRMH7<=/3 T"PM(K A8;/YI]-R([YZ:Z%A?4'Z6I>FSJW M]QYV6#='KWR/J]&WP_ZX7_'7S1(8^4&MP 0B@=\WPD5MXG%>[VB.^J/A!W;) MGU?NU/E^X;H89W_3/"&T( F'BC.;RX(.#N;X.WWH]9'O-PS2W0[,X']VOZI%5\Z9;X28J]O,V M*-9^W^U\WZM'<\EG_:T.D6W*OC?M#5/SL2YHQ@H")OHI?9,.C:#&-NV+#D5JF# MS@WM>*OEY_E59T\3,^H:MJM7.5TN)SI1.4Y@FY@^$*8>:WV?(587R;L6_/CX]L^6+?\,:#5#&#]-SVHVL"%1];G6R)/6W4 M!3^LOF Q!PPL-UH";M7T(W3OY7,C[CZ7I&>"MJ)OFF4WTH.-^!;OK0*@UJ - M(06]>.!#48S$N][3#\JOH> <\VCP.(%'B-7]O-*58//UG1"+Y[GU>WU9S"I1 MJ;W7+.$99:F4,$T%-U:NSB')*8,"T3PO$"N5S/U8TFWB\7%C\YH99OQB1MW$ M)=7.]CW6W%,.[+0#&_4\SQW=ELCQT#$Z['V?.'9#V==AHQ=,L4X:W28=]IC1 M"XB3,T:_NV_(NK%1LVSUT'0'GTJ4,"[+$E*6YY:NV7 XER3GG9L>N63J= MJWM;[NV[9^;-P4Q.+PIM7I23^7K<;#<'\RO[R6CZ0RNVG!N+P2ZP#;HW_Q1- MR+@T=OML\5374F2[?M(__5M2__JG?\M0\;?F/FO;-?T-GVRG.\^HJ3/+I%.* M$$XX9)H8VYNG'!K-2LADR07".4XI]\Z,\E^?(;T@MR[,S9@[GM+>A&3?Y[!U MXE0K'6C$BYPS=5;UF E3AQ,,GRUU5L&SJ5+GK[RM/_#JLWZ[J)LJ+6O[Z;/^ M6JW^Z\V+_?.]>=@7RYU=@SG!#!ORSK"VW8%MWC.1!<12I0JQ%&FK MZH?=+8:U"O990T?;M-^5Z=M0W4AOL3Z0OVX<;&1O6@2;OX!&BUXWZS> &;E3 ML(\$K](G. "B2UV"0X8*R.YZTX2P?WM0:KUZI]:LFNU"(#"1O,PPA=:"@DAJ M#2F6)51:8%M.F*7,/<^K:Z:QT6(K*VB$!:VT+H$4G@AWTUE4W'HFK<$@\\@7 MBP7=0)EC$%I35/W=_ D.I@3JSVIE0-4+VTRR,J;^K*XB_G< 8:04,Q>H.I/- M.@<8+NW,18^#!#2G&T);QKSIJ![_YF5WR4'U^#^?JH;RFW.LWYX6<[/3?ZSF M[7?@FUK^J(39\W*B**84YBHI("JIA$PQ9..#M*9YKKG,_'K&]"GNV"B^[0VA MMN*W80/@V2@ UCL-ZOB"1@??KB&]+K_#IV-4B]JWT;S7-?9BGY WFSXA1]UE MVSXANV>A41M8O<&>XN"S!M]&^"SXMI 9RS,Q: ^9$3P; 5UDAEBJZVUD>I5B MX#XR0R!ZVDAFD%D#RQ4+L7PV,R\76JU69F V>Z_4IL+JW5SNE<#)TIP(94R- M$FD)D4X22!G+(%$8<\PH37*O_LL>NX6-(30[)<1IF4HH4:8@PBDV.R7%[3\I MU8*EVLV/Y3'GV,AJ(_($U$+7/+45>P*LX.#W1G3/PHHN"^#&49%A[9F;/B[F M]_!C]<.&,9N?5];_7D=:7W7E$_2ZJ>)63'KF!%\XO"HK7]([J*SRR6"#U52^I,9^0>6+UP1V M>7BP.ZTK/5]VIUXXEQ2+$J:)0! I;MY?3C5$E.8,F=V.0EY;'*_9Q_:"-\*O M;$.D]8-J?:2>J=5^\+O9"KV!VC-#-'([]9?J)6\["+=8;1V\YAZVJT,(+"=- M'8(&"8Q_>GYZFKWLBD_7\1^[,!F2HC)/<@UI5B80$;/M89)IF."22XQ4KI'P M"G7JG&YLI+4?U;2J):_W.QM_C-B5[/8,6.H&W8VYXD'9]XE*@]Q.TGZCC)Q@ MB150U#W9L+%#3HJ?A FYW17:%6NU7MF-4E.59C6524HSR1.89&D.D4BD,8G, M/W&1D!RIC$C-?5K8'4_@12##=;&S4C8>W6V]IK9JEB=QG #J:.3< %/?=LP6 MFY^O(1+0>^J\VM&Z2QT-/W#_J//*G7:(NG!=0"Q*DROP;9LJ8 V3Q?/ZJV*R MFKV\4VVT@V&0;$!(0C&E&OB9$?<)L;8 M[ O;=^*1+?]+K>OOH3I)Q7@R,SW4Q\C>I8%O7+!N8AEN&7JFGS;[9:<$:+4 MK1I@7P^PG_KD"6GR/2;B9L3_CU_'EI\@(WT0=[9))M-<9DGJ5G>HCS49JC1V]ZI$AMS!%Q$9QIXY_ "_/7E! M*W!(1SP7(#W\")$!'$485M^U!D=NN$"TC*1$&1$BYU*M,B37W.E2[,,[;CI5HZL-@6,[VIG\H. M3<<=^>T8];W[/NZ.LA6RK_8G)RCTTN5D-\LK-C,Y4;6[9\GIY0$6\Z]&6O$\ M8TL;'_UH'GNU^C 7FX^;TAKE4L.$80Y1CA4DB @H1$%8EN8ESYS"9:_.-#8; M^=>[#QYV0B>&#I96+&1Z?O>W8H*=G!-;F>OO(<95]X/G;E7% F\@<^HRB)'L M)Q<\.@VGS@&&LYA<]#@PE9QN"(SH4_>-V?5DVT+-[\^U@RPQS7*9,[-_%0E$ MDA+(%$D@XPR3/./,F%.>Q7.OSSJ^?6PK] 3\HA;W2_;T4(DV];)QW&]V#1_F M=>%X^[)Y!OHYK(6;M149WY[9MY46;,4=H!FG.T"Q@O\<9APV M =@I,P0(]; M0VEI9GY[_XN:&[-P=C>7=_*QFE>KNBS9#[4)3VJ_J3S-A$89@V6JC#%7&I8B M0N:084J+/,,4E\B7H#SF'R-5U>)/P'VC0,U2[$ %7VKR60]7DNH)X][IJ@7W MESUP#V7?AB=&="'=!%LT$O.9>V Z"X#EE-A"!KFMENQG_<&8YDTJ;],SPUG][,N MJJT2FX;"]M6\;_4(*Q/KLSR.O-._DWK5TLWAL5!BD/&P!BY/*P M/A*\2GG8 (@NE8<-&2J,'3_,?ZA5DRWU3O%-_OQ^'*!GZJ;[@"-ZV?:$G@ K M]K:"QF&D:Q\YF_Z 17JQ/"8>]'WR!^3X-0H8X5;;XGW3_VQ^_W5;+OUN-EO\ M8:N/OE\LWRZ5K-8?%^9=7M7O[[10DN2%RJ%0R.9P<@II:O\P^RM6,DT1]>H' M&B[*V"R-K?Q@I\ $;%6HZ^0V2@"K1?OY\PQ&NV'E?*V//M>C9UZ,O10WF!^A M*$:W0KP%>25C)!2PRS9)\(B!+3K=I_NZF,W,CVQ5Q6F"$6-%B:'."VZ]Z!)R MB7*8288992RAA?0AUC Q_O*D:G4!K3*>W!JX<&Z\VO]RC(U3W5;"OTOG34#& MZM49)L2P'3MO NJD;^=MHX51Z5ZRA#&&ZV#IA\7,W+]J#./M'B]A!=.WLY7U_E*[L9JJ]B<^T.&Y2OK:= MQ)N.Q_4F31#.B=0II%+G-B$@AXSE"N*2:Y*D"N7*JRAL-,E&9QB>]@VW+^;^ MBWJ^C[B]:E_%@\;BOA9CM'5W-")?8S7[MBOW%K)CE:)OT:-CV4\;^!OD>LW^ M\+?#>:5Q?(0) GVGS/H4ZD_)V\7VI>UB/B6IRHLT MSZ%*>0(1U@12HC,H4,E37&A.2Z]=O=?L8^/L3VIM^Q((I>2F/Z>2GOY/+_0= M79Y]8=KW42MKCEEKR2?@0':P$=Y^_/;$C^CB#$$MEE?3:^YA'9DAL)SX+H,& M"3])G9NE?C%OY[24,LT+B2'+;0 )8R4T#&7^AFE*$,9%2IC?/GI_^/'ME3?2 M>7<>/T"-)(G298JAX7-+\EQ!FI8%++#6"98R%TSZ)(R%8C9<$<(XN+F?S(>@ M,<#9>RW6!!C!XIZK'ZL;\>1\._3@9^/'2IT[_3ZY9L@>EU_:^GA?EI50MM'Q MX^-B7I/P'5_\4+]6\^KQ^?&[68R5=2)\44O;"'F*&)4%SR54++.5V06'U*8_ M))IK20I:LL2]&N' PH_-0MQH8RGUV:@3'^!SINWH1VG#^>-,@1W MY5P\S]Q?K;^]+>&D^[5:IIF">),9U F2D-4%!1R03'4N*2$ MY8Q3XI5R=&Z2L>U2#F0$HA'2[\4_BZ7;:W\K0CV_](?@O+T"CO<+WZ5]I-?] M[!2#ONQ=2AZ_ZIW7!KA/VD O-ML%>JT^+=9?V&K];E=),I624\4A%M@VW"8E MY.83#TG"=9FR(DL9=O9YN,PX-@JX]B$+Q-7!71 ;K;Z/]S?B[H6-KH 1&%B) MP;NP^H1.8'KLH&.#.M"V]SJXD;:E/OAT[B6=!AIN ^BCU\&NS>O&P![BS5AG M F]71WG%B)09RR6'6N@2HE2DD#',8))A23-FVV0AKT[BKC./C96_/3\^LN6+ M==ZPS=YCN17>.H#8O=''LY6X\SJXV6^]H#L,BQ\%_^\8O,=,;F^X8O4:=YYW MV([COG"<]!WW'B \3FK5UKSZLEQ(8Z)^K.;;;S/*18K* I)<)A#E!8,L8Q*6 M/$%$Y)RRPJ\5:-=L8Z.IKSZ%K=WP=*.>:"CUOH>L130,TPC9Y#&TC5+?J+EX ML(W.^BB>XP)0Q""FRW,-'K1T5>US04K7;PHCCT_,[&?59]V6?5W,5]-$9IG* M0<(E@5B*$L")%IK&?B_ETDO&YE]^IE5A63_59EK%JWCRO#,0K M3V?3&33=^.(VA'HFB48XB\I.O)[* 5[&(1(7G)E@4 *XK.#Q6]]QI=^K+E4U M_7F^KM8O[ZN96KYE:W6_6+Y,$Z504N3*O.>%A@@5!!+$&)0*HRPM!5&)+\,E]1_,R;O%+B[_>+'__; MW-F\Q.8ONW?WTGB#O+A7E-F\M=>KED;@VX]A>ZXW 31>AJA7Y)*"MFIM_S^>J M#N0&?U3K!_#TS&>5,%=JM?3W55Q=&4Z:+0Z@_[$&]'\ 3T2'ABDTL M1\35^89U0+BJ?^)X<+XQC)7^I:K[A[62=\8R9_?JT[/=AWS63;/7S\_KU=KL M(MM,,#$U=)03FB&H>&JV$XGM(:XEAH74@J224HR]$FV]9A\;6VV$!ZR1_I"D MFD[AX-D&S=6$]?CT7)?AGJLUF-E:'\86;*Z: &[U\V\P'K:(;F36V]+T3&S; M56D%!XWD=7YS#TI_0; <4V'8(#=$[53"S/:6 MK1[NYO5_;/6#'VQF*PV>_^G=G]5J:HB0,TDRB'1BSY4R#"F6%!8I13))5)XC MKW.E<%'&1I@[38"5MO9/UG_9DQO\;B7WK"APPVJYD>$P:]"[?_AV^,,BCVY" M+F9\4I@@PT?OT6(E#G1L<.GU%[866PFFZVH:N$!ZP6P);,GX'$+T2 I?3&> MRBN$^>H"CHBHF\?L37=ZWYM->M^;L^E]>X]9#0FXVSYF6U3 Q^8Q:[?7&V3 M]P7X9_V8_?K7>\P&R2,=^'$;-*OTK_'8#95F&G&E>THZC2'A7R$%->)*1$I( MC2E18-R00=QL_II&&DT1N&V@XX>U>MQUA2ES5"I="$A8CB#*S4Z.4UE 6N(\ MPPJG:>F5M^8\\^A,N.>GIUF]KFP&YHLYM&J :J-'[5O1V_!?6W+J1UUR[S\\ M8Y"<5\;-C]4+WCV;,:W,X,,!N+O8ZEKN7HH*>Z,5*Z[)>=YAPYU\X3B)@O(> M((S/[.EHU70$LGZMQ=Q.ILPT:C7E*%.":@YI81M&"(PA+Q6&5&E9Z+3 0I9^ M 9$=LXTO,G)/V,;_NR\N^.G38JU FG@>/W;A[<9+D3#LF8DZP8M'.PY@1"*: MKID&I18'E8_)Q.46_]C*MFG8R\]_B@=KN7TRC\,4YP7)$.*046:L'NL$HXH1 MF!8H$41+EA1.<5F7)AB=<=/*"#9" BNE>WCE61"[B2 &-'V[4_Q0\8JP[%(] M*,3R[("#Q5AVJ;,?9-EY78C#?-N]JH,=/E9S55L;4RE84?)$PRS-2HBRU.QK MTH3!DIA=M522(+?F40%SC^Z5WVM VVTC_&YU:(QNG]QSSZ5QV(C91K!/P;\G?DR1) MP1-;@A]6XEW8ZC] ,3&_VQPOLN?UPV)9_;=UTL\7YMVQ\?LV.M:\6HM==)YO M:/[ILKAM*6\$N^=OP [GM@]!V\OE0XU9S+#[BRA$"[0_G6'@T/J+*IX&TU^^ M-#1.U$I9S:KZN_59MYF]-EK_F[JO&>O[PG8C6,PJR=9*[NI>)%(6,L4:XH*8 M7245&M)2EY!CQF0N<$E\/5'APHS/4;7_H5XV>JQL3,2]6MPOV=-#)=@,&-YA MOI&BP>OE1CO#K$'/['2HA%V"5HTF6VBCB TDV5>EUXHFMP,;+9 T6)"! TEO M!>PTD/3F$<<0!??MV9@PU6+I$@6@R-D.SYQBX58O,7R0$SN>1='&-_$4>M+X=+?U&(FU ^8O$O_D\8Z\9 M_M;3L_;_1O1;S&?NE8/? M9YV-@W'P'_PJ%O >O0;^1;B$#!)3G,5.N7+^85 M7M_-I4U_>K+R[9SCA<@SFN4Y%$*G$#&>0J[+ BHM.%.,*)P[&8#N4X[-4MM( M;(C)RKSMY%Y+'7!$X0&^JZ*X*S)R*$-P@P]B,^J8A]>9@S?<,S7\) M7 _/>@6V]U.SO3.RC?Q-><*-!A.PU0%LE !&BYC'9,$01CL?\Y=@X(.Q8(A. M3\3"APHX"KNS8']Y\[DM7V_X"Q5)GL!<*@)1Q@@T]Q2P3(HT2X@D+'.*2S\S M]MCXR@H'C'0>#O0CL!R.3<(AZ)E9-MJ'-'TZ@L'#LQ\.QT"^]JL/A9^'^[R^ MG3[GHUN&\P*?E_7 +WOADC"SZUSC$YQ\7Q#ZCKVLCMK<%2FB62HA88Q#A'(* M&4L4Q 07%'&)$T%]S"V/N<=&6SB%- %63#\3RP=N-].J)Q![)KY=J[9ZJS$! M.+%']X36F'HTP_.VHP+PBF0_^LDP@DJ0"IGDA(:(H@0R5&"*&1)Y0E7/B5;?3 M6X*QD=>O[$_;"QW,MP5TVR@:\P;R;7CW\]-B#M2?:BFJ5>T>:\H?+^KN*YZT MY[]H;N37ZU+T3('[Y=@GH!5_<^Z_40#HQ1(T*FQKN<=-2 Z"+V*:LM_\@RWBQ]JN:T>HD29I0HI6"2L@"BQ8>AF\P@3E*1%)G-,,^Z: MX7PP\M@XK18./+%[]7?W?.9#K+HIYR8$>J<2JWS,2BD7M0U*6CX<:;!LY;,* M[*/)A_O2\7M4Q+GEKR:LD20D7&A)14H@(*B#G@D!.TXR1 M0A"DO/J_=,PUMO>RENW?_T>*DW_DGENE#D =MT9Q8.I[*V2DW&:)U8).FB! MD/>Q_;F.2:SM3L=,PVYOKJM\LIUQN"6,)G8G;N\J6[V;/]=!=;9BO2*4EYRG M$.-$092:OQ',$92LD%H5A*7:Z5M]?:JQD<3>4?N^J$$M SH =F.-.+#U3!J! MB'G3Q74P(K%%QT2#DL5UA8^YPN&.,*KX,!>+1_5QL5IMCJ&J^7,UO]_UFGRC MS/90-==]9W^JU:_5?&'KKGR8F]=6K6Q@V^$H-LQM_?*K6C\L9%.NK<[NFBJ= MIPGF)10%L@VH,89+;5H$>+Q[: XK5V MH*H5 &NKGQ^-#;GX;KPXTB7MF6@;><%/5N*_[2( &M7W6^VV*]YH!!J5P)Y. MUKBKAZJ1F0!;,]&>+"]FL[K890M1/.I^A?6*]"T84O)!/RZOL"3'7ZO7$.&& M3EW/8OV\;"J*?E4SFWI\MRVYZUDBUWF\$;'/@^]!-5'PB\2,=XJS:!T&0FZ8Q*--6Q @.8F\/--ZX#.2R1TD@F8 MBS*S/;1*2!0U/,EQD:4R8ZATXLES@X^-]#;B@3<>T8G'@'5SUJTP]'V^MD4@ M)%#S& J/2,T;(!DH5-,'&K^HS0NZ=X9M'M\S7-SF!6D/ C#\P/#,;HF5TM?6CONJGA;+NBW,QF&3E"C# M!=8PY0P;ZZE4D"F>PP)EFA*94$F]3CHO330V!FKE!%M!77PW?M"Z44\,P/K> M](5@Y9\Y?06(6%G.EZ89-B/YBK(GV2H!II)26&A64#);J,=:Z-I= ##0'J1[>ESJ#3 M,I*T8.W"E4T=2O9LOSHM-KL[&8NH--@3Q5CZ@Z%FC*M*V!.L(ZW"OO<+(]A/ M<\;G3W5VPJ+NK&)'--Q3)_S,2B0YAXB!G%%FPJ62&R+%' ALZUTRLW0S=_-( M&KTTH%?P-$*F9ZVU]+2SNLK06>_9_1\-,?HQXD7@W9@O)IP#,]RG PS?=Z/F M35^N4$2BJ8O#C4I'KLX?TH[S=:'G5Q6;W;/5YL>#>66MF:CS#W_L_TM5N)%G M*H/*T$N&;!4K+04H;&]O2;3.B6"E%-3O!,MUZ*FMU]KTO\K H/H8#]A=C[&& M '/P@RP/' ,.JWPAB79F>_78K/4_[6T&]YM MQO/ZP,. M[MJ3;7G).MGZ8I?SC3=)[;[0 M;X3Q3B.B(/'F["+.'0,EL]CZZPR6J% P98#J4@.<*K-8UPJ!#&M9$*H)AEXY M%_:F4WO-6)L\A:DL-&YQKJ_#0Q^E=OGJKP2UYUPL<2=[RW'UFO:<.))@VO^W ML,?H;O7(%O-_56^$73-,6^N]D/=F:MNWQ9W>JAM^,;]1=7OS-D%'4VWNGN< M%LQJP:0<%"4K ,P0+)#*":1>FN51K)K:@[SOU%7RQJUJ?VC?,?ONW,E)[GP+ MSJV*,\]NI#+Z[ W,2F--G#?!104Z$D/&L6E4BHT*XR%'Q[UY&,F_?WYY6OY0 MZHM:?3.1UYD>>$_5%Z[IE5QED_]+V;9W\V5=A?1IUV:.: *)K:5,J?D#%SDH M>,F UC)3*:MLV"]=+V8C)LTH@I6N>NDNMGVY"D M1]^ZV%/O]@;XB1,Z\+O@PN%TK+GT?A4,A'BDET)LZT9]/0P$[>&+8JAAXBD_ MHK9.%!$E"RH]HFJF%M88AZB_ZB)Q2#",C M-# WGA=]1".)/B+W/$0/]NH:Z:>+/J+3&8H^EP2J+4$./*3G0X>:0ET?79 -7UU]7*Q+2_S=>"/?TOQ5;O MS)"0#*%)2D0 !1E1&S$A2".SWE78-,[2EO[$QJ0Q-K M:?+>?K^-K1[B[.<@[7[D8P$U]/9]"$9^\NT70 A3?2I M!CA+,>"IQ$"8%4(.\S3/_=K0!%DQ-:JP3OPMF3^;@$O);5*(9[ILT'2X!0Z# M@SPPS=3V7R5;#Y+*!;/8:)VX2O;=2&H_F@V8B FX?7",E94;9,.XJ;I]8#K* MW^UULS!J_"_S]-I*<9L^2LN"\R+/@2QQ 3 6MCP@50!A!+DLB2$\Y$-X>_>> M&HTUI@4EY.Y#YD9*@4 ,3#6.&'A3QPEO(Q'"_IU'?&U-7EFG*D] MJI_5)GFR$NV&%^M2QJM$UJ8FO\P7B5P^/;'5WC__ZGF*= 9NQ].@_B ._)BW M%B;&Q+K^\"IIK(QX1-,-0ZRCEC.CC'MDTNWJT=''A8^'<<3GY>)YN5 ;MMI/ MKO^P,L_)-GYH1*-V1RDS;K4+>U)WVOS&<.3FQ[WYFMDN+[;,NXI=9IA*0;#0(,LS"+!*&2AMHS#. M2*$)4A1QK^(1C[&G1ENMZ74V>0C@>$^+&:P/!/#"O MO47X2X-P:_E54ME^M=6)Z$;:7^G&'[-8XC8>(X^K9^,/R9&$3< MHD9CN_?B MNQ]'/2(J>JW^:+;=ZBQ!.&,R@]!,%"@@2VT['$-Y!*4@IUE)15%JD7IM8<.R%^[#199AI4P@_>X'J&)_V&Z.'CO1UL] 3"D&L% *Y+;'!&E)0 M\CPU"^NL%)(15/+26T?Z>IHKYZU4\'6 >/*UT\JX+PP#\]L.@3XZTBT4 3K2 M 9",K2/M $V8H/3UJ47]!4'IZS&7XUW6GA24/OQ,/T':.UUII7UFA_+"\EK)J5<6>[MEKYI*^/J0&NOX555WS+CNM (\0((A3G E"D3+$D,4%&JG&"2 M<8%FW]2*+UWI:&B3?9[%?<,'S(-H:A!KO=>F9%D$]X0=?,[=^'!*\S@PIU[? M?[RYJ*!MJ_/$RF9.)GJYJLC6J7^<-^^.!7PD[A[0>F6TWM^B.D%K_L:-I69 M7FF^'6!V4W(B/NCX]4\I1N 'LU3SMQXM.8IW8[M-T^Y\,E 24!KH>W\ M6)')?/W/=S\>S)VJKR6"%.,"0I#FJ0*8HP(P6%" S.,N\C(39>'4DLUAK D^ M[#M3$VMK8DT-RNOO@M@M&(L$W/ 4$(*9OT3A931B*1=VC#2NH.%EEX]T#ATN MZ=T.I*FKG.5,9D4AM%E'$AL-F)^X@F99*=.,4X6@P"RP 4@SA!=!C-;R0S3% MNWNM/X([?+18NE%"/X0&9H(]XZZ2QKQ!>G@;-,N$KLXOBJUDOHRAR.6Z%\'KLQ:I-/ MC#Z=JN3ST'C5(W?<)G"%TYSM'05$S:%O*@G77$N0"\X SAD"3%$%E,HP*X6& M)?>BL OC38VRML?$Q^&[YS+G LZ.2YUXZ V]W#D/W !)]HZXQ%KX7!AMW,6/ MF^M'"R#'R\)8Y7>V^J?:,/ZDOBBS"JA"L ?[5[MKPC&Q9_L""X +6@).:6KB M(E423)269>'#)V='FAJ3[ Q-=I8F?Z]L]=PR.8^N&XM$P6Q@_@B#RYLX+D(1 MB3+.CS,J65QT]Y F+E\0VM5PO5F]BLVK36>QQX77"VE+@E??3*S3*D/#LLA2 M02F@DD@3>Q0V&4A"D)$L5S#/H?"3?G09=&JT\<;F^F#55G0T9O>0\7:: 3<^ MB8WKP-02 ]* 7H?N&$7K?EFSQ M:6E68NM6?GVFM42$L0Q 3)5Y78.-78SGX/B)^CN7JX+58P1;?[U;V1ZLS5^N19V@ M8H9L?K/MV7*WJOM'?UQ8XK.[/O:(>RY5O5:K$E[6-I]223C+>,D*K;$5S$P- M-^$,E#E.@41,"\1RIHG7LFI 6Z=&;)]?[8+7I@Q7.E;K9%4]J'4&MOHNOMHD MMXKTUG42T;H2P*H_[*EZ->17P(TX)S*Q [-NXX9Y/*O6U4G[]SU/K[:_W#77 M,A^OW4UV_B9O'&XR(==)[7-4%9RAYR6>5LY@EHZMJ#,TY"=T=P8?,J!*T ;0 M2UT');\Q49TT7(M*]G2]"UO>+5>KY5\FE+%IP$VC5O:H9GE9X$Q2#9!$YMVC M"2,T8SFBGGFL)>IDSMU=(:WKQ2ZMB/M[8G-EW55H WUGN4YO6; ML.XWQ;C3,'BNQ:*2Q6@"[M:5JV0[-3MODJT[B?4GN1]_9CQ*+$>;H9$*,@>> M*;\:SBC@=E9\]AMAO/K0*$B\J2:-<\= U9.V!DW)VVHCJ2X(V'^1FI5?4RQ@ MNU*F."]2"?(T*\S2BDO ,J6!P 3E7$!84.FE:^(U_-3>9DWD.Z_L/+-/\\4$4[8W,9<^1#-@\8CD_9?"X.V6HXD=UX]V+O^K!\_WVC%K+> MCYWED&G($ ,"4@0PTSG@!D'4OS5UO-N(JW-._MPMNWXL#:/W:P COO_QYO9#53^_NVL[>!1$YDCDH M5,$ 1CD!10ISD)8$YHAK0J33$KISE*G1MC4N,796>47U7][=>;#*630="#H& M1@,3\A:>ZSUX0A3JSN+DP;8Q\!J)74_B%HE!+\'0R9AG+QZ/(2_9_X81+WZX MAZ;RD0;)L>@G/Q3]?/_]95X?Z=6[ #,E"E;BG)JU-Y< IRP%1:84P)*4!>14 M,NW?_R*&95-CVIU]X5+*46;,<3OR9\S#T#N5_464]V9Q$ 7EF(C'E$^.8M?X MVLDQX3PIG!QU ']1I^MGCF^]=38M+7.7;+I *IN%NP'P, TUAH6L3KQO+\]%)D.;CB:$M-I1_85F,Y\ M(BR6:O4$;U7]WX^+.BM*[8Z(US.D4IJK@H!,R S@0A> 28&!)$P(Q;@@A,\6 MZI%ME'0+E%R&=?K2EO67=G_PX;Z[NPQ&9I;Z'3JWX5"[Q3?1X!OGF=^*5O[2 M&ORK/==N;-Y+.(EXKNH#4:18PVG(4<,('Q .(P2O:P?0>?F=V1JDS8^J#/)! M?=^\,Y[]TYY7P)118<("*_E(;;%BB27@,*,(XA#7/& M@NG(PW1#Y"41<^%6?HPHU7SV?K&Q*7I2FF_NNOG/I_E"P1E7*LLRK8"T5=I8 M2<-^FBF0Z2)3*&.*94XRMYVC3&V15!N:-"9>M3\DUMCD;N&8+-P-;#=W18-K M8'8*1LJ9?IR0.$$P:R7^V^/RVW\WU]?<8G[844KW74Q#N%Z6L;VP9RT+:_]A_^\:>[&__7)CX[,EVCJY*M>L?/[#Y M8EV75>Y>U9(71#"K\8!M!4F.."AYBD!).2(4"88SKZXO8Q@]-5K:\]FN83XO M%^"DAHKOVG"$Z7==6TYK4@=?F[Z93^OPMI?KFP)%*R)JRQCM/U8_[#E^E>Q< M;T0NFK]4WB>_U/[_:F+#(:+",:-^LF-C\ MS_GF:RN*MHVE9QQI+G)< IS"PF8A"E! E0-89BE*59JRDOBMZCO'F][ZO35W M7\3Y;XE46E5-RE9UOJBWY'L'Y&YO@V@P#DSC6_RJ!FZMI7L+]*C*[Y']:BE?Q>:NK=RHVAC@5)#2, ; ID_RHP"9GNP M%EQE3,.RD&[+Y',#3"T4;6RL H[&3.]>,">!O'R\V!>>@=D@ !FOT\8N]WN< M.9Z\[6@GCUU.[9\_=GXN+#C8'JSMA2O;WUU79VWOV),]?/CR5:G-A]7R]66^ M>%Q?\W5%+[.2$"TY1(#0# &SC)6@8%8]#".%UM6K4%.:>J]O> MT^L6JXPY90,3V.ZD^T/BOQLYZ'VL)=CS MN.NNLPX>+;;.?S(P+#-!0-6Y\W:^%D]+&QSLWLEY"NTA9 %(JB' %"G ,-9 M:H&+ N$"0R\IQ*[!IO; 6UN3RMADSUJ7EZX_SHZQ3R3TAHYK@H'SCU8<$(D5 MB70--6Z4X>#T403A49@#+C(*R% RDI58Y%[*0 MS$O]XGB(J9'%@=)66/?.8R =@X->\ P='/@AXQ\;G'4^5FQP/,"XL<%9!X]B M@_.?#"S"$U^5?'U2=_I:B-6KDGM= \R!&UR 2XE C1E%."TT*!@9E50X)*B M,D\%H!QB]>\ 3FJ3O._0WC:U<),[P\; -6]N>I>%^N99J@0A)G( M!"(-,(.Y+7J!(&>2"5B4 F*OCGSGAYH:2VTM319J8Y^H56.H?T[3&6S=F"@. M8@,SSPZLK95MBYNHU2R7H(B8EW-FH-&S:;H=/I4#<^&*'CVTYF*CY.D,FM._ M;2HU->2:ICD!F)>V:T2I@&$.":J8"!.9L.EW@#FJOB7*C MI+'@'WKA%8Y\6$>NGI#%[-05:LKX';QZ@G:RLU??>X91:)V+N-W25)1+(0L( M2H*8;4Z*0,DY!466ICB3G"#H);OR]O93H[DFDSAT<_@ .S>>"D=D8.9Q!\.; M:$[['(DZ#FX^*AF<=NSP\3[SJ0"1N3TQTNHLZ<_%?/N:S#.8(HA3D&.8 :P5 M!YQ)""0L8,;RC#'BF*A[::CI)=#0G.1N7[W@H/'-;R7+@@( MG-H*A]^:MY9B"I><"*!2FY4,"0.EP@P(0HG0PL11TBE%YM3-I_;XM^8EOWF\ M\@\!L P]*;*%H&0Z.<0"H^(IP/%+6>L M?1.KG/M,#XG<=Y?E'=\=RCO6)'BGZP8YUZ^;K\N5K0B=&>*2DBL!M.W,97Z6 M@)=E"E*,TP+2C!&_X[#H%DZ-$(_Z';.MJ0'BN5'GTFT/Z:?.T,!<'4%,=S>_ M3<.VZ\OS&R:K.\0MF[ND' MM/M\J2VB+1%0&E7+6 A87A9 *8$A(RFCV"M-\]* 4V/ORMYD_E8<9+%<@.>= MV(NJ][+7@9HO%^? C:9C(CLPZ]:@-AHY5EMEAVZ\_2Y?7"(QX<7A1B4V5^-!W4"Z5(Y.,VYJ@,Y 7# M(0WY7=RK6>MOQO)3*B7; W>!\C3')08"%B82TEB K,4Y)3F"'.&9 $#VK5> M&G=J?-0^.G:FD]-J.\$I#JY3X493 P \,%%%PC:TDZLK4G%[N5X<]6=TS8WD=H->YEOV-/IE69U_%DW(US_ M8=T>R>VJ4:;5!U?/+T_*'4LG:>@*J=CJ)V//0CRG'^@:X,>T$YW5@IKZ^_WAS M=7I7<+>7T[9AO4JVC2_TF#?[:ORZ_))SA>/YA>G[9OQDO,L$P)0SIAY*64<<*$0*$G) MJ5"20XS;)D0/GN=0GK8X$=+;SD0/([QOC/5JG;P85Y*5>K*CVC;FMH:K.H%* MUFJS>:J/-LQ:N-F]9':7>9W\,E\TYU2_!IQ.^9/62L,E >WXF=_QI_M@=*(0=*@7B&O/$\8^& D$Z>?H3>J] BK5T M_G&]?E7R]M7J]M4<7EM2[?+."*9<09$#4MJR_ QA4)0( L&D(H)BB813IJ+[ MD%,+T/]0=;,D>T9?Y=[V)L/+J#M27U0LAR:Z"KO:VJ0VM^DOVW*%)$=E9Z]_<7>)VMCCGO/B:=72Y?O MOXNO]@7ZAXENWFNMQ&;&"YY#@G*0:IMPK9D$A2XYD(CA@F1$9(+/-DL3^+K1 MV+CF>U'BUHD!]RQ,M"@;L^V1MS#^755_5@%C6R9J:T=76Q"J?_<4-!KW2^+& MNM.=^H$9_*::Y>.N)CMGD_HC=6^3-[]\>T6-0G*BXV>U&U)CD;1@)!:-I(8C MHNS33YG&6))2XQH_KES53YF8(RFLGV-%:*'1C;+G"4\?%U)]_Q_JQTP5*!=< M98 H:8L*M 0E*QA0"/)4Y$00ZMD,\&"$J47I39E,8V52F9D8.WT+B@Z!['XG M1(%G8-KV1B:@<.B,]ST*A@[O.'*AT!F'C@N$SGTP\.S.W%/.GUXW\V]JUR7N MLYG=1NPYS[2 4)LXMB@PP"7.0%EJ#I@HB184\J)47H=N%P:'[VK MQ)H1^>/3FEB''$ M&UK+S*+6&AK:GO, 43?^B('2P+RQ,S&I;;3+M=K*(?I4GL8A>F_)@V%^4C_( MT\Z>[^%XYO.]&PN;=4VUO_?9./"Z6MD2DZH_R"S5G*6E(D )K4WH@21@BD(@ M)*<<4F'^GX7RPME1IT@1VV? H=@C^>7?TVH_Y-]A=E4B6.?KL>W1ZPM;;7YX MGA\X35:*RPPJ7'=6P5(:$F=< \A0BB5G!&FOY*S(4S5N#V;;JDK8O)J KE0N M8/OR>Q0(1Z/Z>A^WKLK9&=STEAJD/?$E>.)W%SX[XL]J#GP)@H[>OA^?8_U%'<@]+U[0VJ#*) M98Y *FSO4840X-QP(BT(DSHME%0A*8H]3/K_+U,Q.%_>>S8=]P8'GIR)Y"JV M)UVC)2E&P#5^GKJW)3\K]SP4LHY\\N!;]NTO=%$[8WU./*.J%S5!:HJD$H59 M)EM6EDR!TC8@HP(+C4OS=^75CS2:95,+6O>;Z-2$P#L%CB//9HF!0)\^C]E/K:]9/:+46"\WPW MIE@#]&Q'^WO=J+[>*W]YW:QWG2MWFA:%Y#G72@&J2@TPR@4H=0:!MB\## E4 MC/EM:GN-/[WM[;W>JWL.> ;4?G/@QLHPSYX&M-I3W?][[8I-IK2;=C9> MMI_XO%RLMK_X^R!*)$&XQFZ)ZS3VS^F1ZP/+V::Y7C<)%&M;J(?YL[G=ZGF^ MJ!CWG5HHO5/'QYE*TT+E0#!M!9,P-1&N9"!E'$$B>9HI+\&D2P-.+7 U]H*- M,3C9LSAI3?849;N$M1NEQ41P8!;K!&\(739':&+ILET:;EQ=-D?GCW397*\+ M8YA/R_7:ZI:8=Y%:B+DR8=QGMC$4=J=WOZZ/%J201#!<@%)D$N""D:8!#$JY M9B*7D#FE'_L//376L98G>S8FM=U!_;T])L"-@(:!=6 J"D34FX+\P8E$1AX# MCTI+_H <$E3 '4(+(IK478$ISDBA "1* *QI"?_FS"7TA081(9B572 YPFF7F)YP!!"G7*N6(%DZ:T"?N/;6'SAJ7&.L\ M&G@<@-7]P/6$8.!GKO4^I(_) 0P>;4S"X1BIB\G%+X5?#Y/3_G:V,#FX9+P. M)J=M?=/ Y,Q'_-_R-[:-Y4JQFZ54,UFP'"*A@9!Y"7!>Y( IG (DH*9$2*3< MEAN'-YX:X5C;$FM<8JUS?\F_ >OR2SX4@H$)Q]%[KW?\*5>#WO%O;C3:._Z4 M^?OO^)/_'ICR5"61;E5V.5%9@5@)-$X9P)G"@ LL@5 ZE90J)0 MO <,0[\BMPCTZ2YXXQ^6]X!D[.Z"#M"$M1F\\8C1#Z\9O\W@34>4?NXS 7QD M'OGERJ+WP^JCO-B);C<*I.:I*CA@D"& A92@3%,$J$I9GC-!"7,J"^D>9FH< MM3.TREBN+/5X1,_#ZG=_A\_6R! N.P^4!ZM% 6PD?@L#SH_I+N+1 MR7GGKQZ/_2YZ\(8'+W^Z1V.]F^7S\[S.FOXT7ZB/&_6\GJ4EEC!+S;**V[K= MLF2 894"KF1.F((E4?X=]4Z--#5>K.M+]RQ-_FYM32IC/<])S\/KM@"+ MK M/!F(5UB#O"XL8G;&.SG.^"WQNMP]V0NO\X(PBK@W7Y2O;*UV53,S7.HTIXH! MFHG4K.<,+3"@]N.!YB:J1P+<3*R@6_-)9Z[KZ<\C/>$YS8#2+ >89 QP(G- 4B@8RFF!4Z=ED=>H4WOPMT97U2E[9O]' M4AL>W$7.;1+<:"(ZM ,S1Q14 U38/5"*)L3N,N;(6NP>,!S+L?M<'$9/G]7& MRMC>KY;?YE+)=S_^7-O>OK_-%VPAYHO':[&9?ZM$C;:/22HT32E6@$NB >8: M@3+5*5!I)HL22@D+Y7<(Y&_$] Z*ML8F;&OMW_Q8*F NW"AK6'P'YB\K.U^) MB;?FVY+$7ZP'R7SQ:[+#?>?%((P6#F(D>@LP8%2N"P?HD/AZW"E@L_J+6MFD M5'1OIDFM5DI69-OL&_),\;3 %!#*F2$[20'/! *$4"H0UBE&3I)J%T>:7#!6 MV9J\ RC9FEN'#Q[[L9W0.NQ=QP)LZ!#K+%8AF]B=H'GL8\<";Z2M[( OG-\^ MM@L>G5O9G3<8;S?;Q8\W&]I.%_1HUWA"[2C+A6), BH*&R+F"/ ":T"5F?L2 M6E%AZA7JV03D*EEN M-TO7B?WNK/6\6IW9ZY8K^]'YTE>>;8ROCQN?3NQ+,3 YM][6FM6MOU?)UN.K M9.=S4CD-7E^2G=OVR]$X;CY:]_(R7X76>;L+N>=^4OD?L<'7>),5JZO7"!:/ MV\IKO"DXZM\UXM ]DD!:DVQGCZU>\RQ'"*E,29!BI0#&!08ES%+ D,S,VPP5 M)G3V"YK/#S:]P+E.;7A:+AZ!>>T])T\[LP/R0$XC[,;W<5 ;F*9KN/:LO-J3 M:8^<"-*)1-[\TW8 M7"_D-CUM)H7=K= *$&%"8"QX"3A-*2B1R#*%TQPSU:H+NU&'^^!.#\5;'>&! MJ62;*V%"C9=6_-L*:WGFW@9,A!O#1 9WI R4QF@;WS5F;Z75KY+*\KH)[/N+ M*/LGJ'@#%BMQQ7W@<1-:O $Y2G3QOT-@":$0RUU8B.F/O1ER#(#HP;[4V5]RT.RW>66U82YN0,[E^ M>EK^5>UG6"'SFY62\TUBQ6OLBC=R7.4-9*RB2.=QQZV7](7CJ)32^P9A9/:' M6BMSD>T#?6M6C$_+BB&;?>KFB*X@C'##62!-H0 XQ68=EYG%'$$(4X@TTFGN MMXYS&'5Z"[K6Z.JYDSNS_1C,!7 W[HH,XL"L]0:]/7O;,Y$!U!<] (K$1BXC MCLI#'A <,I#/I6'<%&)1Q7YP_9QOFZ$&FW^^M6"X!J9?Y79@!E3!H>40*4 IFU&2NLMU0) MC^RWW7VG1AS6,A\=LQU W4]_#[>'7A09HX(DW':N^\BW!4$P4M[9'^JQ.K@V M1'?]:K-)G^;L*OFL_DK^MV+FD_(J^;)\W7Q5;&W[G\Y9%9+=?#4KR5AJ;T?P M="N][3X^HLK;D8UO%=Z._[F'C,UM2S^8,YGF$*2<&/I!I08%)A (DI.TP&7& M4^$M8W,[30[:*I7FI!R1CR]@X0!,F8W/K M04"'UXPO8W/;047G/A.:Q;:VY5?L2;5='@C!*I71X_Y'SA,ZX=YS5<^Z#P9NXFY7Y)K_:!DO7"]FTK[3#?'ZU][_3]\OU MO,IG?/\TK]IJ*'E?93&:/X4]+X&:09YJ EA6E@#SK 2%W7"AI818%2K5F5=? MG0@V38TWWKA4!SMG6J>3]WIS5?B7W%^8L9&\Z%LKQ]JY[6S3VWG8L M"$_L?4>[M1^EVY;PG\WW^4[_SOZQ7&UCO[JS14JQ3+%M2,129;L22,"M3#BE MA%$B8:%SI_5CYRA3H]WM6L&O+4@WDMU<& V?L5:8\5J&.+G>13GF!GMT8_ZV MHYKN>X]"'D[NM73@]N%S#_C^7'PR/_WGO[6_,7_8@KK__+?_"U!+ P04 M" !#@Z16$UNR#0>7 !*J@8 %0 &-D>',M,C R,S S,S%?<')E+GAM;-R] MV9:;.9(F>-]/$9-S.Y:!?:E357VT18[.*"6-I.SLGAL>+ :)G7121=(5X?GT M8R!]7[G@]Q_*.ED*E[N+L.6#P0RPY=__^Q\GLU]^X'(U79? M?I^NO_WR]XRK?_Q2EHN37_Z^6/YC^B, _.?F'[U:?#];3K]^6_\BF)"W?[K\ M-Q.Y+$H$*&@*J!0+1"$%,&99B=9QD M++_^*AB3OU[\]I_.?_V/.[__N]S\-O?>_[KYZ>6OKJ;W_2)]+/_U?_[UW>?T M#4\"3.>K=9BGNL!J^F^KS3??+5)8;V3^)%V_//@;]6]P\6M0OP5<@.1__F.5 M__2?_^V77[;B6"YF^ G++_6_?_OT]L:2I&K\8[JB_Y[\6G_^ZZL%H>%C^%JI MW?SK]=EW_(\_K:8GWV>7W_NVQ/(??TKYCQ54M3*Y7?/_O/K'OUXM_WV)*T+, MAMUW](WSSZBK'40*_K'&><8MAQ>+S!;IQB_-JGP7RXM_.0L19YOO3C).)YM/ M?A%7ZV5(ZXF*.D7)'+CD"5R,(02M(WTE>!;6,^783Z..%:8_?UW\ M^)4^F-0B1/VBBD5L1')GN:UH#J/[8O=]H=^=)%.4E4&#%M:"0JX@\AA LIPU M3R$R78XB^_IJ-ZF^KM(7R_3+8IEQ2>;C8KFP3'?4>Q.ZY[_QZ_>PI ^"]&TZ MRQ?_NMJ1%KI:+QI(;JL6(O=/OQ#7!9=+S.^V6GF0N0UG:S*JN/G-%AK_?T_# MDCYQ=O8)OR^6ZPEZR6S2#)C1"E1&17*P)!:F45@=BDRVB?)O+;P3#D3_.#A& MGIU XB,NIXO\9IY?TT$\*=$$'[@&)[4!$@\#QQ4'DUQBDO,LM6H"B!O+[@0' MV3\<#I=E)V#XL@SSU;0*_AS0="1'59P&GDDL2D@-@24)F))5V>9H66YS.MQ: M>2=(J/XA<91$1T;%F_EZNC[[;3K#]ZT41 MUT3$(!BY-X1DGT IP\BL"0E>2YD=ABQ$"V \2L1..+&]XZ2=G+N S9?PQ]M, MXIN6Z?:NXMP2%B,SZ=<#,BU ):'!2V$AA)(P.UM\"0T \\#R.T'%]0Z5%K+M M B0OP?'L3+M"1BOZ,L/RR^+W^>30&&3=A1="U\RA=A& YG$"+RH6#13F<7CKBP> M6'BWJROVDZ#B0('VA(G-T?AA^7&Y^#&=)YP$8[EST0)*3D;/>#H957:0559, MA>*E; B,6ZOOAHZ.;S:;B;8GB'QBR6&#=W&9T%(5L QINHD*? N M2;)[TMNHT9B2CGNON;;:;@#H^(KS8-&-K/+Z0CK[^&TQO[B!B8HKQET"FQ*O M;!-*J\%BS'+H]1_>\7=U-_Q'>91(AQ9_5^6H>:@?#X[B8O9 MI#B=K?4&8BP*5$@*G. 2G)3:)'"ZV33O_DC?0OS MK[BY;R5<8A%>@^?$A");!2&0/*(SQ:@<0G''A0?WK;H;!CJ^DCQ:E%V$ Z]. MEU5X"FG2P>EJ8K)-Q42*:*2GR#>6 B'S#))9[SUR23)K$!#I.JZ*QCQ?L4D3/= M "+WK[X;1+J_B&P@VBX@4I]QEZ_"&K\NEF>3G+$4+S7($BCL3=R13#B'HJS1 MW C"_W%Y<_1?&0@.3J86A, MA%A$(#2Y)NY:V(5[%]\-%]U?,QXOV"[P\?D; MSF87U"L98A;<@@A(7E%DA613R.C)F*RG&-KH%J\3U]?<#0T=WSD>*<8N0$"$ MG]0TCD7ZQ^=O)+?5A]-UK>.HD?6$1Q]+-7G!*XJI>2U;X86.ON*WDXW%W =H2'++,'L[S_C'_X-G$UYO5HT0P&.VH'+TX(6-X"WZ MZ+$F!)D6.+FY[&[0Z/CF\GAACHR&%R-R\V\LMYOV.[Z^/%QXG23C_S9=I3#[7QB6O]%W5A,CB5O4 M&E 7$@1&"IVMX9"8<3I[YBP>%VD\L/!N2.CX$K.%0+O"Q+;.9,M$<-&B\1R$ MDR0*'\@M1B')NCFK72A2A.-\B >7W@T7'=]@MA'JV#D-V^NT*VQ?E!\YZZ-C M-H!29.>4(G\Y;JJC3=:),\[_6T>3O.4OGN3DUU+MW?_^#;%W0>R M6#(>'"(C40]\&VB*QI M7!QY2-VD_]RV7K*A@TC2Y@2E)A-4RPPNROJJ++7CPC%='@MJ#D?-+4+&!<\Q MNKT7)L>(N0NTO JK;R_FN?[GS7^=3G^$&;&S>K%^%9;+L^G\Z_\(LU.<"%<, M%Q3!JZ!K[JGD$ WC4&+TMG@DYAY[GCT$/3L1U@.:CH+ 8FAM= &R3TBRF29R M#BIGDX)!%$Z>G2A.D7M7O?ZB*0C@/":G/ NLM2VZ2<$X;3&&@\T1\ATQJKJ@ M_OP8GW_]A D)\W&&+[$LEOAB-EO\7CW,WQ;+5T37=/UNL;JRWDISZPWM #2. M0@4"/[A@%4@?D\7(G)6B,8P.)'6TY--8!,%^D5"N"5U=<_F5)[%PF MUL3$-[&I=HYBTRP3>/(M(=00-:; (WOLM> @E^I1BL8]#9\%%+>=L'8:Z@!O M%%MO1/+WZ?K;J]/5>G&"R\WFO<&43$FRY!UPBF)(7ADIMD$/3&+D6@67\;$. M ?Y8KL0-NZA.@;ZVNNK Q#^;1ZGLQGF*SE>&&T=S^F/1;3,[Q M:WW;:!I /,#7>UQ?L*9(@!BBK$7_NM9Q2""K;8$38VC)<17VL28LQ\023Q(W M3ENP'L**MGKKP$R^G?\@JA?+,V)ADF7M.Y(3Z,QH.XG@(8I4P,B81#&,Y4<; M>1R"N>OKCWO0MK\4.5BV75S1?ESB]S#-;_[X7I]Y"?,?UM_.HYE++Y,YE:-) M%E*N/=%R2A!Y(/OK)0\F"V2/MA([!# [D#7ND=D>1ZTUT06\;I(?B_=%! &V MA%@3A3F1SR*XG#0=Q%EZ.^ACY+@G6GO('"[=#LZDFX\7=U^_WB_FZ0+V1M') MS2,('3(H5UO@>)-K,<_'#U&70^/2DU>M@=22 ?W#O6(7JU/ M-F^JYW;UBIFM!"=%UMKIX&CC8&4I($29$%CR7J)P.6+K])H=R.KA!:D)N%JK MH(O3[<-WK&UDYU_?85CAISI YT/Y&QW>E9^)L$9P^C] +DI-B2?++D+M".F, M*+R4Z%I;K4<)ZL'Q;H*E=F+OP#9]7"Z(G?79QUF@C3#/U>!^K_NDAA,\2>6\ M8L +,:1B%N"2KGT"/868VJ.SCS73.LSS?IB>'ESN)@AJ)O0NS-!?%HO\^W0V MFZ@DT*9"6$^Z7DWH %Z%!$YYSDDFHI3'1B0= I>+M7MPK9M XR!A=@&#:_'B M-598+;MI'ULPQ7SPX5)888K4SA.=.MC8A]Q(R3O/X(4Z?H\7Q"U8E=)9<"G4J 8;ZWFILCX6(^FPT/R<3K$#Y80O)<@.XB^WTU#G,ZF MZ^GFHGM3V/UM,2.AK^I9N#Z[% UG&HLQ"AA7D> L+427,FBD[R,Z;4QK+W97 MVL;I(S\ A 911A=6YAIGMR^^F"Y9U,)0(44BB^DX>&Z)-1<*&.FT VC_X=!=HPJNH#5Q4/=QW!V_:%8199-, ZLT)IL<*9#V-*6-!*%SR(* M)5O;JOLIZ09.1VGZ@=?1(X3>!7C>G'R?+CDP;N'7D( M6CIPQ23"0@B1,XZ%/]8>^4#K=#\QX]XK#V>@&HB^"Q3=O.*\X.BB&^PD!16S M-!9L9A1L: HY@T@!F$K>%9>E],V#^D2 \-51"!Q?-]V6MW^%)8F J M) O"!0&JCBURQC"0BNRLR=H04\]09' 0O :[>!X(7LT5T@'([K&]0F2*3FI: M0@[U/BQGB(;^FJ,3T3 ;T;2^E#[PO!OL>GH@ !TI[ YNH1[= M=N5Z,*)5B? MP3.>24I&@(^R0-$^))5Y]+JUZ[0C:=VXY<-=' RAI)Z=K.MY+H$EQ3P#$U*I M&0D)O*[[-):2&7,EI]:VZTFBNG'=AT-<6\5T<"QNWHRNB>[ZPQ'GN41?9X2* MVCB12PC9TM9)41HFE9"Y=5GGP]1TX\8/B*TVJNC"@%UC8Z*8"9FG""@%@JJY M+[%837^4F%CPP<0!W:QN'/1GN3_?2]A=N%DG)]/+Y+MZGI-MQ7FJK+" 0J&D M4UO5\;0)"P17&_>JXG3QAI&A;>Y:/4A.-W[ZD.Y4&V5T88$>D5%$RQV/%+D: M3GO$< -1&0/T(;R@SERKQP8U'-:5[ZBGXL&R3YX%5XU4T06L/EZLO&%JV_TJ M*BM)/((V0W7TI'#@95*UP5]"'YG)O+6C= \98S=!;*/CNZ5'1XF[ P_[VH"" M+?U<>!FL8N"T8Q076 >.603+DS>($;UMWR[E)@WCW@T,A)6C!-V%<7F1\Z9K M:)A]#-/\=OXJ?)^2IS4I09K(E03O>9V[RC0)) =@F0( BSDIWKJ-[ .DC!OB M#P2<%F+O C^?;!^S76*9I6B/)G+2/ 2)&7N,# MLIO%)="A&"N+S^S1H66'%:P]1=6XP?U J&JLC"X =E=4$XXBF,(9&!2BMEKW MY!BBI$UBBK#29.N&=Z;'#?(' M"1PNX@NG\JNIADPSD2Y('7_&058P3/I ;N M-$6;RCB96S_J/D73N-G?SWU?=+Q:FL%LM&D''S>:^8;K:2('YP9;S4<@/,+HLPY%T-6,L4QNN=(4Q#D.@2L#&#PWN@05L767W.<8BG"YQI>:@SKQ MI42KG8"8F:(]Y&N 2AZD1-JQ.20K4_MS\3H%8]\'-$;"W=/Q8'%W<"EPGE9* M.W)]]F49YJLZ)9LV\,NSZS]Y03M]XH1BJ+R&+%2=CIM*;>BDH8XOY)*SR&/K MC+K=J>L$9 =@X(ZW/HA".H/:Z\4)Q203[7AR:!R8$A.H1)LO8CWN<] 14Y$N MMVXX>)>*<:$SE+X?@=4!PA\1/JOE>O*B%/(3*P-O-@,U_XHG$9>3Y"T:ZP(P MDRBHL3Q!<);V&0L,?6#>QYURGFB):]"AOUW!YN'5^X'-(?I<-!5N!];ET@23 MTXIOZ"X\>*M5,(["%CF8YW-)Q=@WW,T.IB,%W %$ M=FFPXPLO40<#D?DJ(8'@'>VDQ%G*Q0J94J\]CH;W;@[4_ %]CO910P?(NODZ M2$;YPW(CM+QY__F(R\U$\$G0@2FL&0NQSEZ+J7*5+22IF$J(W(36B22[4=:) MD6J#KP&4T1W$MA/F7YRNORV6TW]BGEB3$6M:#,9"W* E@2$FR#[4RE,TA(Q! MH76;HK$?Z :$U%'"[Q1*;U>KT\I)*384K: 8SNIM+CE] 15@]M+5GF%&MVY\ M_# U8[_�ZA X3>*7P^G*Y7ZS#/T_G72M>()DL9^E1L<2(>*OP,T74N6>?"HUIKXT;P^+]8-$KF!0#872C1<<^?I MNT,DX#Y!UKB)N(U1U5H-760)7&/JSID=Z91F(=12=U9J'K$$G[@E9ERL#15\ M4>W+>!\D9]SDV^&P=)38^[).-X[LS$..R5JPA3A0R3B()0;0P@K+1+:,M[ZX M?H"4<=,$AD;. >+N$377SVBM([4'J-G MW YQ0^/G4,$W ]$S))-: M\'+EJSRZPB7FPB#&3(=8R@*BB R*SW=#QET"QH%'&YW> M!5[<:ZB/+-I%VCTJ/.62 M//#9HZO^6&TMVHEN;,U_(N'3ZM_(WWZ-/W"VV,R+^$1?SD_QG)\B,+A0!T*2 M.U\S$(@?QSA$[U(PLHXKC3M!88?%QGG5' @;K87;09A\3_"'+#*O$X.$#NNH M-XK[HI4DGJ**LUG*T/KMH/.4G4.\C48"[@ BY_B^ZB'/C1,F*80L2RV%Y!;( M,0^0L_%6HE*JM'X*N$U#)\[H@3J]DQ=ZA("[N.0_Y^ WDM1];=C>_)%FI_7^ MIV86T?_RE_#'1.;$G7<2./>6HCHRQ3MJ% D=[3OBFE=EKFX#S7H10GBF[?5.8N M'>,FK@YNN(Z3>P?8N2V8.IF06V<-P=X(4!@5A#IE.WL;DI?"L.8U\K=I&#=' M=7@'ZF!Y=] ^YE(ZVU?B=XO5:A*+=QBL@BA5 96EAT@6$K113NJ@O&>M\P?O M(:.[*HLFX=N!8NX *5>U;5L>WL[):M%W)L%D=)*.TZB2I3T4(CC-ZQ *F:R( M7FO?NM?B0[1T5U9Q#&::"+P+%_JB$')Q#&QRGJKJCB*-/33O@=^#=7]O/BPG4Z/R6FKI+G7F)9+''[>U_" M'[AZ\P<=\Z2TZ3PLSS;RK#6Y]:IVL8D>+O=5="5RQBRD@J4.\8W0#0*ZJ^TX!B.'B[8#>W+1._>B%NYE6$W3Q OD3 E#:M2; MP4J:F# &BDP\"L9%$*U]LGL)Z:Z&XQB<'"_J#CRPVTR\GLY.UY@G(1HMA4O@ M4RUN$=J"=Q[K9*Z0.<9D7.LL^P=(V>W!COVDH#E$WAW YN\X_?J-Z'Y!9UKX MBN]/:UK?AW*GEFF[)XS,F2=D8"I+2H^3:Z6TO'8Q&H0ZD7*YLF Q$BUQ0.*"]5#J*.=WX>Z#U$XF[@^UDR M6X;4S[]0K>,P';3W6G2L*LCA>VH_6")'OE=1W$(PDG#ML@27>:XSW[T7WC.; M6N=L/T])I-2%L%XR) IB097ZH"E5@* *NBB$4J&U>_]3E$3NH>\G2B+WD7 ? MU6\W*[VTU9HGF<$Y2_3K5.MT= GG)3.1&7$3M#_V4LB]]+C4R61^PBU#U#< M4^=CHE B%$'^7PZ@E"[@D2E(1=3R']3&[U0G_B]2$KF73GS]F!#,BQQGT)N_2#7>"S#SK)F\ " M;8Q2DVZJAQ<]!.<3\(Q6Q)*5R:T]^I]X+,->^GYZ+,,^PN]S+(-SG@>6:8N1 M!&K?20H55*83/S+.>$3T<:?+H7^-L0Q[Z?/IL0S["+<#ZW+//9C.1GC%,F2, MK&:2(IWT7 **I+)*D?/646S?;>I"83N+M [7\<#GN$2+_62^.[PZ:'+99 MWF/K/N%/>1]X=G'Z7U&\E M\FIQ\GTQK]MV&UN08Q"1(4B3]';.B\AG6#F>$7?SCDZ M6NH=0.=:Q^3S )/\Q^(DXQ"DKW7 .9!?:3$P.LX]AFM_.7X7OTW687?2=2S($81,DIFK00%)QQ0?@WAH= M74Q6M[8TCQ(T[JUS>_BTDWX'4/J$:Y('YHN4S8M[+9T,NN2 E3J"VWN23R+# MK$5DVEFNW>W&D UB_?LH&?=FJ#UX&LB[ ]3<URSB87V3M/2PPK?(W;_[Z=WPTX/RUFL]\6R]_# M,D^0J>1B+)!YK(_"@6+.@A&,#%EEGY-- U0R[D-B)Y[S@8BX6R,VF'HZ0-_= M'%SKG.)19DC("[EX2-X=0PE166ZU1L]*\XD*AV5!#YA!.)S*;]NOH^1_,("^ MXW*ZJ)>MRW6C<^ZV@";"D$VWM=&F=;E.%S7@DY1@0I'D[*%I/S#H+A7CGG// M"J3C-- 7DK;SLUYOFC5]W"ZPV2>;'W[XODEI>/,'+M-T5<=LJ>"S(D^0"2MK M$_$"7@=-D81C6O'B4FS=7'E_*L?USY\=B<-IL(M$MP=XW R>O)]%Q:VM@[O! MUF$(*K,$KK:M\R:0B*-+F/%Y0/HPD>.VV.D HXWTUS-$SQV.VCAF4@R6@LC! M*TG!-"\& O<2++,939%%I=9CLY^F:MP&/1V \% -=1!-O,C_^W3;UFKU9?' M]=^&O1@V[_XGM>W&1K>?D$2[FJ[Q/+]Z*XI/F!9?YYM/V6Q-.BB40:?KA7., MH"(SX(P-($31)1%CBYL],X2>7E;(ME,S'H MO4^QQI1"D=:P4#C)7&V7:YAB"9UL[2$_$VOC]B/J/43?X^^; M'ZTF/#D1 PHP]>)/6>X@T D*-HL<@Q32Y-:3KW>C;-QF2=VX.X=IJE_\;0ZD M*Z:RK^_CEO:35<14KHT-8BF0"I/2LZ*U><[H;S_T#=:"J0/T':&G'L"WV3OU M"" 1?0E_U.%$57K$'GWC_M-@$F65HC;@L>9PN-J;N"0/EG:6\R*4PEO[T(?0 M.7*GI^=_!!A0C?M#U6^A.L>O-2O[RQ 1XGD*_Y?%KARS3(>!CP8T[410C&?P M/'*2>'#%N%1(SL-YL?N2.W(;J9%)@Z2@%'OI"^F>?!7MHI4A%NA&%M"S'2NJO=@2_M_%_G\>AP%30%4C\UB,,WL=MY\;&K$X=O:K=;>1HB M]\(8!DYD0R&"XQ"4"9!"$MQHB:)YN\MG*57\&,XV2CA?H\;N89YP,Z]I8APK M*69.@7LP=;9EJ3TD-5B&,3)N8RZMQ]4^1D\GR9#-<'+;&#;310?7*3>=R^BL M#C8J\)+7^6$<(0I)@8K1W@FG!&)K(.WOU0^?HST8<@Z7]L]:P?\JK+[]-EO\ MOAKD>+SZ]&I,O13PFH.MJ=R*O'CPM>6#T[;V(T&#S4M$ M'Z.G@=FIG_EQN?@Q)N=K>V14IO;I MIC]\=AF$$IPS:99VYX^3GMCZSKZ\_KA$='P^+1JKI EB7 M4GE7+SL_U2D;'PH)[,5JA>L7)XOE>OK/#6L7HT"1:<-Y%I P*3I'5 2?#'&8 MG.#<%:U$ZT?_?6D[#4GJ$08#PQH K6II)< 4E+RFQ+ M4+[Y](K#W^\'>Q?K#HX-U-6'Y3P?F9Q(=EM93DP*L6!$L#R:^A18())O T4$ M([(J@CI,L"TR7YHTE=R9NW**L/M'97*D=',IWG]$ON3PO,;B4GY/.)I\S1$Z. MLS*JM@+S'% P[E7F4;G6SR.[4S=N455W>!U(K5T">JFQP$>)$L.#19 M("9F6>NDTL,H[:TCRC-ALKD2.P7KBY06I^0!?0QGFRY_R>IHI'+ G5/5PCMB M27C@R:-.-KMD6Y? /4E4;PU/G@F"QZAF5)]O,SGO+C]O3K[/%F>(Y\4G[Z8A M3F=;[_EB6Z6T/+WQDXGP+(9B%: VB;98,N"5X>!*8L%9CM;L-KFP#3V]M3UI M"L6Q]-;/-= ] KZXX3I=+C?=*J]8S$X5-,5"B)E"/101?%89##=>L&)+,*WO MP/>AK[>.)<]D-1LIK,M;GE>+^49DM63OU>EJO3C!Y06#9Y/LHT&5)<$&:W6# M,;3;F <9M?*,B\32\$?WHR3VU@;DF2#93FU=7.7LGJ,R*;KV*)$*0K89ZAQF M""$@"&Q.W;B1S?/GJPVAM,/-Y(+VVY!PK)<*JP<$Z5621O(( M27$&*N;:B\J0)QW0F<"$47J FH$]J>RFL.!9\G);J:L+"WE1;?-E\2+]U^ET MB<0M;;3UV<=9F*_):Z[U&9M)XA//O;79(]11K:!DS6FRR*'HG%S"(%1I7?RU M.W5=9O0V0\H#)5*-E=;%O0^QDA#SJL[D_!QF^*$\S)PHIL029*VQ)N9@,\253<.!9-ZSR+/DR/IM!/$I%_5SR["[&B3$YA%S[36B5:_\! M8I5O^.5.^("!R=83,G>G;MQK\6<&XT!*ZS=^V;Z^/R#(1);=*0]2F]I\45KP MC".XR+F*FK'0?.KO_E2.:RN?.WYII:X^XI?K?L>]??:33-Z&^@RE-V]1.M,> MB_#11V%(1_*I(=2FN7<XCU69,+YP)9_6#PF=[Z[J%NW+R=9\;H0$KK(%:N;-7_K]>>/\)LNQ%) M8M-$J*\_>#'/-[]Q[3>WK>3O/L^GV6G=NF_^2-_"_"M^HAWTIA0D)0AGO&*R M^LRJCM:(H7K/$H16,CG'T(36PS&?E\-Q3?=@,7K',/G9-]$D:H'2DYT@O=C: M 4Z07I@%:[TUWDA?L+5CHKB\+@=+'VS4]SNH\1>.H&??O\^VX@RS"Y$^79>%LN3K3(O MA!J+3FAM'0-=2*BV%'+XR/]S6GME+>?"-I_RN1MIXV9M#H;$(133P8W6VSE] M%FV@.J>& H%)<;;XJ#/(Q!"4EP6<= 9D,-ZB958,D*5^@X21&TP.H>8[*;^' MR[P+R-1Z]R_AC^UTHXGF+!9>!&A>7+6R'**P$83U,2GTWL;0/I'\.@DCYSX^ M"V0.EWD'D+GL^7+Q_#[/E]<+;\E>7YEH.I%CC,F!4+'FRG$+OJ0(-5DY!YLH M@FI^+;0K<>-.=1SNB7H0Y72 NO,RC4TQ;IZN3TEA;[>%/OGEZ?K]8OV_<&.# M)SDI8PP%--R&ZB=Z0'+5WW$OO,I.M#[U=:1OYE7H8:-QQ\@?04Q?XV\0G MMZ*22Y$5%:7@)0(O6(>D>0:U,@,*DA4W&3FFUMEBCU,T[MS006/(1FKH%U3K M5V&Y/*-MN1V:3DXDN9$J@:AOH"H9#B%Y1ZZ'SD:7)+,7:R0]%ZS>/IV@:-QH8 M$&--E=&)*3OB<@^CMSD["*60QX'90F39@[?"43_AR\)@>3D#F[[G4>-/ M/R)H^'%Z#RSUO,.#GG54WCW.HHS6(D4(7-0!9;(D"$A@=L)XP5,LF%M;AB$G M"5U^]I=-7Q^NB[*.U5(%5X>:.E<;2!7 K$S1DCOG6E^WW:2@YPE >VC^[@#0 M@\7IYC]"1$5.J$H)/"!)Q.8F:Z5A+D*--M,\86O#:6G Q("??D/;@3I?^M,0UZ-#?KF#S\.K]P.80 M?2Z:"K<#ZW)I@LDWQ04R@9G0C@(W="JXQ!M6[1<^"TC^%] MEP/U^O2LCGV$W&FH_AI7:3G=U#XNRLO3%8EJ==#@WOL_J$68O0.)C8+H#\NO M87X^;^HJIJ]PG>>/U\B_+*X*LZMP_S+F"M(:42T0%EF;O->&=(G^:K,5PLCL M6?M!.RT(/SJG(=27R@_EO"<:D3'!H&52FM&.D+6&-D\684[&Q M*.Y2,:X5>GY,W4EG.$XO#9]=VIJNEV$U72W*=2&&>?Y\>G(2EF>+\GGZ=3XM MTU0;_6P[04_G7S^2^%.M9SK PAVU7@M#V([A1O;R[C)7%T]&:QGH:+7%$,*X M%A#K6!?!4DXQ>%TW^)S>Z[BH%3J@( MZ,FOX"J';)H/;-^)LI&'HK9!R1VWO;U2NC5UG_ 'SD_K*)D%,;TI&C[ @-WS M*2W,TE/$-3(VY\O4U@GW-02^2KQ"3N!1"5*H*052:XA""E#>)\M3%#RV[GNV M(VG'WS,^NLP5YH6W3FH30=3B#A44Q24U32@+Z1E3RI?2.OC;E;:Q+Y?:8^CN MA>0 6NHT>GR/ZSKFC1S+3=7^(4;I]D>TL$B/DM7('+T)RSD=.+7<=;/(M=[G M0I7$!:2(')3@!1R+ 9RS&)$%+$XUWGP/T7*LP;G]N5?8=3(FRSQ"$=: RG2J MQDVW:QFU-]G)C*V-[(/$C&M2FN#@M@UI(_A.C<:U#IC3^?O%_*]A^0]5*;^::,AMO?^#VIA;'<@L9%UO5SI M]7259HNZV+5\T%),C,F 48&1BGWM!DG*+CEYH7PH#%L/!WJ,GF,MZ'U2?3O_ M?DK;\G*Q*Z079:64F<(AJ_D&WW5L;8%0?*PS'&U2KWK=AP M2NKVHNMEF-6>F)^_(=838AVFLP/OZN_YG#9W\$\1>*0UV@P1O&^5JS%&V@O4 MH4 2=;B6HJ]B#A&\$AEE])ZA?TH^3ZYRU.S*^S[X"J@Y,(7"$<&&CG."9H00 MHH*4368B>^+!'$S_R#:AK?9N#)9L)]1N=_^F!6Z\TQ_S@/W_P">UL "[$-G( M([DR\YLFP9>+G>?(;1J[;NX'-N1SS/B\[9O])RJ[C1X.^\2L.VB?H"-O/'OF]1#/4A0JSOW30A_B1_A M(]M+Z!L4')_:2Y*JG8\))]M/?K]8XWW. MO9)26QT=T#DN0?&8(#CZ:X@6.9WV0O#6CPH[$S?R_?OAF+B;"#R$.GJU'HN3 MD^GVBBS,:P5C39_ ^:')48]]7)M:RQW);61JKJWWXM9Z5X"XNJO417JG!.1" M6%,Y(L3@(RA=HC+9EU*:=R[9A\"C"]-W6>QJ>\A@DG3U8)?TAPI6U/3"1+N% M%^&%M4*VOBS;C\*1NVX,AJT[E>C#Z:U3L_90U=EA^5(/?%:;K*E="&V6.W7_ M8E>/U5ZART& KSZQXJI -"*2=VR\D*9(FUN'BD_1-%0!\'W UX)E'B0#)B/M ML>@D>0VZ0-#6AQA+-*EU@?P>Y(V=,]40.[L6!1^KI$ZMTV?\6HWQ7W#Q=1F^ M?ZO=(,B;V506G:>-7>N3>="]UUX+-+D..YRE5JTOMA1\PN^+Y:8GWV71A,,@ MDJU/($BQ@!4!',L,O/0I,L4PI^:-(1Z@Y>A(\=;GWK<_K#UV=@5$'Z0PJL"XJ4*7V,A!%0E%1)11. M^=@^X_H.&4>'>9>BNZQ%N\J7N89MBR@QYLTC-AWXB8.WZ('+%"R/(;CFL_UV MHVQL1^DX7-P)WMIKHU.W:-,,[32M3Y=U7.&WL/QZF(VY]W/:!&M/$=C,MEQ; M:). MO&/[QMPYKB+6!*%Z2[7P@0%SKE(1UF6Y)%S%YK/8]F9N"9--A];Z-X3 M-]H2G=)@N&5TXB+M@TA1B42OA68EV-3Z-> 0.L>V44/@Z]Z^G$/JKU,[=DR! M[EB5R=U4*(]5J9Q+CJ'6PAON!2B=#7BMM^ +RF+1S;N.#U>IO%' AW)K@;/M MGU=[C86@I4X6F*E[S83Z^AT#<"]=R!&=;#[49C?*NJU4W@52,63"6T^7OTG!N!VI M!@+/$4+NH#/5>_S]FER6BSE]F;8Y_/=O@IH$Z46)X"@X(B^ MH-'BI^(99E+ M8,L(,L(>060*I)6U#EQ"!)9HWQDD MQ[=]J^1="!MWTO! H&NODDX#@[LM,C9M"P^\Y'C@LX;IY7$?H<_MP [7W8C\VN1,?=< M,CKNZU:K6TR EUR!E")EIE-AMG47M9T(&_LJHSUZ[LDR;JR?#GRR>Z6U6F$M MDGTW#7$ZFZ[/;K'(C6 Y" <18RTO(7$2BV22?5&1IVQ]:'[EOS^9XP8 SP'( MH777 3POCZ#:^[DZ!;C4*25I[/3]?3'M8XR;_Y(LU,2Y78CGGP_O>@;^W"S(,\4#Q@M%.[J M]!=7,_.8!.64I?]''W/SC*#F7'3:WFD?Y-V)>\=5=:<6;Y>V2H>;P3T^_;EZ M1 UH,/?HLV/112=\!)L$N8U;5=FHS[^V.=+B1?.SC!FOF-* 9?+0U3RQ!*2$DF%0\!0E1 M482L$VB;(@H71+ _94NGS7W ZES"^+:T.;C MP8(K3D'6OB3#A<7<^DYG7QH[;NRT#WH>;.PTA*JZS2:_MX'-P:;JD4\;JL_3 M (;JZ7Y!'$4I/#LHHIB:06S!9T-GEHA:B<*9OSU/_!F[/=T-:.YOJGCKX)61 M.6Y2AE D\<08'?O<<>"9!ZT+L<9;^U3[4=AK\ZA]P/!PT-E<1QW<&E]Q5]W/ M.?WRV2LRI7@^(.Y:EI5R'H4)8'2L\R!$@9"R%-E;9SGB^=" M74.]=)%/\G&Y^([+]=G'64UGW08YWV^69F"R)2GTM6=M;=9=:#_8BI>4I7K[N7=P;77%FLD7IBP0F51V Z)N&#LCL-BSWLEO<)ZL;)6WHNF]94-YU>,=S?[_!PQ_W1SQNN0>. MMPQ'ML$STB<19 0TS!(4BR!/BR))EK0R*(MQNK4W/&Z;QJO]\X8 LSA#_(S+ M'].Z52\:]ETGJA;WILL$G$UBVC^)*%Q.%UM*K_7E$1Q<^YI4HKF1]4QLD[VE-BM@8O4VI MW8WO_&T^):ULZ^YNYP4A=RSQ:"%))!V))" (JZ P3!3J:2YYZ\*G(?D9-_FK MB_TR,D@Z=6 >:1UXN!?S](<.W/5P0']FO_YT,25O#PM:UA,_:^_ =TH:J^_?V!9G(D@4Z/;2SHG9XT1!L<+2#R0.>X1_)Q '%:#??B>I]^_S\ZNA'J+GXS: MHA;$3Y25'_*JO8\!HM)H16$*0_-0ZU&*QLV2?C[P-=1+IP[;7BT%C[B(.F"9 M9^^8.*";]V!OO!R83#6)OW"70"F6H/9.!UVLB2B8B:%Y8#A4W\2KV.C6"M=D M_/+L_(?7K36%7*D&.R@R*.027*2_&HR"(K3 @VSMU!Y(:J?]%??!T",![6!* MZ\ /O&!S56\,Y@EK;707.?:RVT!E=, M :XS"U%'H]J?NON3.:X?."@FAU)6!WBLEZ?DL,RF-XM=:Q'"N4A77Q;$_&HQ MF^9ZJ76M C9G6=NI0AU]2CM/"G"L, A1!L\#"RZU#D\.IW9<1W$0=#Z3ZOJ( M2ZZ>!\C)7I_]?9JO)6A^F%_Y52^6%)B]6U" -OV!>9MK^7;^=IZG/Z;Y-,Q^ M6RQQ^G7^JK:V6)*C_O)L^^6UWA,Q&6^UIB/%6W+4F:RULZE H>^'F%7BJG67 MQ>?D;]RN(@,[#YW!H[/-\Y84/?\ZI>ABRSE%K7]9+/+OT]GL5D3I#"M,F-N1S)W@K+^2:$\C+(Z#?\?:N9]>*3_Q"<.V8%\ MT/8Y]_2;M@(=,PZBT[$65$5PW&L@613!>(G!M&^5T[P/^:4P?[LIS _S\T[8 M\Z_75KV=24+J@X;]W!ZQAZQVZB;5'\HER,6/M-W\&9RCN9B:<8_0Y\?8G=ZM;?34J96[VY+R9E>^Q<5MUQ&6;^\UANFUN0]C MS]R#LUY9&U-'[K&RJ4!6$%EBM9K!*)YRD:']=(W1>W!.,CD;J=2V><7FVCN/ M]@\+FOS2E!*%VM@^R^$Q>L8.%MIC99^.FWMIHX, X=+,7[@Z%V;Y!=F!BMO480:/7&S32^YVA[JV4T .BMK2_7M0^ MB1,N4Z;XN("VFL12' >O45/<1'N,'(:,J75YZ0T"1DX]:*?8^]N2'R#E$2&R M*7F\UC?SS?R?9R>X^BM6WW#"0RP!L0!FAN1><@%!N03)8T83:J&_?,I)>G2% M+M)0#M'8HK7XQL; ^\4/G+V<+FH^6?B.I^MINF C(1W-C&U*#Z?IO6'Y7GYW,8N6I%"]K57 MN>"J#M$N0 $F0@E<9U6RD':GNPQ:X-IY07^[.BL>6GOT JVV#D83$? M>,[!ZGSO1$R.B$U S&\RE!UXHQ-P%[TVB?F<=[K@V0TG=PD8YSQIH].[ #E2 MP&,?*>=>S1U?] ML=I:M!/=V)K_1,*GU;^%>7Y-!G.V^+Y-<]C8SG-^0K+*(K&2-8MT)-H /LI- M575P5H2<;W>9?@ *.RPVSADR$#9:"W?4#*,JH\N0['IMP\9^BGKQP^ML0YO) M@8XQ@PN:TRFK62HO#C!)5%^%8@9Z6Q] M(:L[1JE@(11D0(Y8J,F7 ?U.UZ=/X./FJB."HHT*%TWDV<%-Z)N_OGEQ3GET M1B.7&;30INX*#S%9 \QA-)IEB;=O-8[OT'ZY^G@.25M$'"G7L?W4%Q]?O#HG MVZI2[V(X."Z)^UQ;_J'CD"A6X\9PPQS?R1V]^LQQO(?V2CY&5!WL^0?/,9-G'EJG?CY%T[@5%H.]JC5510?0 M>N)I>SN0I^;UUV36%>8OX8^)20J1D0^6,OVAA$E '$O0S&!122##UL]O!Y#9 MY;/N@3BY?VK<8$K[:1*B+KA?_7Z-_:;I4(^N,$PRU.Y,/7,JE'56B$"N<=*& M_");H[!$05F=>ZA\1&-EZ[DASY0*]>!TT;\L%ZO5>=_NB42IDN44A=96BLHP MXM^(##DFGI'1!HNM^Y7N1-C/D1RU#WIVGOYZL'XZ.'K_-H_3V0SSM53]"TXP M8[*9<;!&!Y*5IIB4.4TA:G0L1F4]:]V%XV%JQBZ4&!Y>C331 :9>A>_3=9C5 M1K 7TJI]X][C^H(ADE/*G)Q?\CAJD8F2X)Q(D&+DS,;D(F_>M? IHGZ..;]' M&;"F>ND!:/=(ZK(3W*26K GC,YB:A:)XC.!UL<#I!S:1WRMSZVK,1PD:-Q@= MZX0\3!_=CM&ZZRF_#\O:C.9'VPJ(.Y\ZC)O_./'/[-JCU]EJIP!+JE4X"L$G MU!"R<C?U,+MM-(P5F]_ M)I_9$J92F+%1 $LU?S[0>>E54:!4E*(DGYEJWTCB>2SAMS#_BF_G#^ZS%_/+ M@3YG5PWZ MXXH[QF/""C>J'C5&)5TK[DB>W'-()G&4VG)Z>S37CY*JS3M[]]?Y'_-_W.IF_PXEST%])YLUI/3\(:/Y0ORS!? MT4<2!#XNIPDG3 :KC0M@12:1YX 0C?2U)4W@#H7BO'4'D&=@JU^C?"0H]S'& M(R!D[&2I"WG\?I\\WN/OYZ.@IKBZ5A#Y(11G7QY!D4+ *28AAVB"-Y'V_?,>#$O$)K>Q#VZPC W<+LS]UUP + M3OVDG98NE5 3F+>WG7=54.^VZV1*VH+T*Q_*=K-M7:UMWFKBBDMF!/E6]7T0 M0P*G$T)PVO 0=4BF=4^F-I3_''=S^^#O@8S,Y]1P'Q7T-ZO%1<(RETYW:,>PCX+'C]WMZ"B#FC"X(<,A$ M[9E,\9AC&M 5Q8-4FJ2S4]S]<[1CV$M;3[1CV$=T8VM^EXX!+#FO=:WH,9&# MXH9#-$K4!PR!J"1MF[P3%'[2=@P'8Z.U<+L8^'+TB?QY'9;KUV&]-;Q.6>5S MSB 5.E"Y=FFO!1W/_[K)R M+=6YXIQ;BH[JH%U'1H'$'P"++BH*;7P8*$.F ?5=W//]U-O@,"#\+%M@$DI* M)60'+%M6VT%(B(DI8J]D@0&M#JT?[7/;P]$S2'@W4N%/PLN'Y/M-GF2 M3S+QY;++($+RY #R !%K#W+N<_'<V/SQ^K]8OUV7GL&8)[. M7RU.OI^NSP=QO)[.3@ELY__JX_F_.N()K.GZ+?0QG$ :/9^]"UH@7G[AG.IC@_E-D%;_]CY(+W/":*IC2FE08A6,N#)*NY1B)Q;M\-IR\&X MSEX3Q#T\T_795=R!CWZ)H)Y#I=O>\#R=XT1,N"H^6,P@U]5398,C_SA*X5$&P M&&W UK>S3]$T+HZ[ <].H#Y0DQT@\_-ZD?Y118GSU4:6'V=A?M%&TNKH)!9@ M15$H*'6=!J8=R"2#EC(4Q]K/N7J0G![Q>*C>[TRZ:J.$#O!TY+Z]NH=PK$YN M\ )"J%UMM?7@T2DH.;" S.C@FP\#;T3[R)-T_F4\@,/ \/-O@AP=FZUH3XOE<0@!I/!:^]"'8SGFW>(V)VZ8VWO?0K8GF0Z"H>. M2:AN/BCF+7$L#(B<0LE2&V5:7S<^2,RX-G(@K-RV@FU4,?:0]S@5 M(PY=>384+ 91R=CIRG^ESTJGL[!ILG(29[0MW\[3^96$5DS:&!$RLUA[G@1P M=9*J2ME$DS4S.^8I/[;*>-AIJ<;%$#+M(,*]G'3U:A96JP]E/D+.R+UYCM3T;6O3 M2.QC^S-;/EY0I'L_+]Z5E*VQD&N$JVPH$&OIM.+125U,3'8WE^:)A49N8=,& M',TEVHU]>74_T(-/QM=A:XI" 94WOIDQ@$[+XNH@-MUZ;,HCY(Q; #*(?3E> M['W8EY?B7D9"#$&%J$'[FL3O!=E(3I&E<^)> MYKZUQS4<[6_ZCI;OR/CXA-]/:]'R"E]\7>+6Z;_%TD5N"5=)0;CI#W?ENS%IH M3 PAYIIKXTP"%P+2OA%":R%EP-;-..]2,7:!\C#Z?@16!PA_],,MK.B37BUF M](/%\()>G:'"75N-5X M2(YGIV74SL?&!FDGPG9"F/ZY3KKV&OD98';-%]7H9-U#0'YGI%V:?+W3"%"X M3YGG@CJTKG_;@[R1W\/:@V-?^!VHJ;&/RL_X7W_'V>SB,E7J:+CB0#%)[;NH M _' !$C%I69%!R6>3+*]^[&=8^-0S2V:B'%L +Q8_A-S."><*V&%+ID\@5I& MY/S&$Y @2&;%(+F,MT>_/Z#_ZY\Z6+]%QX"C%"4*!J H"WU@"77CB7LR$N&\/H7D(Z2=LY7M&+UE+O #I$_DGM M/WGUCB>2DUH'\M@PLIICZR PR2&5$I75EC'>NK;X#A$C-RDY7K%W!J0<(^41 M89)Q.GF'7\/LS7P]/;_D,JA92$:#X1&)=&8A1N<@2:=8=,PI^5@$OL+TYZ^+ M'[_21V^Q05]<0>*>!7<"@_TYCI]CY3DR%+947S2%=JH4;CE@CF0Q4Y(0O,3: MF^+@^FKC6(2CU;5H(+NQHY5;<99E6!0WQ'[UUW769+BR@.QX M+"GE*/5N7?$["%>/4\LCL>@>,NIC/,;-41!!<2<4)ZH3JQW92R#Z*41C!LDA M*I[9W=+JAIJUXGX.8]]$OGW@XYZ9 .0**5F*@\QJM8W(#EST KBR%' +DDAN M44'YLXQ/V4NG.XU/V4? 8Y\1N\QYB.@R4W62*\=,_ @/SBL/.2&SOFXNM]O) MT6J(QC,/6-E+G_L.T=A'N!V$G?<9VG>7#3[09Y6R]:!-K(-9;QMN#LA3TP[;@KD["G4 M-EZ"(XX 51:1=DU)HG7MVF/T]%?6?Z#:%P/IH ,\?0QGFQX<7Q8OTG^=3I?X M8?T-E]>:)ZJ^HM@VRVFJC M WB]7\Q36'W[L*P90>=_V;"VVG1M/__.;],Y[:!IF'U8;F\DW\Y7Z^7I-G5V MOIJ2.K>CDS=;[.UJ=8J93V1M_5:'!W%NZ$Q(KEY8&G)+"T>6'2I?6JXW :/0VML;,?Q1D/7VBISO[-@/C\-L_,30=81 T(7.@("B3DS M UY)!E))YTKB=&#LEH#;CJ;^7L$:N)8CJ>PG[K_\*BR79[1)-P)8%/JMD\O? MNNT!#=RB^1!2GJN+\]%B>OY&SR(J'D/64 AOH"17X.MHQY(U6HJ7@L'A[J3' M:_3,6 B.>0,HZGP7C *"X@ELD"X+B\Z$UM6D/W^CYWVPLGNCYWU4T8$'NENU M41).:C(/^UB@/W L<1Q8'[:&KLP.;1 M+B;29YL5Q64B,8K0E,@095&5):F$U9HEMU.HTE^3F,'UNG.KF'V$/#9:;N:= MNNAC,$E!R(7VDV6N3B1#^LIPYQ&5L[N]B>R?F]M%+>'!>#AU=2CK8$^RSJ/]@(7;@L6QR(5Y\_;K$ MK[7'R+6XXIR?E$W@AH L@N35G%GPH7# (G34"HW,K9/IGJ)IW)?3H2$UB&8Z M0-KCUX)21.&"C8"^=A6FHQ*B9ZDV%?7)I!"*:SU=X/B21*A#G?.A0#O&5!92"_%S/<"/E.VY%V":/<#OH[U.[^XO M6?HKAM7I$L^O\0Z^@'_T\UK''NVF(T]EF7YP+/'^8?ZI[ MI68&T"^\7\R7%W]]&5;3\[-!L>3)P51@66W,'8H ;WP"Z9UD%DU)JO6L^6;$ MCVOHFN'MMIT;1[D=',^7C+\\N_SR_Y[BLA8BG;VK94B;*SSNLC)('G'BJO8Q MM,15<.3-ABB-BE)+UOHLWHVR3O#XO+!Y"+SM=-@3,J\?9G?YNQAVP&1@AGN* MY"/]8>N< VT+^&BRMZ@"SZWSX?L/AV_OUTO=I(C)^' M]Q93*BKF6H-)0HOD[7JE"EA$.I"P%+];@?0AR+M+3BX MZ!]DC'$U=S198\BGR1&<=05$,12UZ9BX:-T&]Q%R_O_VWJRYS1Q)%[[__DN> MP;[;Y?H_-5#T/5S<=-PS2-8LN6/@"B<#(ED. M(0D)UK+HT>IZ##?&UFYJ.CFW1G42&NFJ ]1]0'+XI^D2\\,\/?S;]0[+F16' MD0YM5QMH%*' :6D!92DJ9!V<:=WV\!1Z1YYEV@@S]XH6SJ3 #L#ZUWR&ZS?' MWZ]F^>9-,&26F:U36Z^[3-:6'D5")/\K"L%X+LV?T1ZD9.R)&>="PO83V^EJ MZ0!<^Z7?%<]=$5Y#2:9F.@0#GA<+4F@K,Q-*-)_MTRY;=GB#;]1;N;T&GP,L M[V1>($]2&^_K@!Q;IQ2'FAN:@9N:S:@\!Q0G;M(9KJ (2O MYK/ON+B\4<5X@0&T-W3 .T%[51H!F PY5P6#\*T+IQ\DI'-@':OV M>_VP3]5!!T!J<5'<)F,(LINYJ)TSM"Z@H@\0! HP=(F88C/7N;5?W)2!<7/Z M^KBTQT-$#]MATZSHMDG1\N9WUP*YZ0F'>/G'8G[UC9B^?:9'EW,)S .7]4#A M7H"3*8(M*3&7>9'[S5(^9 ><2',GCRKGA]LV\,^I^Z.Q3E=.G \:X7P@#67" M5!"F/C6QP&S-)R>O$1U=EM$6RS&YI%J_U.Q-W,CX/2MJ]@I[GJK +K#YZ,0D&$M7 M'WD-OE8;TQ?-HW!>ZF1:G\*GT/O\(_AM3N"SZ;P#2V.;NY]YIV-BN?P'"3E< M3/]%M-%/$ZUY33368'6=MDN.!CB3%4E6>ZZ=8TJUCG0=3.3SCWJU0?*PVNTT MH_SN/;=)S*Y74[AW0YV09G[X(BURST]D[<2$]%5]WT,DW!@1QHC D2YUEKBN MPUH,.!_)B+""*\V]9'J_HLG'5CDYGIK%6M'R9/S-L8+DK:7O7[YV0/RWABDTMNY?8D#E.N2I M%H$K[[U,/,VC/D'2R(U?1KIEC]-(MP![\Q)J$U::W-^;7.H^<,) M(N.%+@16O)(Z*]WZ3MV+L!XOSR.AL)\Q=X)>N@7;0^%SF6UACCM@7-C:9:"F MQ-<>EL%93GRYR%H7X+5]_QCLA#L_Z$[53P? VS8&[NTCVBX*D<0.[0X*LI2XZ@%:5T01Y3%[6+DPJU=!UB!"X8%!X MYLDKKI,?HCYEW/29H4^B@Z3ZC$+TM:?7C$!U6O_U/3]YJ&#\4TP,'H'7SI"I MXPSP4$M&G.-T QD+)@0E,01RYL:/P&^D].,M7MY0;J/6BJB$C)5R27Z(E^35 M!F5\[2["L/DHJ(?HZ#6^?HAB'QHG>I*\NTC%N.'B0_C[KT 'U#1<+"P.C) ;)OYKOOCO M/V?O%_.$R^4D1H>B2(1 _TON(5V^/CD/)CFG#7P]3,J[+-!QFCA=W M3Z#Y?3J;+K]@_F,^S\N)U&1M"97 97+H%"9+5E=@9,7QZ"Q*K7GK-[N'*1G7 M!1H.-,>+NR?0D%@F#&.)HN9.IE)=-33@@P]DJ@M)4O*%-Y_,9/62 M<2#_-AE=,S MWBI#Z\+J0$0;G>HT4R=!U;AE[ M+!!]PGQ1_\&/&T[665-%DYLJ;0 I2IUNE3V9IU$!BNB-%2YR6?8R W8NT2E2 MCM7DO+E8.SB'WF!8XI?Y1?[SZ[?%_#O>'4M#^P29,@E$Y4)Y279"+@C)VZ)] MP>";/VH\0LZX\<:AT-1:#QU ZM7\Z[_)#,@MFZLMX.4<:.00T.IA?S'OK;>E3)->,,!2>GWJ\5L>GFUP$TC5,F% ME*E 4JOR0H5TW6L-F%4=ER6#M&:OZ^O)I<8-20YZC;45TM^KZV\D( 8XA11A%$:'\ [:9G+USIYX:KYIKH %4[ M9?7F)C$JT@'*:*] 2G4V.\L,'/),[JTUC!E6E&H=AGJ:JE[R]L<(#1RGFI[! MMJIXGQ34=>/5]R.AZ8NML]H\ C++F;;,J>9MLQ^GJ%,O[TC][PNOPY71 ;1> MI'3U]>JB#B']#8F(-%WIB;Z_P)7"9OG%U_GB]W,C^)62M6C('B#'DD MAF5PT7,R)94N4F221NO:D5:T=^I&MH'K* H^'-C^&MBSZWFXGX8_.NOK>\8@ M8A8(,2'69M""6 H%>$I6IZ)YC*US[1ZCIU,?=.!C\U!%=) &<7W?]3EW1-J Y6M#/*,NAYH?]/;VX:)S6L/VQ M0^4Q/$I^Z\2%>_DTF)QF.H#)GM76^[6-=980.,^\,,7$]D2$/?(6&J4WQ/@=&)LNX +3L.]@#B!O'&=\6'P-I9T.@+>3JTD*40:C#6 U M#97V":)V%G@0245"B-*M8;:3F'&<];/+C]^(7BO*'T??JRRH&Z RQ37.: &+1,!-Z"!8),"RS4!EPXMA:W? M6$^CN%T1Q&J-E]OZ>[%8A-GGZURQES]N_\V:CA=_AT6^?F+EI@0E0@!=RYZO M6^35TB1I68C&1]:^V5RFO."L$MEV58_71$98VP^J"8NA%!ED" MB4&8"(&Y"$9H9:W/A:76!N+/%(R<+G&T)G= X@BQCIU;^J)JZ,]9ODJK?5,Y M6:>E:6$Q6NZ!IQI=KJT772H&4O!")9XS;K>,VQ$O#YW MW9YO;M^VI=ZVNY8NKRR_S11VO-(E&H3 Z@,7ZD,%L;8*"$IRAC5Z<"RJU;M[;G(F1 M3?DSH[#5)F@"B5]H3]R92O8'_;>7DQ3I &)<@."N]DVVM:]U1.S/ MY?*J/C-,HK?:1B,@9ZE V9(A"*ZJ94D6(L\,5?-1 H<2.6Z^[S34(=K:!#CP=)P-4R@I/!@;;D; M0]3?@>%P3?FF"T_ @+'V0$G!D\=NI0!?#/&B..=%\&";SR#]B8!?Y>'F(!!L MIVL*@I=0DU_JV HE0@8?.(*.H4AG9 \]=D;\Y_(-XQYS:O*8;,?%D\>#8X3N9#*&W4T12K9YV;Y*^[SL2F2P?/6DE6L]6= )69 ^]J MO,]'5Y ARWLVBGUDD7%AU4B+\P$$.O;KZ-OJ7X;+J]KC[B%6DI/"*3KT"[?U M^<] 1!9!QLP4'?@Y:[87-AY?9]R Y #P:"C6#JZN_\3EY73V>64&<)VONN'>6_U7>.4^Q]H_51C] VO2=TY8*V@U(-U?;0:'X;#$3+M ! []M%JH]!>HOWV;K;I M46=R%9)$0)GK@ Y!K%D9:XZM-C:+%-*9$C,>(J\+,!T#@OUBC56"UE=>-*5S]$@5R#$8G$\X/MAORQKT&SPFVXS32+]@.>0K,UAJ? M(@/N!4E6>:3MQ0P8KWR@K95+\\;P9\I$&^X!M@L+[ ME$>_7TS3]1O.Y@7[/2ZJBSVQD0?G'8+VY$@K&S+$F M88;/E,10;6E>F#\=- MY^&UQKA\:%N,#Y*Q0RYKFN?E/^?U&OUS1I]+-^KR$Z%W67O#7\XO%]//GW'Q M9?KY"_WMG_0?3)?XK7)?"W"U3D$"\IH?DK,B3JT'$@ WSOMD^7X1F9/(>/89 M9,?@^,S:&QNG1TMY]W9]$>??\:_I;/KUZNN-P#9[.'FF>5$*?*PS6+5%<*MG M>SHO= S0IZS4?3ZG]^FB^O6K;B8SO,$N MU]124WMI:NW!R43*0^O1M'XA;$;\N,TLGZO)L'^,7)??5E'&*Y9YQ/- MK1?9.V D?>(]5;9C@,R2#%+SK+%U\[.6](\[ :*''3 &$'K9!,?L_KN\?R S M\G*YO@+#9YS$@L@U78".IU6'344G@;50F,V!R>RM'R0TV9J1O;:%^96WQ:C0 M>+;NQ?;5^(]O\]DG7'R=SE:_?%<^XN)[=;:"1Z:#BF"C(B.1:0DA8:[S1Z)5 MO#CD0A11S+5$QW#L@1OFH>H?Y72E\R*9[4OC366 M;BS/ WBC&8C@K'X^(EZ$V M?#1TI=#--(!G 9)=^=DA@E']@XO,9&] M4T>J"++,?#3,F5AMGM;M,W_UTI>#8'6.TI=#=-P!SA\RYSY\_,1^KC7Z M-Y?)(#$':==D%BJ_1 E M!.EK/0XK7E3J=5!VP EN3J++46K MX[]?XAN#X-&7^$,TT@&JO M_A)_$*S.\1)_B(X[P#F9W&6^^'H]-9A8O6E(1C:_0*MK.5$"%59U1B&")M,[ M\^0CRN;S\AXFI?.8P^ 8V1[ UT!A8V?ZW^%A);9U+[SJ2JRY"4&@2TE T/75 M4' .T0H)&!1*481+N'=1^^-+C3R9KX4VYX.)MB.@K,2SRC6ICN8" Y@,0&0+#I\U\P(*H,&&OY M>G18#RHB/:"*.4=,;+_XP\^?._(!?[J6'M+[$2+K0]LW(A JJURB)\NV5L,( M339N_<*MC)E;RZ+;+XSPHH/M/:BVCQ)9!V[=W8J$$&/RQ1=PZ&KMD[3@K-1D MF"1K$N>V-,_!.[3,YQDDD9X2(#A6&_T :7-G"A9KKW$HQ19051PN6PY81#;> MQ3K;9Q@H]1 =.%J-CY;Y'"+3#@!Q2%&)1&T<(Q,+T^K=1]0TNQ A&1F=RVBS M.-/[;^]E/@>!X(0RGT,T\BS =EM4DHF'9!P'VH'D< =+FQ&U AUUX#%KH_B9 M)E[V7N8S+-B.T\B(8%LN+B=U5MG*"OB8D:(4[<**?;J&T<_&1N\:.:C>UT_5;,&BC2]D[KIK :AXY)HA>UF'#=#S'Q!&$B-XX+]#DO9YU]\3(SZN/") V*GT )"?( MMU]#Z)":%RWHTG3(^:A+(N9,QVY2@#M&R3X+ -$+D@0UN>D MDO/*;24T/-8"MQ59G>=X-@;4O7:WHVBWEU.\>>F@0#*3/%E..1=91X$8NLJ" M!FLQ<,V3]&60_A;_KBIML"GZ@487Y_X]Z=Y)W?QC'BZ6+TB-^!WSS6B<-_33 MQ76:Z.N+Z>?UU=7$Z_74QK?F+F/F"2+/C/'P?I06X5*3@=3'Z^^U19"BWT$Q7A0H:"!I'@U=VTA M=Y )T)9Q:VVTF@\]0/-T+I[]5*A^MMA0V.EBDQT31+DCJ-7/RY^O^4V,95UU M=RL477'SZ$F;KVN,_Z",NEW]NYI86(W4(7 !YF^2$ M:G0D(66 E^0Q"H_6=C.[\T#>]MI=[A?;75T#Z-G>3*^7E].OM5G4UEV^OLKK MO_M ?YXP)9+GUD'TT=1)) H\UB;".6V9!ZYMH3TKWVAO^%]L;_6'@ M6?5*?/BWK_]9O\7FW1/W6FVX?HJ',]M'AT7T$4V6 HJJW:2#R.",I&W"B^7: M.Q_5KSKK\#6!;?X#<3U9=,@N7=G1?'@D4'7L2?,SKE M\":M\NA:;:HE$("4039;=9D\"99" &C5I)EGEJ/5WJ$G%XZ-(X&EODP MFNL7A)ML_Y YX21!R$&#*M)"+-D L9:C2E:1N70>&/90P]5,[?O!Z0@== "H MNL7>E8_AXJ;UEE.E*.DR%!,Y*!D5!.D"1)8-W1(EZB@;@^@>$5T"YQ@%SUM* MNP.X?"!-$ %?7LSR;S5$./]6);2VY-"FTD70R001JA$ ]!!VL\:WTM'MYV_0S=%WLQZH_73@?7 MZ""MEQ.=Z5Z0[> R[6+%N0.O4$**.M?!>_2E>9CE%V_!?A"LSM&"_1 ==X#S MF\.B!H"OG[PVK9J)?INEK\TVU75+KEBY"<[KE#%$)5H;B3N)Z;Q$9W"[44B%E8<-$Z+9,V MA1W<\?^$P1#C%4^,A; &>NG"<6WCHKVY20\IV?OL(PF U]0+54L+M8ZT[X2( MF;DBF[>":\Q"+YT)>W&>QT1(!V[)P_Q. F:1O?5@F-*TTE<][8?^ M<-3!<3Z<4&X^Z?H_VL[>GN0DHS/9\,]P>RX M-M3_&YNP)=XZ38=^%;Y-212K\^:$/.>'/J9% O.3Y#7*3+ZN#+G)SC1>V^"+ M!JL8@D(Z=KTR&DKD3 IE!?F?K0^2GRAH.)N]BN[ECU<78;GV5+16J<3H(>M5 M47,,$)T(!.)4$E?.B-2\'=UN,;IY U^#A>O9Y=5 M+/7-S9F(*4H'B3%+)[,FE]:S4+.5N1>*5)T>ZR2^Q/2_/L^__P=]]#50Z)M; M?#RP8"_9LB 3E5OF9Y.5I7L@,9=D;_=BY M\302[JXV#@Q.5M>\@>S&KB1\/_V&BX]AEB]P\6K34=S7 8S11.#DZ8.RFGP0 M40-=7 3-0S >]XR&/_#IXRG[>"7-6TILY$[('VJH?P7VK#$6$R4PIA4HIA)$ M(Q"<9]Y;Y53<+VGEB>;'-POVDD;5YK0_7I8] & S;TG:J#GAML2:6L -@K>A M :=BE+1EM(, F,WO3Y26=OJ/D)R(RO\K_#/Z=>KKYN$Y.!#4HX!K[W#%'FO M$&U ,%)@TJ6F*>_E[CRA\I\6'5GIQZALWD)^'03H5J?<^LR[#<&PC";FI(EJ M.NL46XDB2<#:S#<[K8UH[18^2$@OCX-MKH1V,N\ ."OJ_UPNKS#_=K68SCY? MQ_*N&]+<#5F__B9*03"@K&=A4<]2,-==64,RF6(FYCD1J'6PXF,IQ M?'32RA;G-\U>_@MK"V?,+[[C(GS&S=_?+Z8))TG:%&NC M"V/J#$KD9,L;[<"(J))B.8086Z/XK!R.:X*A5:MHDE1H#_DFBQC4,VF.TK1;&CAK5*MJU M>#YBHEOGF#8.R)&71EORMQ,_% B[%ANW(_!PT&@BW([ L@['K"N@U\#GD2E> ML@4G4AU S^F\L\G7B:OTF^*%EP<#Y:&%QNUT.QQ(3A9J1P A+^#K=+EZ7J410>PM3Q*R;+J]QY <^%C\HD;?? EL]_2XS9T M'0Y$ PB^3UB]F.4/./T:KVB-E8/Y&+NEL%!DL>!S;2R;2H0H##&.+$FME2]. MGH"S0V@9MUOJ68 WF&HZ<.4?#?6]Q;]7?UK2L8TI<*G 6,=H?]49KH'<22T4 MB]))'L1C63S-P[ WE.T7>F7]XV] A71UX,V64]+)NM5EPNEWS.]F=0#],J3Z MR]5^FB2F')=< +F77A(03N![5G%.X>3CV] MEE94"_1RM;W"+!//=5 LSM*4[("PN&[*=DK)Q0$?WZ04XUAV&I5HW%G_Q=;Z MM[VX;S+YE66Z&%T]R!AK@QP+T6H&SKGD2THJM,]F.83 TPRRFR251]:\SED) M6+L 90^L* $JE Q>,Y)#8,$E[C1N'W.[#+&]UQPYFV(PF/QLEPVC@K'S0#%< MO%[6WI2U?61*5U^O5MWL?T.B)DVO.U7B,BVFWZ[+^MXOYM]PL>*H]! 4Q*!@_$T8?HF_$K-CS0>= P)ZLQ['C)R_H M$X5@[W$VC\LTOUQG#:.17@;#( :G0'EA(/!HR6W7+A?&C!;[O4\]_/E]0^ET MI<[;2GATD"BVHO\.^;9D)W-N'%"<(M,. J$?D+S;::I3R,*R3J*H_U,['7P/%]7G>/BW*SM. M&Z$*(ZAS8A4(ZECO3@G:)84YDLA,ZPXZQU,[SB5V#E_NS)I\MIA=[\_*DT], M0LZ6[G2O!40>Z?A.,F@=Z6@3?:"VAP;GY\)4$R@?H> .P/P;?@UU_L^W^?*V M/W) CUQ$!J74T3^L<(BV"$BHO)'",9/WBCP< -*'Z'B.X#L&!?/&*ND 5J]H MR>GE[R%-+S;-24QB+*80P+-D0 E$LDR*HKM&2B%?' M*&G>1F(=G P?\/O\XCL=EC\+9<.,9SP90:=F)D=:<1G!.>G!!N>X=:YP5IJ; MUH\0-'*A#'@T5F;CP(2:&DD_T@6 =.N'5!NI(O&<.X3.BW1S2>DLGWYJ!V7,VKX\]Q M&0ZMA [.K!<+#+7W_N8!;?- -@D!G?5206)UDBJ/9*XJ;B$GRXE4+;AL/4-J M%RV]9^0=J?SM^<@M-#'VB?4&ETO$=]]6F?NSSV\P+/&Z:M5EO?;J^O> MMUHKQ9&#K4,<%,^&O%_.H,95M526!:WW.JOV7;'WI\#30#2<\#LXHQ[BZP/. M\.]P40,K$\]U#,8@Y$)&IPJNIG.I"#R0"QQ0F11;&U9/D-1[O+O-B=52+QW M[-[+TY^K@3 K ;Z=S]+5H@I_4L<\&&,2F0\\@5*QVHZ6@;'"&6.]B*KUY(_] M*.L]*-$&= -HJ0/L/;255E^N)PY5J9(0,==]=>U_U^(4/O&UYX#7Q&85HI*Y M5)>ID"->BS$EEZ+H,QQ]>Y#:NYF,MD MQS(4P&PT9(^HN&=AQ0!8O4OG.!V]>@7JT1KL *7KEH<_UCD=$_(_(8?2V.@Q.F)LOL78BY1J!^#E=:N-&C"_X;'V/[]M MAS8IDL2F+,G0!4..%9WH+GD/20C#I4>49K]V 2>1,5)3L/.&\\ZFIQ[.QY]? M XG/Q56X>!46BQ_TJU4WVE=KU]X$HT6P E +!LIX#EXJ!];4_*DDI..M7R;V MIVZDWF)G/QR'4=?SZ].S\IEJ,ZQA^O3<^_B!^_0\SLXH?7I2F0=&$H_A^Q6'%CADM.U [%Q&I1V"7RN M[2R8=735,A&;UXW=IV+7MLO\&$\JVJ1AW0E-;E)PHXPY01@F!INXU!83QTGT>"C,+\/%&&[/N\LON%@Q^^>LS!=? MU\V_AG"!'EUJ8'=H?S;':6$:M2)?'<%4H*G:@]DKSH"IA )5T2RTGL%W5M?H MYWMX:[[B!ZRIXIL_7C]0\I"0.4-';^'D"107(3B/@"E@Q*(E\M:>TZ$T/B?' MZA!\/6Y#-=9=!W?GH_Q56=8X[8>:QWL=DYVPR(T)0=*%4#N*"5>3+@L'H073 M/"9>;.O7YT-I'+ETL@]LGJJ[H[%)R\?Y.%',FDKW/DPSW7'76<,W[ZS+82[U M/18<^&H_E.51+GA?C*N9LL!]HH,Q"#H3O38040:6E"PLM\XU'?&"WXR:F)"Y MG8.)""PQ5#>11%*ZS+,AREY3I?U(5AY_$ \2@_/[^GFKUIQ M6-]49^'BQW*ZG)>?Q3#,R;?OJ@,??T='> MH;5,-(];C7@&OIF&6%_Z::G--OSMZE886GA9LK/ I%*@#$O@M) @K$66-%=Z M>[1MXY/QTWEY"*X>/R\;ZJP#Q^;!S. UAS\V_%T[<*3.=^5W$FVX^-\8 M%A-96R2'FD)0:C<28P/X8.G22-F:XDQ0*!JC\WAJQ\7J< C:)]&[O3J?"W!) MK&_I&OOT-UY\Q[_HB/BRG*@2&)9:;8&U"["VOC;OE>"EM3ED%%VA/5>4S@FS=CI_^GD]*S%EHHVOS"C+(G0\0LH\D4Q\-$]Q)>Y9RK]TD MCOO UQU CU'<<\,E 0TG2:&5S'(HO$[C"TI#,"P .B_19:,RML]9.I#(<1\: M^\3FPLL&GS-SC=)2.ML$4*$$<%9:1RG/+9K M;!ZLNK&S\1YE[M/\)=9X\XM"J]VP%[E@P=*FLZO^C48S\(Y;L):KX+@V0FP] M"AW0!N7QM<>I_8=I*IFJ4,#0? ?L[Q^3\7\^I^)_NF+K_6G26VY%H/)8! #J"3((I:L M/JEZEFO.5&X^1^8H0L>IL^T+G$V4V,%AN8.]"1WW1L3(@).<:BTQ0DPI@49T MEJ$IPK2.6^X@99S2VK.CK84B.CCY=K"QJ7Q#%WF*W %+F7:']PZBIN]822YD MZ31CK=V.QRD:J6JV%W@=HY=^3ZT[S:YX]"RRJ($S'^NP2@6A!D&1R6(4B22;%M@!N9&R52QF(IQB4.6=2AL;784K1-D#;OHC$&'JG5RQGDS5;8D M?]U86QH;-:LI%#[0;8HL$-<\05$^NR*++;&U(_<@(<\I]^00I-R[<$[60@\V MS183JS$2Z'(2)0N0N58 !"4A9%7 270,DQ69M2Y">XB.D1-#3E?O$X Y6-8= MXF4])\)XH8WC")89"XK3=]%9 86N,&VSEEXV3Q1^D)*^,'.XAI^ S!'B'OLQ MYC?\CA?S;Y5\.I#_"K.K0B4VTSZMV>XZ3>'WPF MT4=FI8J@DZO-PA5"P)#!2JE%-L'%U+HCUA8)?5U61RKV<;@<).4>WB*VA/+[ M59VG]M=T5AN6/I[GK7*24;O:UMLBJ&@4^* U7<&"*Y>2$1$'/H3VI[:O4VH0 MZ VEN[&-IBTV-_DWE8]W,R0[\1/]'4--QYD4EB3RS(&%@+4)"UD/M1(Q(GDR MB2MN2]C+>CI@T9%SEYM":U"!=_I*\0$OPB7F]V%Q^>/3(LR6Y'+4>NZ_Z(_I MZB(L:C?QK_%BBLL_9^F$H/AQ"[6(BS=@L5%H?!+K7JFUPQ8UXMRX7EW<8?/T_5ZOQ\)=?YG=& M8]W_+>+;\!57D<*BLF=!>DC6U4BA)*%ZP<%$'IC,9/_FO?P)(N0...FG6V"> M2N.XV#P#?.8CZ')DS.[B8S,#&I'L6O0@C:NYA89/@[KPHF ^BDK&=C8/#+R-&B)M28S"FACR7M[% M8ZN,AYV6:IP/(=,.@FH?ZXSENI%>783E\EWY>#E/_[W:/#9QX3/GD(.N-<3D M!/F0//#"8Y482Z;YF+!=Q(P;[3C?O==6*QW ZR[]FP<110) DR$(7T YY\BY M-G0H!Z.=,G6(7FMV0% M!+><6)$*8C$"(K-,"N/HA&X_]W(G.2,W&1T"0:>+?617[-6JMFOQK5[B-TX$ M=U[*�HM):^) &A) ,!D1L2C2ABK^2J)QRPA]8>-Q)_7G?_9-F/C)T/^.UJ MD;Z$Y6V6QC9+ZXVFBDC<) NRF/K$(#*04ZK)34#OG1!!J[TRA9\ U-X$C>>@ MG:[S^= *Z-I_1R:-2A)!8V%TM.8,+B4'-JD2O-!!F*V^N,_*?Q](HWN[\H>( MMP/;9\HO>^UP3H0G=^= M;Z69?D&VWH=%6L<*KTZK=Z!XH!WC/4+1C'N7HHFF=4K6HP1U^99WN-KW@],1 M.AC]=@O+RYJ:<4%_F"]6BOE .B*"OFSGNG)O@^8J04Y58(D[",G6/,A2DI6! M9&GWN^OV7K-+]!RCY?GP(N_W:'ISDT#D9.'"8(+HA*W\D,RR=.3AJB"]U]R7 MULWYGJ)IW'YGW=R$Q^FH \QMLA(_S5^D_[F:+G"5:W;[/+F3U)5)<'VY$8F ^ID X0=DOZN[]GF%^&BUH)\O$+ MB7HY"9DX<2:#**S6"F&$$%("HP.2"YUMR:UGP#]&S[@QS4%QU4P-'4#J[7SV M=3[#R["X*Z<_%O/E\J9GPP?\CK,K_(!I_GDV_1?F"9=>TLG/0.M4GZ8,IWT3 MZGA/R9-&JXQL7>!^%*'C!DT'!>'PBNLTI?DC?JY;[P^&4SY-BRJ*+Z?,KGFM 5;I#@W9+E1JO.:H@_X;;ZH2+M)25<_GW6WOFO5"2]I%+A"7"-;K.B!BP7R01&KK5K[7_NIF;DE*HA,72BZ'^%.W!;ON>Z"G>M>_8; M<2\!#'TQIDCF'9,>G-0X8[07_Y8 M__$Z4&0*%FV]!4PI@C+.@DN!OIB<;>(:_8 5/WN3V>EE>@AV=M?Y#*.LD5,M MWB_F^2I=OENL>ZBL^_P($0I+( PC>7%DX&/@D))2RA45HMNK:]83614/K=U+ M5.QGR347'\,%;KHR80Z2'(T TB@BGQD-T9D"D;%2E&8F M;9=A[7A^O/_9HZO^5&W-VXEN;,UOGD+)L+S3NVMM7J[YT46GI#.#8$NM&T(- M >D$C<*Q3)M=..WW@L(>BXWCI0V$C=;"/1HLWW$1YTWRA6?+^<4TKQ2R"N^N M#D^G?!28'4C&Z? ,N$I>))?6,312:N_V:^#Y9,;P0ZOW4BHUO#'20/JCYYMO M^J7U)P(Z MJ0T_7;'WBC2/E?+87OE[7*SVT"SAZ]F_?GR]"2VHK)W/=((RPXF)VJB/#$5> MYY6B)3%%S%MV\JZHS(X5NG@<.$9C\];B&QL#;^??\>+E=%Z?^\(WO+JXTN7LM/Q4$C$?9S83QTQ[ZY MR;0S+)(\(@,IG095FX:Z0'+*27+-@^9>M)ZCL@]=O12_G;/X5_3D3F00GG(82H MZK!%!=%G#YA%)G_",\9;IP(<0687UUU#K-RK/AE6<1U@\]5\>?FN_#&?Y[N1 M^X_SBSR)R22/1#KG4H!B6,!S$B1C(@L=4"C>O/'23FJZN%"'0UHC-70 J)OB MP)\>;5[_\QO.ECC16LIHA( :OZ#=D6J'1=HBZ(P(P9GH>6I^K#U"T,A!@.$/ ML%;*&/7M[%9>%_2GSW_@C S2"V+J1?XZG4UK!E1-9M_P963BEBL-4M01*"*0 M<1J*(S8UDREC]+I]?OD^E(ULR@V-M@'4T\>!=KFX6D_A>O4E+#[C M00W@TZ$+6Q.$GD/,XDVCXE_SA+Y M&6_FR^5$RA"%EPPX\D2'IN,04O2@>0J.$?*)M:%>;F_)V LX]MD"YU3!=X"= MWY!63M.54(AVFU1B":PLMOJB"-X8!QEU20Z+$LUKT.ZNOQ=:W+-%R]&B/APF M_AHF,_QA^IG/VYT]YN._^788GYU?QK-3BN#P3GM))1(4C.S75B:JQC$8W2F667 M4%G5&.X/4[)?C)8]6V@VD'_#X,:(-9RT*Q/.+M<]NJ;+_SY7$>?.A<]>Q;F? M"(8NXZ1_ZJ61 ESU2U5@!EQB#'*Q)015 NY7&]1!&><]@5Z_\(4Z\DB[R+LL<7%RQ^?Z#^][F7) M%9<,7>V^2RZ50P3'2X#L?-0N%SJA6W?]?(2 M2YLY7"PQ[94'+10#%6VA(]MX,)AMUCF)5%IG_SQ!4F>0.E;UVY!JJ(<>8'5_ MY[W$6?KR-2RN)S1)YD3.64!0D?R0(L@/X?1%.!5%,K:@;)W(\Q1-(X^2.I*78=ZU#BX\15-GI]5)"'@2 M7B>HHP-XK8KMU\[SNFR[AF+6!W"TF;8A(]'$+*^9\2Q;*-HGS80UKK2VSA\E MJ#=@G:+[[=!5,T5T@*H7*=5A*\1/PNGW>J:O^6".!64">;^>U> >2K(6? ") M.ALA@G7-2P=WT=+9S=<22TW$/W)]^U_A_\P7&P/QNH!I%90T!B$(6\T"+B$B M%R2ADLE*E*:DL@]XGJALO[_RN)F!#8VD!H(=&19U<-.[\A,/ZPTCG9,9,8-0 MN=;Y2_)!I"/?MD1OG,?@Y5[II$^@8R6OQCEWOM2']Q:;R7B#Z M.FN"155O3^'KB*\:]J";DP6I<<]9Y5L?/)[*&^EIWDAHO2C\Y<9<F(F65XR-_(@A;\00BF6&UG>-V#N03"O_M (4W3\L?6.''"*T7A;]>TQZD3]P0L=9K0=>1S^!K M/^Y _QTS#+/9?F9^0N&O#U!X\[3Y@15^C-!Z4?CO:]JE#Q9KHK:+-;1$K!&/Y,F-58S &K3, MP'6)EEO-[O5N>4+A?QR@\.:)Z@,K_!BA=1 8O!?+>'.3]Z>EXPF1[B47'2B9 M2\V:)N$PS5,J6C([^!O^FSX:+9SC6>PXP?<(H?>XJ+\(GY%/FGH:H MA"053]9!"<2Y,C4MQUF$@J@]^FQX:-[%Z)<9HG((=EH,43E$62,_PMST&;Q[ M)*S>'4P*F#7/4.KKM!+,@I=1JJ= MMY;RR*?."W)[B?)-V\%0*[%-=N1"URPN*R-9FIB VY*R"\87OM?=_@0^?EYU M1%"T4>&\B3P[< -?__5Z\U*I)%,1K0"5ZDNE] 5"M 8TLR$:5;C%O?)"#C!S M;EP9LJ^131-7!GM^K?E@6;T1]\U#,5.@Z2ZAU!;SPA8",+JJA*RZ/ M;MW:U6R=8RS3P335 ?J.Z@":4/ 8QX!F\M@%%S73MC M(-W@JM0M43!"BXR^]='Z MZP0W#\%.B^#F(*RX8C %"+[48'"M2?68Z6)@ MN3:!(P>I]:[;3!(3Y(%KI%E^;RA^C45ON(&FRME5-"W$N2> YBYB2 M#')[1NQ ".NAF+.5SO>"TA$*&#/N46N\%C\F__@XT25[(I:!+3+0<9X07,0 MTDK)@M;!IL=\WB6F__5Y_OT_UI]XC9CU#[=@N5VO1T@7&F1R.!,.4IF=6+#64R/4=:7;7XZ(G;><60%,(G>8;(FI]82';1IZN0_;Z7G>4.B_ M0GBL3N/Y>WIQ<:XXV/9Z9P]X/]-M6'K)D5?P#HLCG9'R;IY8.^7B6P=@IT6D:U#E#5R M LW]B>4K/]K&I!QG!>J(<>* .3K+DP.6M$.4@H2Y5^'%$XDT#Z_^_")8!RE\ MWE3ZW>%G[70S)Y$\YPR!U1Z UEGPO B0"9E765FI6[3>V+7^>$E9+73Z*$2. M$' '-OK-[)3-_/%UNHF3+,N:M!A") >Z\N*,X(#D3P=CK(^Y=3K^#E)Z@LPQ M.MXUK.8$@7> F\?GURM%^TI'"YQQ7D-[G'P7DI(B%J,F%R2GYE,4'B/H^06P MCKFZVNNF!Z#]-!2=.U6X]Q*,]K3SZ@9Q-DC04B8?$RN$BV'6!HJ]N&8 MYQ%2'CN;]#TN5GMHEO#U[%\_ON+F0!5!>'(G>"UJ9#4OEFYV;@08:2-&)U#Q M+<]T1V[IKA6Z\*J.T=B\M?C&QL#;^7>\>#F=U_A(^(97E].T82,:+[-%#BD6 MNE;1(H2D;""BL,]SOUYIB]QI=S+@^%0>-1-C/A?%XL%Y;K5(-BF:9:C\E M52 *Z8"N58,8K6*JVX>VX>9:G]M.::VI#M"W"<9.%#IGLJ&=F$+=B=E"9)(! M\\[RY%G6VZ4-IS^EK=?NXF)JJ-7MQ[)C1-SIR\:+BXOYW_7R)1F](I*FEW7, M'BY?S,+%C^5T.2^[_L4)SQNG+]KBC:,QZXT>.F[[,-\^QP7.4B _'%+ML:AJ M"Y\0G(<4F%"*!Y>:M^U_@(Q33Z;?IS.2)6W(V\^^$?#O/POXP_SB@G[U=UCD M"9WOSG&CP6"I;:I* A>E!&F$\R+;7$3K^9_'43KNJ77=?/G-_,PN],._=7U8_8D.;[ _ M=>-B[QQ8V6Y;/XSB.H#D^\7\^W1)FB/.*D?7%M5_+::7Y(.5B<["J^ U,%[( M2#:6I%22 Y?1N^)Y\&J_QKF/KS.NTWE&!+66^?@#X1_AZ$7^/U?7H[DGK&2T MTB(P5TO';6+D;-&^R"$5LD-2X.$4'-VN-&XKQCZ0=*3\6_3QLLD,4=_0E^0T7TWE^/^;S?/%C@"C*X8L/&4TY410#1E6,8"FK MPB$H1QC,M6Q?R)H^S[0WDM#OV=J++G@,/- S:J M6 J+X% I($_,0:PYX=XSSFLAE1"M\P[W)*V[&-^IH#@4=D=H:.P RYJG<'&' M)S*-UPQM,B_)S$;A F".='T462#:Y,$ZJ[E* :W8;YC%/JMUCJ)C=#P?4N"= M'EV2?9IK_UOXL?R9-1YTRK7SFJ@YY8IG1U%RMN M!KZA==4I# VQYAY@#:7A!B/M*TF7@4*'Q%5!$B$),5JCB>,SP' '>=T%G,\" MPQ:ZZA2&K__G*EQ\FO^QP$ +??H29I[=9]3:'(,O SWV: #^S$TREKF076U(%&O$E8-37H*-FM D8RAA MOS3Q)Y?J+B ]O.EWO*C[/.EV.?UO;A(;8Y)%(ZO3FC0Y_CSE&EDWP(3CA?/Q;$T80SDY,CVT*&2-M:90^. M<051":^]*-J%UH[)#E*Z\X ;8V#[5:Z!0CI-7OZ R\O%5;J\6M1GI"]A\9F< M_;"HY:W?\827M;T^M\6CV>$,-'L/N[/PBUG^@!?U$?]%HH6GE],[KQP,DV5& M14@R$TRX%^!YU, ]%B^R$\FU[C"Y-W'MWLYV+/EJOKQ<;CK<8QUX3W)8U>G[ M51=0-[8KV-#H&GWFUE;;75P:?Y\#A ;*Z:6N/A^'58O MA?O@$MG$G"QA8D=#L(:^2YP+[J1P8=!->)^D7A[&&D/AWC2 =GKI &:?Z-]M MB6SM="F9 _?.0S"U'(IS8J0.B+$8O1*:YQ1:9Q7O)*:CL^Q4E<^'D'\'0'HW MPT_3K_@)%U_)G%U59>(,R_2FF8C,-M:>D[4+@"2KU27PMKI*S-6D>Z6];1W_ M?8JF<6'52/7;O5Q:ZJ$#7#VR^6Z=(>UL*HQ\%O0U0]HG UZAHFUH);&38I&M M6][M0UE??SY;2J>83 M+8,J/ :P+M9N%3Z#*]X!W0A1^B2LD.V'-YU,=K=7[9%8>@RL9U!L;UA>1Q0F M5C";,]T"P=5V/+9(<)HYP)1+_5M];Q[TQ+RF8]P3\KQH.T;TPT?9UG^H7V)8 MXO____U?4$L#!!0 ( $.#I%9/QZ#,U@< + E 9 8V1X#,Q,7-P+FAT;>U:;6_;-A#^OE_!.5B7 'Z3[;S820-T288%V-HN M\U#LTT"+)XL()6HD9L%ZX?4$H_'.][#YXZDSKZ^?'Y L-+*?,P^"+"WK-&HI"YT,3-RG#K6:7>Z[(,VMW+"0[N3 M3L'Y7,]9*SR?M?P@9R,M9N=G0DZ8%*]K,NKW^R/>/NI"M]^#7N>DU^Y'XH@? MBC@ZAL[Q[Q$:V4+QT,>ZF8+7M4SFC11H_$&OTSP^+-SI5 J7#J)V^YN:%ST_ M2W3N<#R#_B,Y]_6+0:F8<'() A:^2>@E3B(?YP&)XY1 MCY(YS)V*.N3&U5TJ1]*Q;M2,[ONPK?4Q!@#,%S$_F"$@UH83, =E+L"05.W\ MXNIF>/W]]<6;X?6[M]M[]J_[T=L8ANLZ^\5!D4+.+J52LSJ+P3B9S)A+N7NU M=WAR^H3H%%P(7% -!8D;=(_F\9(X.[D;-*(OYV?4G+OQ^4>_/RU1NWE(TW#- M4CX!9F B88I4Y%)IV<\E-PAJ-6,W4&CCF,[9]]ID+&HW?F8Z06X2<"=MG5WG M<1/#TW\9X>GL7'B^XQ:#@M.?S=AMKJ<*Q!CJ(4HFQ$9H-"'7F$UP!"YSQO,9 M*W-G2D /,+_X5(-!XRS#)R.Y8@F/\95A.D/N0K'((%8&LQ+*)9C=^8YB4U3&:?,EO1GV7\*!BHEY$ FK<($ M1KEP*EV*#MH"8F\@Z2W0-"W0S0EV$VPT6YV&EP/"[G\'A, 2F6.8"3'+L-81 M@2B.S6:E7>8),HC/4_@[5J5 G0B=E1C6$7:26*? R!-H")4J$ 0E$C7OQPUML3/4P%A:AV6=8YQ>!KO1ROH*W.S< MF#5K7P[B>CN'N.&]\+S:.^E$QZ>VPE15&A!-Z"21^+AO#WSLKADWX%&"498$KZ&?'7"GH#FLB6 MK0=*[@V4X$#DYT-,HP3E]F=53X>]'<+I/C_8%: >-?L1S<,E6-P$8+Q\:OM[ M,-4IZ\:\M-MWH?0W @1&-5)(J+HTJ Y:B*M9SZ4@MSKH9)YR9FKO&M <8^T M*J,NT5*O.)D:)?(GVF*UDL)O3VTYLE)(;B0Y($/>]YD@)TVEI5SLUZ;UB=OS M).Y_T2#.I*W)JTU0&]/=UOC&M?"1 J"*[Z$J!ZM/'7>5049H"46U]61+CIEMX WRI.H8< MJPW7@1ZQV!'9TX9B+ M$,),H#T><#3 RP"=V"'05;P9XKF."]J&5P6<;]D(OB>P)65U'<>EH>BOI- - M6C-M';ZGHTG496-4]$8"Y/ M#%)''0,/GO 0.O[,NL)8/:1"F4^TF@#EPYR/JZ-W4W$D9(72,\#6::H#*_)[ M"$;$?9)BH?E/<; 2]0W7NCMX<7B)T^])EOW$9Z_VHJ/V::_N+\SGICN_7ZS, M&N$* ]- ZQ0O+ SF/TXQ.Q6*SP8R]V/X3J?WG:0;\ EE.2R0JKM?OV)"FPA\Z/$!9YH_8V-S-_\RL?8Z9>N)DA$7XA>;C/6[:):5-GZ@O M4@D)N[J#N*2]/WL7RF&BT_WJ( BY&A;M5;E\L#Z1+4]#S_F>R+F4>_'JK^AF^9_%=5YW\!4$L# M!!0 ( $.#I%9(:E-1SP< )PE 9 8V1X#,Q M,G-P+FAT;>U:;6_;-A#^OE_!.5B7 'Y3;.?%20-T28H%V-HM\U#LTT"+)XL( M):HD9MW-59+G2OZ MK=9D,FE..DUM1JW!;8M4=5M*:PM-X43MXIS>X%_@XN*;\V\;#7:EXS*#W+'8 M '<@6&EE/F(?!-@[UFA44I>ZF!HY2AT[;!]VV =M[N28AW8GG8*+F9[S5G@^ M;_E!SH=:3"_.A1PS*5[7)'0@;O>2B!\?];K1\=%)TNL<#4\!DJ.37MPY^3-" M(ULH'OI8-U7PNI;)O)$"C=_O'C:/>X4[FTCATG[4;G]7\Z(7YXG.'8YGL'_X M&=2L*^-FA/J&VCF=]4]0EX-[U^!*CO*^GV0M*)MUB+72IK_7]O_.J*61\$RJ M:?_[@>_ T)@B^,*N31*E0 M *&H$2]^..OMB;E-6:+TQ,YP:F DK<.JSC%.+X/=:&5]"6YV9LR:M2\'<=V= M0]Q@)3RO]DX.H^,S6V&J*@V()G222'S,&_ HP:C+H0**)@.$YE!) MFU(/$LN0)8DIZ5E(&RMM2^Q'_&FT"G IC(Y!X&O+]A$= A!N 0+7]W'*\Q&P M-TA-MZ5"B:C#&U%O'X(544^$I_ HJ3S, TQ)/R/^6D)O0!/9LO5 RN9#*$.&2#Z62;DII?M.P MM+H\]#RJPL)8$5TJ4'WZN*\F5)2F0%1;7Y;$N.<6W@!?JHX@QVI#(;BQ!0I: M-22"97@ ,*XN62"#OR (QSL$X4#&UV.N2L]8%%]($JP5Y1@C8S?4?/.B8@L& M#H^;RT"/6.R([&E#L3G4I7O<@FUR!)]+ U72R3]O?]AP5J/[10C!$VB/!QP- M\#) )W8(=!5OAGBNXX*VX54!YULV@N\);$E97<=Q:2CZ2RET@]9,6X?OZ602 M==D8%7T,1SIL_Y$N"<(8>>R!=&4X[IW GR#0X4)>SNTZ"%:EW,[K#6) #WL0 M/C5X?U2T/65*WH&JCA,>R->?[:)G0WVG-F6]E[,I\R>,8K9.Z@NN(NI?Q?ZJL9\L0/I82S?=+KLQC?_!P\/_>ZPNF^S<*:S6L'27"C3:\M'6.)2 X MJI0]WP--@-]1#@ZUF\_"ONKT1Z"S8Z(G0:[:KH3CA@WTQ@5VM#!GMT?A6=6J MV,70-0ZN#E\(6*P";)DA0M!)?C)55MEXH/;"DOSN;8[>8"Y/#%)''0,/GO 0 M.O[,NL)8/:1"F8^U&@/EPYR/JJ-W4W$D9(724\#62:H#*_(5!"/B/DNQT'SR M?=^&.]P=O"6\0F=[2F4_\^FKO>BH?=:M^]OQF>G.[PXKLX:XGL TT#K%"PO] MV8\SS$6%XM.^S/T8OM/9ZB3INGM,.0W+H>JBUZ^/T%S=A)^>-H_;QW09[M![ M3LP&KN[)F_Z>O.7$>EOWI'G:?KRYW8P>;?M,:EO>Y& V.L86/']=Z]1F':IE MT&\SS[5S?9\0/2SN27CY;IP6T9H;=?'OP\<[Y=5>%Y>1_[MRVSS'_>?U2P4_ MG&\?99D_3V.S63[1:0%V7\EO*[Y"GKA,)23L[9QWWH>"[PNY\3\#K_WJF(>N M3^>^H=2]=!)4U<8'Z[YJ>19ZSJ[S+8U_'//JE4/4W?+?DOZ"Z^!M02P,$% @ 0X.D5HL,Z\\+ M!0 SQ8 !D !C9'AS7S(P,C,P,S,Q>&5X,S(QPCO*\@]@62772&0;R2\C!0VWT81W M0G[@5Z2@*ZYB=E+I&3C%^\ Q1@8+03^Y M[I\UPWHR6(I4H3V)\L7?0LU=941>HKZ%4$HD?A=U*7:M+!+SR]0W0=8*995 M*&(A_<>N^?4UQ5J2A,<;_VG $Y;#.5O#3"0D?5K/L3!6SB1?%HPY_X>AEVC$ MO*Z+(#JH)^8IJX+R&CJ,R77$%UQ!LV%[^S'L>+_C:XCI9O*!G!U-9L'9Z=EH M&)Q-S[%=9_.WP_, @NDO[[G7A;?VW![9,)^,C/=>L^W6?WF_AW,8CJ<7P63\ M1>G^;)L_:"!5VGON,4Q/(7@Y@?EP]F)X/IE;T[]>3=[#/.XV&FY_))*,I!OSYO6? 6HZ%3(!S[7>P%)(HW+) M\Y#$\+'0# Q#I_":R#!Z\M@[=OM-KVY@OPXD1^88J5MWYBQ<25R),&Z24IA< MAQ%)+QFZE"0\S[7KN_X4/E?NU&&N6!:Q%,8\CC=UN) LYSKQ1MDHXFR)*M&$ MXE<,ILLE#]%!C%BK+&,SK'/))4E@ML'VKI>"ISPE:<@QLD\+U@&M93J_5TP; MIP(8"2.(F&2+#:" XDO\GJUDOB+HDQ*P@QU%88H,&0#1V2%49'H1W979X]0] M7[HQ)W)!4I9;T^N8;6 8FEKJGJ\CG6"6VMW^5_1M1BC%I=N*V5+YS>-;G6P] M8"N;>A]O8[E_%_9SX[7LMLY%@$4HAVBYPO[#>4NR6+?RMKTE^[CBDNF-3:ZK M8KXEA"#GCPU MI:F*3;C&SPS'7]>UKLDDC@&9T07$BQ(7\GH)CQ6.(!Y3L^LVF(-IL6&$^OM!ZB/"E49P7-G*/8^9F8))KNV=Y#V@]0ZQN7";4Q,CMWVO-:L50+E M6/@N>*;>YO'+:-_V,34_8? M!NPC+^0BYA2J,'^;K-U'IKXR&<40/E ^OFB/J>'T*),<<3]#X&=;NBCHSSZ5 MR"J2RIQ9BGY<_!C0\7'OMC/O-CD]# M! E#L4J5OA4]//V.V81\SVWCY[=PMVX_,U%<__J2Q40#TYW[T)LV-H;=&Q&R MP%Y>J<,BA^Z)#EZNEL_BJM=<.I_\"U!+ P04 " !#@Z16M['@YOX' @ M,@ '@ '!F:7IEU;;5/;2!+^ MOK^BUZG+0I4M6P*#,80J%IQ=[HBAP%M4[LO66-.RYY TJID1CO?7;\](,IBW M "'8Y#95,=CSVF]//]TR.S\?'.\//I_T8&R2&$[^^/7H5*/FX+1IMUIO MQE)J]+CAM=T=^PF](N.[/^W\W&C @0SS!%,#H4)FD$.N13J";-"/(5O?Y/Z0!^V-(.AL\JUHH^4'?_ITR29-+]9H,XWQ0RT1:6.,]OSN M9I"9[8G@9MSU6ZU_U>;G,36BJ4-IC$RZ+:_5R0S-B&1JZ":*=BY^+0ZX?K5H0REJK[KN7^;=N11L02$4^[OPQ$@AKZ.(%3 MF;#TE[HFFS4T*A$5$[7X"[N^%<>]G93RT3ZQ2+&2UP_:).3>IU[_@/X/H'_L MP1H,CJ'7_^_G3STX^^/DY.@S[/UVVNO9"?,B/DNX.U3UV'W^EVLCHNEWU]+Z MG5H:C(6&/?)"[CRZ+ZVJC(1>^MPMY((;H)*\8N>/^N$P2M[4K@ MA9BWNO/K7.)N[3D]^-NK0#I)&$=@&F0$GY@*Q[#6JA>A3SK#I5(9]*((0R,N M$0X(P)9!@W48HID@IH2;'+\(78?#-/3JP. 8S9A"B&4*I.*60R',;NTF"N, MADR)-!09BTGUD0CI;LQB;@M.,)5#'4H#!XIDK<,I\HF4'/:%F=9AG^(ODBH5 M#+;66QMDIR6P42G],I@$6,KA)**5"@X5&<&^'3.5L!!S(T(6DY%8.AN[9IXZ M3(09W[!.%M-"&QY#FR]1.SL=9U@LT0YKI#+PFY)Y1L8B^S)](3BWMJ+L6:]. MJKN;N=WWR.*Q(!_62V&]0EO+8#P/JD"Z;L:$30$98=,006&$2A%[(;0?HT*1 M@D@I:0F>LY@PGZ",+0-JG3!EIDN@4I"*7#R."^",R2E)0TN"[%9' A>*&EZI MIL>3H&^G3J_$+^\6^+2W?SC8.SI;;M9WM[^<_]X[[>V=+=)?ZA4F67B:015E M^:SP90M+9DP9(D1E&('3?8R4NQ*L(%['H9%#VK.D7CZL6!2SM %<.2[YL/Z"C4UJG,PQ%),B% MW>?7JS%GF[=HE_[Q.0RL;3X>G_86:QU2:DCD4O"29EJ4L-K/E$R$QH(=Y80/ M!#(7Q#@U:#1 90'1UX(5U6^:3[N!X;0"%HL]$1$#.=%DLJLF16),+U31*:Z+YK MM+/*&U;T*JRDTJ;4,,YY<6&;0:L)J[,#KTMYK2".* TX(><[8C/A]C(E8E@O M!*.:^J,M F.F7 -)YU1)SRZC775=W 3)_G0*BV5*^LM5.&8:"8E(+_KIA=+; MPI6UY<(5FR8D65B52:+H5*5<%$VG6P"C,+'51IZ2S=(1\F?COT6#^RG9$ZO> M1ZVZ_K@GD\7#KJYMF5F_OOR@0!9\E(EFSTGBD&WF;[^3$]%[[E M5HO8__49JDO>?9:@JP;A/WA)7*\O%160!MZR3 /[#:)"J/VQP*AZL$HET;%[ M*JZ^LT>\ML V_=U1TC\/>IX:A(L.G,7MO[!8_<'DNHK7'TRPA^+29&W'8*TWCZ4DSDM:G:]]'3 M*3$UG+@^[J,3_HOY::&(-^'(+VKM)=SL6[[^\TC/?- /CW#$XL6EMO^;%F_P MO!9OL_C;"?=7'+M_ U!+ P04 " !#@Z16![>4\ @+ [,P '@ '=E MU;:U,;.1;]OK]"0VH32+7? MQH#-4.484LLN@10AF]G],B5WJVT-W:U>28UQ?OT>2?VRL?.JF4S())48N[LE MW7ONN>=>R>3XI].KRI-6Z_3FE/SCYM4% MZ3?;'7(C::*XYB*A4:MU=KE#=N9:I\-6:[%8-!>]II"SULUURTS5;T5"*-8, M=+!S^2=D+?\CKK[FNN(G13S'+?1X*H+ER7' [P@/?M[A_<&@ M/S@(.KT>/>QW.GVZWSD\#'N]8'#8#OVN_VL'1K;PN!NC]#)B/^_$/&G,F5E_ M>-!-]6C! ST?=MKMO^_8YTZ.>3PC--)8(:8S]FN;-G]+9SM$2?_!)3=E/EV_ ME]Z/8BIG6&$JM!;QDT_-LV(Y;9L0F>%?\ M'Y3F(GKRY&.CM$B'O6;/H/:G>WW4A=.3J].S7\[?>.3\7CTZ1UZ.?W%^D*=/CCJCY\^?XV=O].C\.'LU/K_X4D\Z^\V#;\(5 MI\T7@B;D,HNG3%J/GC[I#-H;7CM=E,E>=]#^Q&A].QZ^$%**Q4?\T^P\"?E2[()VQ!\W.5\"HOX[10<]*9<@D2WQ&N"(Q M#1C1@N@Y13^&%H3RA%B>T"0@;YB?22@J&<\D8Z;7\DA@6[9_9@DCO;:I\IT# MCTR7]ODITPO&$O*.*V0>LF\[HST[W4I ,)R,?Q-]$(EK(1 M8\ (J(A,00*\-4 M4J&'QAH^-A'FNIZ#ZQ'3N$-VS;2&Q>:&RM"MYA.LT.(FM\(P[!0/%\3PR(+K MN0 )PDP:"A#JVX>$BVE*I78KNO<<*!IBP+%=#EJ#&E=3=/AV9F5Y6O!G(ROV MB%B8W9$E<8DC9K/P92"XK$85.R+,:^EIX$T 0J(QA=EQ"8E5 A8G/,1>P]E= MLV8QYX"#W:>2*14M@8Z\XSF/=0V0W#^:IA&FF4; LUS9)&Y]3F>^ 0TXJY3Y MVEB/K5^ L/M4!FY('AS,G-]"+L733"J+0GW&O3S#IB;S<#<@"C=4R/'.S%3R MQR(:9E&$:G T OPY_ED29E88?!''7#NS85-,;UFQ.G9?#/M=ZX DB ]DC-,( MP3:#1) [9^)0Q 3/T63I=(&DH"" 6HM/&=7*A?6C$$ 52'$ M)D\ 8X&S72OBS)@9$H8]Y)+H98K0:&N,5;V9G28PQL+&.8L"H]>6/V!?.75I M$LT@,]1N1B.GZSP&S!Q&XG-EL(<818RJ'/> *W\.7<+'.ON,&37S2274>?H: M2#,3@ABUQ]0?3&#I8F"S5J92W/&@N+R-1772?2:C/#M@E]\YY)WU*R0.JSAO MS;EU6JZ'MG##(W-,A%AYI21L6RN%N1FB9YPU0*XXS)7*H"Y%+'<+ H805$ 0 MACPR,4/"U&CJ57G@ %*?@M"*4;GX>(2'=D&''=_@2MW\#8!9\3?EO*8X""VW MJM%W%*KIEFP-O&C+"C$R"AXQ)'^^=T'M,QU M$J2M>Z08A%] ^#>KM9>3H!!. XV3WXQ9C\!U&=B6J* XEW4?;*/Q'7<"+TT9 M,ZC04.=9M%YIO9S."&X1E&< 7D2F[5/:C@9AH'ELSR50AG"BKX25=3&N#0Z8 M[0=L XBL8)99;R>3WDI54^ "<\Q,T!$H18V:UAL2$UH,*^H!J%0;PUU;@N5" M>H?UU\6JM,VZ7U:*7$,A\EMLL34;TAMAG@PE"#*"ZJ)KJEI-D6NIY9P44942 M'MG*J?HI9RK<&>\04U)#R ?GGL6HG(+M:@B=(D:9WCYDE;R&,)].0NP;:+2% M>H<%\^PT0]NT^Q_F8L]P<3RY.?_W&1D<[A\-^IVCP5UG%:/ZZUQ6YZPSUIA* M1F\;EL-#&BWH4NT\[M/C1R\L$;(**UFY547>3"F2'5)+P619SVK<,YH@;>^Z MDN*XPTR5-A*]H>VM\O9!2V:&5@W9:I^UK6?8R\NQJQKL'G-J5S4"%AFCUSO, M3:)FA@)F)"R3T(=UW=E0>%V?;RIO7L60Q- /E3M9[-:+LNZL^QR+2I3*?8&I MOTK+XD,A615HI52MQ0F9ADX:@3(Z][_,G"PX7#?84!;ONN#G2YGG:DJ^VI56 M$;2QVR;=\)$"*$%M?K1S+)EZ/.4R/W'7.C>&B)LI,*_14-&(5HR84OUC(2, MU3>(94,;F+(9IQHL6N%. E"@/4&SNF9B@&>L:*BRP;5)%E$>N\U%R5^WC3+A M@-\&(1L?E4T5QXY)UH8)?=^\RZ/S(:X(6 1%*.+4T* ;[(D80 MPC#?B(@$J;*80Y3RH[3RR, PT#=Q7-,8O#6+!LX.^I%U"J]9L MNW9-2_P+BI7SVTU[JZ6#A_?Z_6:_W]UZN]WL;+WWH6D'S<'!T>\^:W^_N?^) MT[8L$'*M'^UT771,XQ4AS,G/.[V=M4 .V\2E3+'&'_#HH[#N8V.ZZ;T9-;)\ M=-0T.;!.5\?4G>TYTUW]VM$)E[OX)WTQ]^[LS;FV!?R+$_;;MNX3TXF8G[WF MP<'',PM]P->O[.Z;ZV7)O!^X?4["TIC9;_M_P/WC[SS/7[7 !*J@8 %0 @ &S(@0 8V1X&UL4$L! A0#% @ 0X.D5D_'H,S6!P L"4 !D M ( ![;D$ &-D>'-?,C R,S S,S%X97@S,3%S<"YH=&U02P$"% ,4 " !# M@Z162&I34<\' "<)0 &0 @ 'ZP00 8V1X#,Q,G-P+FAT;5!+ 0(4 Q0 ( $.#I%:+#.O/"P4 ,\6 9 M " 0#*! !C9'AS7S(P,C,P,S,Q>&5X,S(QQX.;^!P (#( !X ( !0L\$ '!F:7IE M " 7S7! !W97-T97)N86QL:6%N8V5B