<SEC-DOCUMENT>0001200375-24-000007.txt : 20240228
<SEC-HEADER>0001200375-24-000007.hdr.sgml : 20240228
<ACCEPTANCE-DATETIME>20240228160912
ACCESSION NUMBER:		0001200375-24-000007
CONFORMED SUBMISSION TYPE:	8-K
PUBLIC DOCUMENT COUNT:		16
CONFORMED PERIOD OF REPORT:	20240228
ITEM INFORMATION:		Results of Operations and Financial Condition
ITEM INFORMATION:		Financial Statements and Exhibits
FILED AS OF DATE:		20240228
DATE AS OF CHANGE:		20240228

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			CODEXIS, INC.
		CENTRAL INDEX KEY:			0001200375
		STANDARD INDUSTRIAL CLASSIFICATION:	INDUSTRIAL ORGANIC CHEMICALS [2860]
		ORGANIZATION NAME:           	08 Industrial Applications and Services
		IRS NUMBER:				710872999
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		8-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-34705
		FILM NUMBER:		24695371

	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
</SEC-HEADER>
<DOCUMENT>
<TYPE>8-K
<SEQUENCE>1
<FILENAME>cdxs-20240228.htm
<DESCRIPTION>8-K
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US"><head><meta http-equiv="Content-Type" content="text/html"/>


<title>cdxs-20240228</title></head><body><div style="display:none"><ix:header><ix:hidden><ix:nonNumeric contextRef="c-1" name="dei:EntityCentralIndexKey" id="f-21">0001200375</ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="dei:AmendmentFlag" format="ixt:fixed-false" id="f-22">FALSE</ix:nonNumeric></ix:hidden><ix:references xml:lang="en-US"><link:schemaRef xlink:type="simple" xlink:href="cdxs-20240228.xsd"/></ix:references><ix:resources><xbrli:context id="c-1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001200375</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2024-02-28</xbrli:startDate><xbrli:endDate>2024-02-28</xbrli:endDate></xbrli:period></xbrli:context></ix:resources></ix:header></div><div id="i1901add5a73449de9866d30e1b28109b_1"></div><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:2pt;text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:16pt;font-weight:700;line-height:120%">UNITED STATES </span></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:16pt;font-weight:700;line-height:120%">SECURITIES AND EXCHANGE COMMISSION</span><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:18pt;font-weight:700;line-height:120%"> </span></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">Washington, D.C. 20549 </span></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:3pt;font-weight:400;line-height:120%">&#160;</span><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">_________________________________</span></div><div style="margin-top:3pt;text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:18pt;font-weight:700;line-height:120%">FORM <ix:nonNumeric contextRef="c-1" name="dei:DocumentType" id="f-1">8-K</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">_________________________________</span></div><div><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:3pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:3pt;text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:13pt;font-weight:700;line-height:120%">CURRENT REPORT </span></div><div style="margin-top:6pt;text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">PURSUANT TO SECTION 13 OR 15(d) OF THE </span></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">SECURITIES EXCHANGE ACT OF 1934 </span></div><div style="margin-top:6pt;text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">Date of report (Date of earliest event reported): <ix:nonNumeric contextRef="c-1" name="dei:DocumentPeriodEndDate" format="ixt:date-monthname-day-year-en" id="f-2">February&#160;28, 2024</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">_________________________________</span></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:3pt;font-weight:400;line-height:120%">&#160;</span><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:24pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:EntityRegistrantName" id="f-3">Codexis, Inc.</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Exact name of Registrant as Specified in its Charter) </span></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">_________________________________</span></div><div><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:3pt;font-weight:400;line-height:174%">&#160;</span></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:3pt;font-weight:400;line-height:174%">&#160;</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:91.228%"><tr><td style="width:1.0%"/><td style="width:32.874%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.601%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:30.951%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.921%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:30.953%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityIncorporationStateCountryCode" format="ixt-sec:stateprovnameen" id="f-4">Delaware</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityFileNumber" id="f-5">001-34705</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityTaxIdentificationNumber" id="f-6">71-0872999</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:174%">(State or other jurisdiction</span></div><div style="margin-bottom:0.5pt;text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:174%">of incorporation)</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:174%">(Commission</span></div><div style="margin-bottom:0.5pt;text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:174%">File Number)</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:174%">(I.R.S. Employer</span></div><div style="margin-bottom:0.5pt;text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:174%">Identification No.)</span></div></td></tr></table></div><div style="margin-top:6pt;text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:174%"><ix:nonNumeric contextRef="c-1" name="dei:EntityAddressAddressLine1" id="f-7">200 Penobscot Drive</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:174%"><ix:nonNumeric contextRef="c-1" name="dei:EntityAddressCityOrTown" id="f-8">Redwood City</ix:nonNumeric>, <ix:nonNumeric contextRef="c-1" name="dei:EntityAddressStateOrProvince" id="f-9">CA</ix:nonNumeric> <ix:nonNumeric contextRef="c-1" name="dei:EntityAddressPostalZipCode" id="f-10">94063</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:174%">(Address of Principal Executive Offices) (Zip Code) </span></div><div style="margin-top:6pt;text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:174%">(<ix:nonNumeric contextRef="c-1" name="dei:CityAreaCode" id="f-11">650</ix:nonNumeric>) <ix:nonNumeric contextRef="c-1" name="dei:LocalPhoneNumber" id="f-12">421-8100</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:174%">(Registrant's telephone number, including area code) </span></div><div style="text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">_________________________________</span></div><div><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:3pt;font-weight:400;line-height:174%">&#160;</span></div><div><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:3pt;font-weight:400;line-height:174%">&#160;</span><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:174%">Check the appropriate box below if the Form 8-K filing is intended to simultaneously satisfy the filing obligation of the registrant under any of the following provisions: </span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.929%"><tr><td style="width:1.0%"/><td style="width:1.916%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:95.884%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:WrittenCommunications" format="ixt-sec:boolballotbox" id="f-13">&#9744;</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Written communication pursuant to Rule 425 under the Securities Act (17 CFR 230.425)</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:SolicitingMaterial" format="ixt-sec:boolballotbox" id="f-14">&#9744;</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Soliciting material pursuant to Rule 14a-12 under the Exchange Act (17 CFR 240.14a-12)</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:PreCommencementTenderOffer" format="ixt-sec:boolballotbox" id="f-15">&#9744;</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act (17 CFR 240.14d-2(b))</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:PreCommencementIssuerTenderOffer" format="ixt-sec:boolballotbox" id="f-16">&#9744;</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act (17 CFR 240.13e-4(c))</span></td></tr></table></div><div><span><br/></span></div><div><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Securities registered pursuant to Section 12(b) of the Act:</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.538%"><tr><td style="width:1.0%"/><td style="width:39.107%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.393%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:21.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.393%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:34.510%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Title of Each Class</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:#333333;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Trading Symbol(s)</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:#333333;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Name of Each Exchange on Which Registered</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:Security12bTitle" id="f-17">Common Stock, par value $0.0001 per share</ix:nonNumeric></span></td><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:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:TradingSymbol" id="f-18">CDXS</ix:nonNumeric></span></td><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:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:SecurityExchangeName" format="ixt-sec:exchnameen" id="f-19">The Nasdaq Global Select Market</ix:nonNumeric></span></td></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"/></tr></table></div><div><span><br/></span></div><div><span><br/></span></div><div><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:4pt;font-weight:400;line-height:120%">&#160;</span><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant is an emerging growth company as defined in Rule 405 of the Securities Act of 1933 (&#167;230.405 of this chapter) or Rule 12b-2 of the Securities Exchange Act of 1934 (&#167;240.12b-2 of this chapter).</span></div><div><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Emerging growth company  </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:12pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:EntityEmergingGrowthCompany" format="ixt-sec:boolballotbox" id="f-20">&#9744;</ix:nonNumeric></span></div><div style="margin-top:6pt"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.  </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#9744;</span></div><div><span><br/></span></div><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div><div id="i1901add5a73449de9866d30e1b28109b_7"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:8pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:93.567%"><tr><td style="width:1.0%"/><td style="width:10.931%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:86.869%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Item&#160;2.02.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Results of Operations and Financial Condition</span></td></tr></table></div><div style="margin-bottom:8pt"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February&#160;28, 2024, Codexis, Inc. (the &#8220;Company&#8221;) announced its financial results for the fourth quarter and year ended December&#160;31, 2023. The full text of the press release issued in connection with the announcement is furnished as Exhibit 99.1 to this Current Report on Form 8-K. </span></div><div style="margin-bottom:8pt"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The information in Item 2.02 of this Current Report on Form 8-K (including Exhibit 99.1) shall not be deemed &#8220;filed&#8221; for purposes of Section&#160;18 of the Securities Exchange Act of 1934, as amended, or otherwise subject to the liabilities of that section, nor shall it be deemed incorporated by reference under the Securities Act of 1933, as amended, except as expressly set forth by specific reference in such a filing. </span></div><div><span><br/></span></div><div id="i1901add5a73449de9866d30e1b28109b_10"></div><div style="-sec-extract:summary;margin-bottom:8pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:93.567%"><tr><td style="width:1.0%"/><td style="width:10.931%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:86.869%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Item&#160;9.01.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Financial Statement and Exhibits</span></td></tr></table></div><div style="margin-bottom:8pt"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(d) Exhibits</span></div><div style="margin-bottom:8pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.076%"><tr><td style="width:1.0%"/><td style="width:12.906%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.004%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:83.690%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exhibit No.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Description</span></td></tr><tr style="height:5pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">99.1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="fy2023pressrelease991.htm">Press release dated February 2</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="fy2023pressrelease991.htm">8</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="fy2023pressrelease991.htm">, 202</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="fy2023pressrelease991.htm">4</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="fy2023pressrelease991.htm"> relating to the financial results for the fourth quarter and year ended December 31, 202</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="fy2023pressrelease991.htm">3</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="fy2023pressrelease991.htm">.</a></span></div></td></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">104</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cover Page Interactive Data File (embedded within the Inline XBRL document).</span></td></tr></table></div><div style="margin-bottom:8pt"><span><br/></span></div><div style="margin-bottom:8pt"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div><div id="i1901add5a73449de9866d30e1b28109b_13"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:8pt;text-align:center"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SIGNATURE </span></div><div style="margin-bottom:8pt"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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 hereunto duly authorized. </span></div><div style="margin-bottom:8pt"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Date: </span><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">February&#160;28, 2024</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"><tr><td style="width:1.0%"/><td style="width:50.209%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.758%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:39.733%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="6" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">CODEXIS, INC.</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#333333;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By:</span></td><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%">/s/ Sriram Ryali</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">Name:</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sriram Ryali</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">Title:</span></td><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%">Chief&#160;Financial Officer</span></td></tr></table></div><div style="margin-bottom:8pt;text-align:center"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-99.1
<SEQUENCE>2
<FILENAME>fy2023pressrelease991.htm
<DESCRIPTION>EX-99.1
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="i6496191b6e534bc3a66d80cce852d012_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:right;text-indent:36pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exhibit 99.1</font></div><div><img alt="imagea.jpg" src="imagea.jpg" style="height:87px;margin-bottom:5pt;vertical-align:text-bottom;width:318px"></div><div style="text-align:center"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:12pt;font-weight:700;line-height:112%">Codexis Reports Fourth Quarter and Fiscal Year 2023 Financial Results</font></div><div><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-style:italic;font-weight:400;line-height:112%">Anticipate 2024 Product Revenue Growth of at Least 10% vs. 2023 Excluding Enzyme Sales Related to PAXLOVID&#8482;</font></div><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-style:italic;font-weight:400;line-height:112%">Recently Announced Debt Financing Reinforces Strong Financial Position with Projected Runway Through Expected Positive Cash-flow Around End of 2026</font></div><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-style:italic;font-weight:400;line-height:112%">2024 to Focus on Securing Early Access Customers for ECO Synthesis&#8482; Manufacturing Platform, Launch of </font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:12pt;font-style:italic;font-weight:400;line-height:112%">     </font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-style:italic;font-weight:400;line-height:112%">Double-stranded RNA Ligase and Return to Growth for Pharmaceutical Manufacturing</font></div><div style="text-align:center"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:700;line-height:112%">REDWOOD CITY, Calif., February&#160;28, 2024</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%"> -- Codexis, Inc. (NASDAQ&#58; CDXS), a leading enzyme engineering company, today announced financial results for the fourth quarter and fiscal year ended December&#160;31, 2023, and provided a business update.</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8220;We are thrilled with how we closed out 2023, and it&#8217;s quite clear that the strategic decisions we made last year are translating into real momentum as we kick off 2024. We recently executed asset purchases for our lead biotherapeutics asset, CDX-7108, with Nestl&#233; Health Science, and our newly engineered dsDNA ligase with Roche. We also completed an out-licensing deal with Aldevron for our Codex&#174; HiCap RNA Polymerase to extend our commercial reach into the growing mRNA-based therapeutics market. Finally, we have made impressive technical progress with our ECO Synthesis&#8482; manufacturing platform since unveiling the technology last spring, culminating in the demonstration of gram-scale synthesis in December. In alignment with our prioritized strategy, we&#8217;re driving value from non-core assets by putting them in the hands of capable partners while we focus on unlocking the vast potential of the ECO Synthesis&#8482; manufacturing platform and returning our foundational, revenue-generating Pharmaceutical Manufacturing business to double-digit growth this year,&#8221; said Stephen Dilly, MBBS, PhD, Chief Executive Officer of Codexis. &#8220;Our recently announced non-dilutive financing with Innovatus further strengthens our financial position by both buffering our cash runway and providing capital to fund our planned ECO Synthesis&#8482; Innovation Lab to further test the ECO Synthesis&#8482; manufacturing platform in a non-GMP setting. We look forward to several upcoming milestones, including an important technical update at the TIDES USA annual meeting in May, as well as initiating early access customer testing of the ECO Synthesis&#8482; manufacturing platform and launching our dsRNA ligase program in the second half of this year.&#8221; </font></div><div><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:700;line-height:112%">Fourth Quarter and Recent Business Highlights</font></div><div style="text-align:justify"><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">In November 2023 at the TIDES Europe annual meeting, Codexis presented a technical update for its Enzyme-Catalyzed Oligonucleotide (ECO) Synthesis&#8482; manufacturing platform, which is in development to enable the commercial-scale production of ribonucleic acid interference (RNAi) therapeutics using an enzymatic route of synthesis. The presentation focused on the Company&#8217;s broader enzyme evolution and process development efforts for both the iterative nucleotide addition and the supply of critical nucleotide reagents. Driving for high volumetric productivity, data highlighted multiple, consecutive additions of 2&#8217;-modified RNA nucleotides to a growing oligonucleotide sequence, achieving significant coupling efficiencies with immobilized enzymes. Additionally, proof-of-concept was presented for an enzymatic &#8220;one-pot, two-step&#8221; phosphorylation cascade to manufacture nucleotide reagents for supply with the ECO Synthesis&#8482; manufacturing platform.</font></div><div style="text-align:justify"><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">In November 2023, Codexis announced the formation of its Strategic Advisory Board (SAB) to guide the Company&#8217;s strategic direction and offer valuable insights to inform the continued development of the ECO Synthesis&#8482; manufacturing platform. John Maraganore, PhD, founder and former Chief Executive Officer of Alnylam Pharmaceuticals, joined the SAB as its inaugural external member. In February 2024, the Company announced the addition of Masad Damha, PhD, and Jim Lalonde, PhD, to the SAB. Dr. Damha is the Distinguished James McGill Professor at McGill University and his research has been instrumental in </font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Page &#124; 1</font></div><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="padding-left:36pt"><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">the development of new therapeutic drugs based on RNA targeting and gene editing. Dr. Lalonde is a consultant focused on enzyme engineering and biotechnology companies and the former Senior Vice President of Research and Development at Codexis, where he oversaw the development of more than 50 enzymes for biotherapeutics, drug manufacturing, nutrition and molecular diagnostics applications.</font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">In December 2023, David Butler, PhD, Chief Technology Officer at Hongene Biotech Corporation, joined Dr. Maraganore and Codexis leadership for a virtual key opinion leader event focused on the ECO Synthesis&#8482; technology platform. Drs. Maraganore and Butler discussed the growth of RNAi therapeutics as a modality, the manufacturing landscape and the potential role of an enzymatic route of synthesis to enable the commercial-scale production of these therapeutics. A replay of the virtual event is accessible on the Investor Relations section of the Company&#8217;s website, </font><font style="color:#00acca;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;text-decoration:underline">located here</font><font style="color:#00acca;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">. </font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">In December 2023, Codexis </font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">achieved gram-scale synthesis with its ECO Synthesis&#8482; technology platform, demonstrating the preparative-scale manufacture of an oligonucleotide, composed of the modified nucleotide building blocks typically used in ribonucleic acid (RNA) therapeutics, under process-like conditions. Successful completion of this technical milestone enables Codexis engineers to initiate a comprehensive assessment of the purity profile for small interference RNA (siRNA) developed with the ECO Synthesis&#8482; manufacturing platform. Separately, data collected on process-related parameters provides foundational information for early models of the siRNA manufacturing process and allows the Company to open conversations with early access customers on their RNAi therapeutics manufacturing processes.</font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">In December 2023, the Company entered into an agreement with Aldevron, a global leader in the custom development and manufacture of plasmid DNA, RNA and proteins for the biotech industry, for the global exclusive license to Codexis&#8217; Codex&#174; HiCap RNA Polymerase. Under the terms of the deal, Aldevron will receive global manufacturing and commercialization rights to the Codex&#174; HiCap RNA Polymerase and Codexis will receive payments for near-term technical milestones, along with commercial milestones and sales-based royalties. </font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">In December 2023, Codexis and Nestl&#233; Health Science entered into a purchase agreement for CDX-7108, an investigational therapy for the potential treatment of exocrine pancreatic insufficiency (EPI). Under the terms of the agreement, Codexis will receive up to $45 million in potential milestone payments, including a $5 million upfront payment received in January 2024, as well as high single-digit net-sales-based royalties. Codexis will receive up to an additional $5 million if Nestl&#233; Health Science exercises an option to purchase two additional early-stage enzymes being developed for EPI.</font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">In February 2024, Codexis announced it had entered into a loan facility agreement with an affiliate of Innovatus Capital Partners, LLC, for up to $40 million. The non-dilutive capital reinforces the strength of Codexis&#8217; cash position, provides additional buffer on the Company&#8217;s projected cash runway and enables the accelerated development of certain elements of the ECO Synthesis&#8482; manufacturing platform, including the planned build-out of an ECO Synthesis&#8482; Innovation Lab.</font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">In February 2024, the Company announced it had entered into an exclusive, global license agreement with Roche for Codexis&#8217; newly engineered dsDNA ligase. Under the terms of the agreement, Codexis is eligible to </font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">receive upfront and technical milestone payments</font><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">. This deal supersedes the prior exclusive license on the evolved T4 DNA ligase. </font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:700;line-height:112%">Upcoming Milestones</font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">Codexis plans to present a technical update on the ECO Synthesis&#8482; manufacturing platform at the TIDES USA annual meeting in May 2024. During the event, the Company expects to highlight ECO Synthesis&#8482; platform data demonstrating the linear synthesis of a full-length oligonucleotide strand composed of modified nucleotides and representative of double-stranded siRNA therapeutics. </font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">Early access customer testing of the ECO Synthesis&#8482; manufacturing platform remains on track to initiate in the second half of 2024. Feedback from this program will provide valuable insights and could lead to initial </font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Page &#124; 2</font></div><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="padding-left:36pt"><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">commercial licensing opportunities in 2025, ahead of an anticipated full commercial launch of the platform in 2026. </font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">The Company anticipates making its newly engineered, double-stranded RNA (dsRNA) ligase, or ecoRNA</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8482; ligase, program</font><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%"> widely available for customers in the second half of 2024. As part of Codexis&#8217; initial market entry into the RNAi therapeutics space, the ecoRNA</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8482; </font><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">ligase program is designed to augment and improve traditional phosphoramidite chemistry by stitching together small, manufactured strands of RNA. In addition to enabling the more efficient use of existing facilities, the ecoRNA</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8482; </font><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">ligase program provides an opportunity to educate potential customers on the benefits of incorporating enzymatic solutions as a complement to their current manufacturing processes.</font></div><div style="text-align:justify"><font><br></font></div><div><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:700;line-height:112%">Fiscal Year 2023 Financial Highlights</font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">Total revenues, excluding enzyme sales related to PAXLOVID&#8482;, decreased by 2% to $62.0 million for fiscal year 2023 compared to $63.2 million for fiscal year 2022. Including enzyme sales related to PAXLOVID&#8482;, total revenues were $70.1 million for fiscal year 2023 compared to $138.6 million for fiscal year 2022. </font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">Product revenues, excluding enzyme sales related to PAXLOVID&#8482;, decreased by 16% to $34.8 million for fiscal year 2023 compared to $41.3 million for fiscal year 2022. Including enzyme sales related to PAXLOVID&#8482;, product revenues were $42.9 million for fiscal year 2023 compared to $116.7 million for fiscal year 2022.</font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">R&#38;D revenues for fiscal year 2023 were $27.2 million compared to $21.9 million for fiscal year 2022&#59; the increase was primarily due to higher license fees from Pfizer and Nestl&#233;, offset by lower R&#38;D fees from existing collaboration agreements. </font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:120%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:120%;padding-left:12.53pt">Product gross margin, excluding enzyme sales related to PAXLOVID&#8482;, was 63% for fiscal year 2023 compared to 52% for fiscal year 2022. The increase was largely due to deferred product revenue with no related costs in 2023 that was recognized due to the planned termination of an enzyme supply agreement with a food and feed customer, partially offset by variability in the product mix.</font><font style="background-color:#ffffff;color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:120%"> </font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:120%">Including enzyme sales related to PAXLOVID&#8482;, product gross margin for fiscal year 2023 was 70% compared to 67% for fiscal year 2022. </font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">R&#38;D expenses for fiscal year 2023 were $58.9 million compared to $80.1 million for fiscal year 2022&#59; the decrease was primarily driven by a decrease in costs associated with lower headcount, a decrease in outside services related to manufacturing and regulatory expense, lower lab supplies expense, and a decrease in lease costs due to assignment of the San Carlos facility lease. </font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">Selling, General &#38; Administrative expenses for fiscal year 2023 were $53.3 million compared to $52.2 million for fiscal year 2022&#59; the increase was primarily due to higher payroll-based expenses and higher fees for outside services, partially offset by lower stock-based compensation costs.</font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">The net loss for fiscal year 2023 was $76.2 million, or $1.12 per share, compared to a net loss of $33.6 million, or $0.51 per share, for the fiscal year 2022. Excluding enzyme sales related to PAXLOVID&#8482;, net loss for the fiscal year 2023 would have been $84.4&#160;million, or $1.24 per share. Further excluding all charges related to the restructuring and non-cash impairment charges, net loss for fiscal year 2023 was $50.8 million, or $0.74 per share.</font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">As of December&#160;31, 2023, the Company had pro forma cash and cash equivalents of $70.1&#160;million, including cash and cash equivalents of approximately $65.1 million as of December&#160;31, 2023, and a $5.0 million upfront payment received in January 2024 related to the recent </font><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">Nestl&#233; </font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">transaction. In addition, the Company retained approximately $29.2 million in net proceeds from a previously announced debt financing in February 2024.  </font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:700;line-height:112%">Fourth Quarter 2023 Financial Highlights</font></div><div><font><br></font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Page &#124; 3</font></div><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">Total revenues, excluding enzyme sales related to PAXLOVID&#8482;, increased by 42% to $18.4&#160;million for fourth quarter 2023 compared to $13.0&#160;million in fourth quarter 2022. Including enzyme sales related to PAXLOVID&#8482;, total revenues were $26.6 million in fourth quarter 2023 compared to $30.4 million in fourth quarter 2022. </font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">Product revenues, excluding enzyme sales related to PAXLOVID&#8482;, increased by 69% to $9.9 million for fourth quarter 2023 compared to $5.9 million in fourth quarter 2022. Including enzyme sales related to PAXLOVID&#8482;, product revenues were $18.1&#160;million in fourth quarter 2023 compared to $23.3&#160;million in fourth quarter 2022.</font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">R&#38;D revenues for fourth quarter 2023 were $8.5&#160;million compared to $7.1&#160;million in fourth quarter 2022&#59; the increase was primarily due to higher license fees, offset by lower R&#38;D fees from existing collaboration agreements. </font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">Product gross margin, excluding enzyme sales related to PAXLOVID&#8482;, was 71% for fourth quarter 2023 compared to 44% in fourth quarter 2022. The increase was largely due to increased sales of higher margin products. Including enzyme sales related to PAXLOVID&#8482;, product gross margin for fourth quarter 2023 was 84% compared to 64% in fourth quarter 2022. </font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">R&#38;D expenses for fourth quarter 2023 were $11.2 million compared to $19.7 million in fourth quarter 2022&#59; the decrease was primarily driven by a decrease in costs associated with lower headcount, a decrease in outside services related to manufacturing and regulatory expenses and lower lab supply.</font><font style="background-color:#ffffff;color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%"> </font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">Selling, General &#38; Administrative expenses for fourth quarter 2023 were $12.2 million compared to $12.3 million in fourth quarter 2022&#59; the decrease was primarily due to lower payroll-based expenses and stock-based compensation costs.</font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">The net loss for fourth quarter 2023 was $7.2 million, or $0.10 per share, compared to a net loss of $12.6 million, or $0.19 per share, for fourth quarter 2022. Excluding enzyme sales related to PAXLOVID&#8482;, net loss for fourth quarter 2023 would have been $15.3&#160;million, or $0.22 per share.</font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">Excluding all non-cash impairment charges, net income for fourth quarter 2023 was $1.1&#160;million, or $0.02 per share.</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:700;line-height:112%">2024 Financial Guidance</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">Codexis is introducing financial guidance for 2024, as follows&#58;</font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">Product revenues are expected to be in the range of $38 million to $42 million, excluding revenue related to PAXLOVID&#8482;.</font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">R&#38;D revenues are expected to be in the range of $18 million to $22 million.</font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">Gross margin on product revenue is expected to be in the range of 58% to 63%, excluding revenue related to PAXLOVID&#8482;.</font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8226;</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;padding-left:12.53pt">In addition, Codexis expects that its existing cash and cash equivalents will be sufficient to fund its planned operations through positive cash flow, expected around the end of 2026.</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:700;line-height:112%">Conference Call and Webcast</font></div><div><font><br></font></div><div><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">Codexis will hold a conference call and webcast today beginning at 4&#58;30 p.m. ET. A live webcast and slide presentation to accompany the conference call will be available on the Investors section of the Company website at </font><font style="color:#00acca;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;text-decoration:underline">www.codexis.com&#47;investors</font><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">. The conference call dial-in numbers are 877-705-2976 for domestic callers and 201- 689-8798 for international callers.</font></div><div><font><br></font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Page &#124; 4</font></div><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">A telephone recording of the call will be available for 48 hours beginning approximately two hours after the completion of the call by dialing 877-660-6853 for domestic callers or 201-612-7415 for international callers. Please use the passcode 13726635 to access the recording. A webcast replay will be available on the Investors section of the Company website for 90 days, beginning approximately two hours after the completion of the call.</font></div><div><font><br></font></div><div><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:700;line-height:112%">About Codexis</font></div><div><font><br></font></div><div><font style="background-color:#ffffff;color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">Codexis is a leading enzyme engineering company leveraging its proprietary CodeEvolver&#174; technology platform to discover, develop and enhance novel, high-performance enzymes and other classes of proteins. Codexis enzymes solve for real-world challenges associated with small molecule pharmaceuticals manufacturing and nucleic acid synthesis. The Company is currently developing its proprietary ECO Synthesis&#8482; manufacturing platform to enable the scaled manufacture of RNAi therapeutics through an enzymatic route. Codexis&#8217; unique enzymes can drive improvements such as higher yields, reduced energy usage and waste generation, improved efficiency in manufacturing and greater sensitivity in genomic and diagnostic applications. For more information, visit </font><font style="background-color:#ffffff;color:#00acca;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;text-decoration:underline">https&#58;&#47;&#47;www.codexis.com</font><font style="background-color:#ffffff;color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">.</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:700;line-height:112%">Forward-Looking Statements</font></div><div><font><br></font></div><div><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">This press release contains forward-looking statements within the meaning of Section 27A of the Securities Act of 1933, as amended, and Section 21E of the Securities Exchange Act of 1934, as amended. In some cases, you can identify forward-looking statements by terminology such as &#8220;aim,&#8221; &#8220;anticipate,&#8221; &#8220;assume,&#8221; &#8220;believe,&#8221; &#8220;contemplate,&#8221; &#8220;continue,&#8221; &#8220;could,&#8221; &#8220;design,&#8221; &#8220;due,&#8221; &#8220;estimate,&#8221; &#8220;expect,&#8221; &#8220;goal,&#8221; &#8220;intend,&#8221; &#8220;may,&#8221; &#8220;objective,&#8221; &#8220;plan,&#8221; &#8220;positioned,&#8221; &#8220;potential,&#8221; &#8220;predict,&#8221; &#8220;seek,&#8221; &#8220;should,&#8221; &#8220;suggest,&#8221; &#8220;target,&#8221; &#8220;on track,&#8221; &#8220;will,&#8221; &#8220;would&#8221; and other similar expressions that are predictions of or indicate future events and future trends, or the negative of these terms or other comparable terminology. To the extent that statements contained in this press release are not descriptions of historical facts, they are forward-looking statements reflecting the current beliefs and expectations of management, including but not limited to statements regarding anticipated milestones, including product launches, technical milestones, data releases and public announcements related thereto&#59; whether Codexis will be able to, and the timing of it entering pre-commercial testing of its ECO Synthesis&#8482; manufacturing platform with select customers in 2024, entering into initial commercial licensing opportunities in 2025 and the subsequent expected commercial launch in 2026&#59; Codexis&#8217; expectations regarding 2024 product revenues, R&#38;D revenues and gross margin on product revenue, as well as its ability to fund planned operations through the end of 2026&#59; Codexis&#8217; ability to achieve positive cash flow around the end of 2026&#59; Codexis&#8217; expectation that its newly engineered double-stranded ecoRNA</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8482; </font><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">ligase program will be widely available for customers in 2024 and the potential of its ecoRNA</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#8482; </font><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">ligase program to, among other things, improve traditional phosphoramidite chemistry and enable more efficient use of existing manufacturing infrastructure&#59; </font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">Codexis&#8217; expectation that its Pharmaceutical Manufacturing business will return to growth in 2024&#59; the anticipated use of proceeds under Codexis&#8217; new loan facility with Innovatus, including the planned ECO Synthesis&#8482; Innovation Lab&#59; </font><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">the potential of the ECO Synthesis&#8482; manufacturing platform, including its ability to be broadly utilized and</font><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%"> to enable commercial-scale manufacture of RNAi therapeutics through an enzymatic route</font><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">&#59; and expectations regarding future demand for siRNA and dsRNA. You should not place undue reliance on these forward-looking statements because they involve known and unknown risks, uncertainties and other factors that are, in some cases, beyond Codexis&#8217; control and that could materially affect actual results. Factors that could materially affect actual results include, among others&#58; Codexis&#8217; dependence on its licensees and collaborators&#59; if any of its collaborators terminate their development programs under their respective license agreements with Codexis&#59; Codexis may need additional capital in the future in order to expand its business&#59; if Codexis is unable to successfully develop new technology such as its ECO Synthesis&#8482; manufacturing platform and dsRNA&#59; Codexis&#8217; dependence on a limited number of products and customers, and potential adverse effects to Codexis&#8217; business if its customers&#8217; products are not received well in the markets&#59; if Codexis is unable to develop and commercialize new products for its target markets&#59; if competitors and potential competitors who have greater resources and experience than Codexis develop products and technologies that make Codexis&#8217; products and technologies obsolete&#59; Codexis&#8217; ability to comply with debt covenants under its loan facility&#59; if Codexis is unable to accurately forecast financial and operational performance&#59; and market and economic conditions may negatively impact Codexis business, financial condition and share price. Additional information about factors that could materially affect actual results can be found in Codexis&#8217; Annual Report on Form 10-K that will be filed with the Securities and Exchange Commission (SEC) on or about the date hereof, including under the caption &#8220;Risk Factors,&#8221; and in Codexis&#8217; other periodic reports filed with the SEC. Codexis expressly disclaims any intent or obligation to update these forward-looking statements, </font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Page &#124; 5</font></div><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">except as required by law. Codexis&#8217; results for the quarter and year ended December 31, 2023, are not necessarily indicative of our operating results for any future periods.</font></div><div><font><br></font></div><div><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:700;line-height:112%">For More Information</font></div><div><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;text-decoration:underline">Investor Contact</font></div><div><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">Carrie McKim</font></div><div><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">(336) 608-9706</font></div><div><font style="color:#4bacc6;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;text-decoration:underline">ir&#64;codexis.com</font></div><div><font><br></font></div><div><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;text-decoration:underline">Media Contact</font></div><div><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">Lauren Musto</font></div><div><font style="color:#1e1d1d;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%">(650) 421-8205</font></div><div><font style="color:#4bacc6;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:112%;text-decoration:underline">media&#64;codexis.com</font></div><div><font><br></font></div><div style="text-align:center"><font><br></font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Page &#124; 6</font></div><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="margin-top:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">Codexis, Inc.</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">Condensed Consolidated Statements of Operations</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">(unaudited)</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">(In Thousands, Except Per Share Amounts)</font></div><div><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</font><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.245%"><tr><td style="width:1.0%"></td><td style="width:39.822%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.334%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.739%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.036%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.337%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended December 31,</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Year Ended December 31,</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</font></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</font></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenues&#58;</font></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Product revenue</font></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,099&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,300&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,906&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">116,676&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development revenue</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,462&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,075&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,237&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,914&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</font></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,561&#160;</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,375&#160;</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70,143&#160;</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">138,590&#160;</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Costs and operating expenses&#58;</font></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of product revenue</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,861&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,456&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,809&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,033&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,234&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,689&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,885&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">80,099&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general and administrative</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,184&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,314&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">53,250&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,172&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restructuring charges</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,167&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,284&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,167&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asset impairment and other charges</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,984&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total costs and operating expenses</font></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,279&#160;</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,626&#160;</font></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">138,212&#160;</font></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">173,471&#160;</font></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss from operations</font></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">282&#160;</font></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13,251)</font></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(68,069)</font></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(34,881)</font></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest income</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">906&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">823&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,172&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,441&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other income (expense), net</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8,345)</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26)</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12,274)</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">124&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss before income taxes</font></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,157)</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12,454)</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(76,171)</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(33,316)</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision for income taxes</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">151&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">276&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,192)</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12,605)</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(76,240)</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(33,592)</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss per share, basic and diluted</font></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.10)</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.19)</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1.12)</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.51)</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average common stock shares used in computing net loss per share, basic and diluted</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,500&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,558&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">68,131&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,344&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div><font><br></font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Page &#124; 7</font></div><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">Codexis, Inc.</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">Condensed Consolidated Balance Sheets</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">(unaudited)</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">(In Thousands)</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Calibri',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%">&#160;</font><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.830%"><tr><td style="width:1.0%"></td><td style="width:66.503%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.728%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.539%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.730%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December&#160;31,</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</font></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Assets</font></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current assets&#58;</font></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents</font></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,116&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">113,984&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted cash, current</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">519&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">521&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Financial assets&#58;</font></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 31pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,036&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,904&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 31pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contract assets</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">815&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,116&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 31pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unbilled receivables</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,142&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,016&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 43pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total financial assets</font></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,993&#160;</font></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,036&#160;</font></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 55pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less&#58; allowances</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(65)</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(163)</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 43pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total financial assets, net</font></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,928&#160;</font></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40,873&#160;</font></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inventories</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,685&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,029&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,218&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,487&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total current assets</font></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">93,466&#160;</font></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">162,894&#160;</font></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted cash</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,062&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,521&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Investment in non-marketable equity securities</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,700&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,510&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Right-of-use assets - Operating leases, net</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,137&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39,263&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment, net</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,487&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,614&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,463&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,241&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other non-current assets</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,246&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">350&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total assets</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">136,561&#160;</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">250,393&#160;</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liabilities and Stockholders&#8217; Equity</font></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current liabilities&#58;</font></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable</font></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,947&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,246&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued compensation</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,246&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,453&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other accrued liabilities</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,735&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,279&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:middle"><font 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</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,781&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,360&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,121&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,728&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total current liabilities</font></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,830&#160;</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,066&#160;</font></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue, net of current portion</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">640&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,881&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><font 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</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,243&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,278&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other long-term liabilities</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,233&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,371&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total liabilities</font></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,946&#160;</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">105,596&#160;</font></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stockholders&#8217; equity&#58;</font></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><div style="padding-left:9pt;text-indent:-9pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Common stock </font></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6&#160;</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Additional paid-in capital</font></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">584,138&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">566,081&#160;</font></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accumulated deficit</font></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(497,530)</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(421,290)</font></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total stockholders&#8217; equity</font></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">86,615&#160;</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">144,797&#160;</font></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total liabilities and stockholders&#8217; equity</font></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">136,561&#160;</font></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</font></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:middle"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">250,393&#160;</font></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Page &#124; 8</font></div><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>3
<FILENAME>cdxs-20240228.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2024 Workiva-->
<!--r:2fc08b53-b6e7-4fd0-af51-ac44fca9a1be,g:90492384-a5ad-4e51-8d6e-8064f55aa9b3-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:cdxs="http://www.codexis.com/20240228" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.codexis.com/20240228">
  <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://www.xbrl.org/2003/xlink-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd"/>
  <xs:annotation>
    <xs:appinfo>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="cdxs-20240228_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="cdxs-20240228_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
      <link:roleType id="Cover" roleURI="http://www.codexis.com/role/Cover">
        <link:definition>0000001 - Document - Cover</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </xs:appinfo>
  </xs:annotation>
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>4
<FILENAME>cdxs-20240228_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2024 Workiva-->
<!--r:2fc08b53-b6e7-4fd0-af51-ac44fca9a1be,g:90492384-a5ad-4e51-8d6e-8064f55aa9b3-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel"/>
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <link:label id="lab_dei_SecurityExchangeName_fa553815-cedf-4efb-aa70-60b40534b4ef_terseLabel_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:label id="lab_dei_SecurityExchangeName_label_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_SecurityExchangeName" xlink:to="lab_dei_SecurityExchangeName" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_Security12bTitle_e6c1a1e1-f00c-4d03-aed9-af7978daf3ee_terseLabel_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:label id="lab_dei_Security12bTitle_label_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_Security12bTitle" xlink:to="lab_dei_Security12bTitle" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_WrittenCommunications_3377c705-9047-4e15-9d27-da17869e6368_terseLabel_en-US" xlink:label="lab_dei_WrittenCommunications" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Written Communications</link:label>
    <link:label id="lab_dei_WrittenCommunications_label_en-US" xlink:label="lab_dei_WrittenCommunications" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Written Communications</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_WrittenCommunications" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_WrittenCommunications"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_WrittenCommunications" xlink:to="lab_dei_WrittenCommunications" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_LocalPhoneNumber_b0be3b60-1130-48a7-9dee-b874ed161d65_terseLabel_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:label id="lab_dei_LocalPhoneNumber_label_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_LocalPhoneNumber" xlink:to="lab_dei_LocalPhoneNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_TradingSymbol_b00da340-d91d-4b60-b976-a665c185abbb_terseLabel_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:label id="lab_dei_TradingSymbol_label_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_TradingSymbol" xlink:to="lab_dei_TradingSymbol" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_9181907f-7421-4ac4-8298-e3791b7605de_terseLabel_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_label_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityIncorporationStateCountryCode" xlink:to="lab_dei_EntityIncorporationStateCountryCode" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressStateOrProvince_30b72b4a-5134-4281-957a-5a8bef6ace2e_terseLabel_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:label id="lab_dei_EntityAddressStateOrProvince_label_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressStateOrProvince" xlink:to="lab_dei_EntityAddressStateOrProvince" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_PreCommencementIssuerTenderOffer_bafb8f8a-2ab1-427b-917c-53c79ffc8c40_terseLabel_en-US" xlink:label="lab_dei_PreCommencementIssuerTenderOffer" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pre-commencement Issuer Tender Offer</link:label>
    <link:label id="lab_dei_PreCommencementIssuerTenderOffer_label_en-US" xlink:label="lab_dei_PreCommencementIssuerTenderOffer" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pre-commencement Issuer Tender Offer</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_PreCommencementIssuerTenderOffer" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_PreCommencementIssuerTenderOffer" xlink:to="lab_dei_PreCommencementIssuerTenderOffer" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentPeriodEndDate_12721e97-7a97-47a9-bbb8-cae8cd37f04f_terseLabel_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:label id="lab_dei_DocumentPeriodEndDate_label_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentPeriodEndDate" xlink:to="lab_dei_DocumentPeriodEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CoverAbstract_label_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cover [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CoverAbstract" xlink:to="lab_dei_CoverAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_9451e5ca-6b74-428c-9594-f59523cb8333_terseLabel_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_label_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityEmergingGrowthCompany" xlink:to="lab_dei_EntityEmergingGrowthCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_PreCommencementTenderOffer_8b470521-2794-4e52-814d-df918a68e2df_terseLabel_en-US" xlink:label="lab_dei_PreCommencementTenderOffer" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pre-commencement Tender Offer</link:label>
    <link:label id="lab_dei_PreCommencementTenderOffer_label_en-US" xlink:label="lab_dei_PreCommencementTenderOffer" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pre-commencement Tender Offer</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_PreCommencementTenderOffer" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementTenderOffer"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_PreCommencementTenderOffer" xlink:to="lab_dei_PreCommencementTenderOffer" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_SolicitingMaterial_31bb1ea9-f8c0-4071-8e18-c1b51fd9efe6_terseLabel_en-US" xlink:label="lab_dei_SolicitingMaterial" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Soliciting Material</link:label>
    <link:label id="lab_dei_SolicitingMaterial_label_en-US" xlink:label="lab_dei_SolicitingMaterial" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Soliciting Material</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SolicitingMaterial" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SolicitingMaterial"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_SolicitingMaterial" xlink:to="lab_dei_SolicitingMaterial" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CityAreaCode_e828dc91-98db-4fd2-91a6-bfb173e51b4a_terseLabel_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:label id="lab_dei_CityAreaCode_label_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CityAreaCode" xlink:to="lab_dei_CityAreaCode" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressPostalZipCode_1ed45617-8438-4b03-9c65-64aeec7f39e1_terseLabel_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:label id="lab_dei_EntityAddressPostalZipCode_label_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressPostalZipCode" xlink:to="lab_dei_EntityAddressPostalZipCode" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentType_e0cc9a76-c2f1-4c07-b146-ced853173c30_terseLabel_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:label id="lab_dei_DocumentType_label_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentType" xlink:to="lab_dei_DocumentType" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AmendmentFlag_340e88ab-9da9-4f08-ad65-6b1703c3dc81_terseLabel_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:label id="lab_dei_AmendmentFlag_label_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AmendmentFlag" xlink:to="lab_dei_AmendmentFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCentralIndexKey_433fe0af-244d-41ca-b224-5a299118c796_terseLabel_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:label id="lab_dei_EntityCentralIndexKey_label_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCentralIndexKey" xlink:to="lab_dei_EntityCentralIndexKey" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFileNumber_33ab1da9-4c6b-46d6-bed1-8f9fa6b055df_terseLabel_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:label id="lab_dei_EntityFileNumber_label_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFileNumber" xlink:to="lab_dei_EntityFileNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressCityOrTown_43e4ac32-e432-4e45-bcb6-35177bcb302c_terseLabel_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:label id="lab_dei_EntityAddressCityOrTown_label_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressCityOrTown" xlink:to="lab_dei_EntityAddressCityOrTown" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_7f9a8f4a-d10f-43d1-b49c-e73487d00a8e_terseLabel_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_label_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityTaxIdentificationNumber" xlink:to="lab_dei_EntityTaxIdentificationNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressAddressLine1_2991a3f3-52a5-40d0-9489-3b9c630845ba_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:label id="lab_dei_EntityAddressAddressLine1_label_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine1" xlink:to="lab_dei_EntityAddressAddressLine1" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityRegistrantName_08db2703-b43f-40d8-b84d-07b392f3bb29_terseLabel_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:label id="lab_dei_EntityRegistrantName_label_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityRegistrantName" xlink:to="lab_dei_EntityRegistrantName" xlink:type="arc" order="1"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>5
<FILENAME>cdxs-20240228_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2024 Workiva-->
<!--r:2fc08b53-b6e7-4fd0-af51-ac44fca9a1be,g:90492384-a5ad-4e51-8d6e-8064f55aa9b3-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.codexis.com/role/Cover" xlink:type="simple" xlink:href="cdxs-20240228.xsd#Cover"/>
  <link:presentationLink xlink:role="http://www.codexis.com/role/Cover" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract_6876bda2-45a1-4411-bfbf-634c6e61e65f" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType_21b9bc77-9016-4251-b54a-2d6767c38ae7" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6876bda2-45a1-4411-bfbf-634c6e61e65f" xlink:to="loc_dei_DocumentType_21b9bc77-9016-4251-b54a-2d6767c38ae7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate_d1bfaaae-aa7d-4c61-b689-6e52e6b4b113" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6876bda2-45a1-4411-bfbf-634c6e61e65f" xlink:to="loc_dei_DocumentPeriodEndDate_d1bfaaae-aa7d-4c61-b689-6e52e6b4b113" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName_6686cbd8-fcea-4836-93f2-96ad9ff4c4ea" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6876bda2-45a1-4411-bfbf-634c6e61e65f" xlink:to="loc_dei_EntityRegistrantName_6686cbd8-fcea-4836-93f2-96ad9ff4c4ea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode_3cdb138f-2104-4110-bba7-cd0e203e3078" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6876bda2-45a1-4411-bfbf-634c6e61e65f" xlink:to="loc_dei_EntityIncorporationStateCountryCode_3cdb138f-2104-4110-bba7-cd0e203e3078" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber_1a108cc3-075c-418d-9a78-6db64c667264" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6876bda2-45a1-4411-bfbf-634c6e61e65f" xlink:to="loc_dei_EntityFileNumber_1a108cc3-075c-418d-9a78-6db64c667264" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber_6ec9a880-14b7-4ac0-adb7-f79dcce11d3f" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6876bda2-45a1-4411-bfbf-634c6e61e65f" xlink:to="loc_dei_EntityTaxIdentificationNumber_6ec9a880-14b7-4ac0-adb7-f79dcce11d3f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1_14756f84-1e8a-4adc-8b7c-d017b6ddf939" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6876bda2-45a1-4411-bfbf-634c6e61e65f" xlink:to="loc_dei_EntityAddressAddressLine1_14756f84-1e8a-4adc-8b7c-d017b6ddf939" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown_aea7ca1e-b97a-42af-ad8e-773f0c34c180" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6876bda2-45a1-4411-bfbf-634c6e61e65f" xlink:to="loc_dei_EntityAddressCityOrTown_aea7ca1e-b97a-42af-ad8e-773f0c34c180" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince_d6889c27-3554-49e9-89c9-a0144963d811" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6876bda2-45a1-4411-bfbf-634c6e61e65f" xlink:to="loc_dei_EntityAddressStateOrProvince_d6889c27-3554-49e9-89c9-a0144963d811" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode_387198a5-6f15-4034-b30e-1f0addfb0762" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6876bda2-45a1-4411-bfbf-634c6e61e65f" xlink:to="loc_dei_EntityAddressPostalZipCode_387198a5-6f15-4034-b30e-1f0addfb0762" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode_90a3f133-c0ec-4ab5-80e8-033f240d34d2" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6876bda2-45a1-4411-bfbf-634c6e61e65f" xlink:to="loc_dei_CityAreaCode_90a3f133-c0ec-4ab5-80e8-033f240d34d2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber_78abca3b-2f69-4455-9c25-541fafa3aa94" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6876bda2-45a1-4411-bfbf-634c6e61e65f" xlink:to="loc_dei_LocalPhoneNumber_78abca3b-2f69-4455-9c25-541fafa3aa94" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_WrittenCommunications_e70d3495-12b7-49fd-a1ba-7669cc278378" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_WrittenCommunications"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6876bda2-45a1-4411-bfbf-634c6e61e65f" xlink:to="loc_dei_WrittenCommunications_e70d3495-12b7-49fd-a1ba-7669cc278378" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SolicitingMaterial_6af14059-2251-4a53-b015-4e4ab1a80b17" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SolicitingMaterial"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6876bda2-45a1-4411-bfbf-634c6e61e65f" xlink:to="loc_dei_SolicitingMaterial_6af14059-2251-4a53-b015-4e4ab1a80b17" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_PreCommencementTenderOffer_92cceaed-dd65-4fec-b1e8-893e9d142408" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementTenderOffer"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6876bda2-45a1-4411-bfbf-634c6e61e65f" xlink:to="loc_dei_PreCommencementTenderOffer_92cceaed-dd65-4fec-b1e8-893e9d142408" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_PreCommencementIssuerTenderOffer_b5163310-3344-44ef-802b-a30c86820283" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6876bda2-45a1-4411-bfbf-634c6e61e65f" xlink:to="loc_dei_PreCommencementIssuerTenderOffer_b5163310-3344-44ef-802b-a30c86820283" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle_50aa938b-5032-4f84-8ca5-50d2edbe7c93" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6876bda2-45a1-4411-bfbf-634c6e61e65f" xlink:to="loc_dei_Security12bTitle_50aa938b-5032-4f84-8ca5-50d2edbe7c93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol_dc86051b-498e-4327-992b-0861563d62bf" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6876bda2-45a1-4411-bfbf-634c6e61e65f" xlink:to="loc_dei_TradingSymbol_dc86051b-498e-4327-992b-0861563d62bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName_1cb06589-8d02-4e23-be47-21b19091a8db" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6876bda2-45a1-4411-bfbf-634c6e61e65f" xlink:to="loc_dei_SecurityExchangeName_1cb06589-8d02-4e23-be47-21b19091a8db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany_fc383510-ad2d-4972-8ba8-2229e91eab7a" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6876bda2-45a1-4411-bfbf-634c6e61e65f" xlink:to="loc_dei_EntityEmergingGrowthCompany_fc383510-ad2d-4972-8ba8-2229e91eab7a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey_793f641e-9c2b-42fe-9641-5310f9271696" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6876bda2-45a1-4411-bfbf-634c6e61e65f" xlink:to="loc_dei_EntityCentralIndexKey_793f641e-9c2b-42fe-9641-5310f9271696" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag_a03e14f7-8ee2-4f8b-8795-8fdca9490c6d" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6876bda2-45a1-4411-bfbf-634c6e61e65f" xlink:to="loc_dei_AmendmentFlag_a03e14f7-8ee2-4f8b-8795-8fdca9490c6d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>6
<FILENAME>imagea.jpg
<TEXT>
begin 644 imagea.jpg
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
M%"E3^!@]8L!9,Z0BOI#&SO/EO7W1VUZF<PJ[_$TI=B&-C>^!T-TAI\.S'H%
M=OQ:'2D9I8CX(O5XLTJB*37HJ).CBZHL?$Q[WX;(C%9)*@H:P616>M0?KG_
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
9,@SC_P&AZ9=(I$\ZWP    !)14Y$KD)@@@$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>7
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140399516742976">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cover<br></strong></div></th>
<th class="th"><div>Feb. 28, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">8-K<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Feb. 28,  2024<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">Codexis, Inc.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-34705<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">71-0872999<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">200 Penobscot Drive<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Redwood City<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">CA<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">94063<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">650<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">421-8100<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_WrittenCommunications', window );">Written Communications</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SolicitingMaterial', window );">Soliciting Material</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_PreCommencementTenderOffer', window );">Pre-commencement Tender Offer</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_PreCommencementIssuerTenderOffer', window );">Pre-commencement Issuer Tender Offer</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock, par value $0.0001 per share<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">CDXS<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001200375<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_PreCommencementIssuerTenderOffer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 13e<br> -Subsection 4c<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_PreCommencementIssuerTenderOffer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_PreCommencementTenderOffer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 14d<br> -Subsection 2b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_PreCommencementTenderOffer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SolicitingMaterial">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Section 14a<br> -Number 240<br> -Subsection 12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SolicitingMaterial</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_WrittenCommunications">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 425<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_WrittenCommunications</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>9
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( "6!7%@'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 #OGD<Z,STA)8*O4'J@)I9GF
M3?X.CD:?<@X>K7A.YNJQ<&4GPZ4A!0W_<FW>J=0U[R;UEA_6\#MI7E!+ P04
M    "  E@5Q8BLF.,>X    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+!
M2L0P$(9?17)O)\V*:.CFHGA2$%Q0O(5D=C=LDX9DI-VWMXV[740?P&-F_GSS
M#4QKHC1]PI?41TSD,%^-O@M9FKAF>Z(H ;+9H]>YGA)A:F[[Y#5-S[2#J,U!
M[Q $YS?@D;35I&$&5G$A,M5:(TU"37TZX:U9\/$S=05F#6"''@-E:.H&F)HG
MQN/8M7 !S##"Y/-W >U"+-4_L:4#[)0<LUM2PS#4PZKDIAT:>']^>BWK5BYD
MTL'@]"L[2<>(:W:>_+:Z?]@\,B6XN*ZXJ,3M1C22W\F&?\RN/_PNPKZW;NO^
ML?%94+7PZR[4%U!+ P04    "  E@5Q8F5R<(Q &  "<)P  $P   'AL+W1H
M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03<VEVV[29A.U.
M'X416(UL>621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X
M8-DOV]:[MR_>X%<R)!%!,!FGK_# "J5,7K5::0##.'W)$Q+#W(*+"$MX%,O6
M7.!;&B\CUNJTV]U6A&ELH1A'9&!]7BQH0-!445IO7R"TY1\S^!7+5(UEHP$3
M5T$FN8BT\OELQ?S:WCYES^DZ'3*!;C ;6"!_SF^GY$Y:B.%4PL3 :F<_5FO'
MT=)(@(+)?90%NDGVH],5"#(-.SJ=6,YV?/;$[9^,RMIT-&T:X./Q>#BVR]*+
M<!P$X%&[GL*=]&R_I$$)M*-IT&38]MJND::JC5-/T_=]W^N;:)P*C5M/TVMW
MW=..B<:MT'@-OO%/A\.NB<:KT'3K:28G_:YKI.D6:$)&X^MZ$A6UY4#3( !8
M<';6S-(#EEXI^G64&MD=N]U!7/!8[CF)$?[&Q036:=(9EC1&<IV0!0X -\31
M3%!\KT&VBN#"DM)<D-;/*;50&@B:R('U1X(AQ=RO_?67N\FD,WJ=?3K.:Y1_
M::L!I^V[F\^3_'/HY)^GD]=-0LYPO"P)\?LC6V&')VX[$W(Z'&="?,_V]I&E
M)3+/[_D*ZTX\9Q]6EK!=S\_DGHQR([O=]EA]]D]';B/7J<"S(M>41B1%G\@M
MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7
MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V<
M/!T3$LV4"P9!AI<D)A*I.7Y-2!/^*Z7:_IS30/"4+R3Z2I&/:;,CIW0FS>@S
M&L%&KQMUAVC2/'K^!?F<-0H<D1L= F<;LT8AA&F[\!ZO)(Z:K<(1*T(^8ADV
M&G*U%H&V<:F$8%H2QM%X3M*T$?Q9K#63/F#([,V1=<[6D0X1DEXW0CYBSHN0
M$;\>ACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0'
MHYI9";V$5FJ?JH<T/J@>,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y
M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RS<C'5*^3*=@Y
MG\#L_6@^GO'M^MDDA*^:62TC%I!+@;-!)+C\B\KP*L0)Z&1;)0G+5--E-XH2
MGD(;;NE3]4J5U^6ON2BX/%ODZ:^A=#XLS_D\7^>TS0LS0[=R2^JVE+ZU)CA*
M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D*
MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-#
MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B
M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P
MOFH]M!5.S_Y9K<B?#!%.%@L22&.4%Z9*HO,94[[G*TG$53B_13.V$I<8O./F
MQW%.4[@2=K8/ C*YNSFI>F4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W
MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2
MD 83 <V4R43P H)DIAR F/H+O?(,N2D5SJT^.7]%+(.&3E[2)1(4BK ,!2$7
M<N/O[Y-J=XS7^BR!;814,F35%\I#B<$],W)#V%0E\Z[:)@N%V^)4S;L:OB9@
M2\-Z;ITM)__;7M0]M!<]1O.CF> >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F
M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+
M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5
M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0    (
M "6!7%AG5^CL000  'H0   8    >&PO=V]R:W-H965T<R]S:&5E=#$N>&UL
ME9AO<^(V$,:_BL:]Z;0S26R+_RDP0R!I,W>7XT+:Z[33%\(6H(DMN9(<R+?O
MRA";3LR:>Q,LV_OX)VGWD93A5NEGL^'<DEV:2#/R-M9FU[YOH@U/F;E2&9?P
M9*5TRBPT]=HWF>8L+H+2Q*=!T/53)J0W'A;WYGH\5+E-A.1S34R>IDR_WO!$
M;4=>Z+W=>!3KC74W_/$P8VN^X/;W;*ZAY9<JL4BY-$))HOEJY$W"ZQO:=@'%
M&W\(OC5'U\1U9:G4LVO<QR,O<$0\X9%U$@Q^7OB4)XE3 HY_#Z)>^4T7>'S]
MIGY7=!XZLV2&3U7R3<1V,_+Z'HGYBN6)?53;W_BA0QVG%ZG$%'_)=O]NN^V1
M*#=6I8=@($B%W/^RW6$@C@/HB0!Z"* %]_Y#!>6,638>:K4EVKT-:NZBZ&H1
M#7!"NEE96 U/!<39\52]<#WT+4BY&WYT"+O9A]$387=\>45H_X+0@+;_'^X#
M08E!2PQ:Z+4P#/+W9&FLAHGZIXYHK]"N5W#9>VTR%O&1!^EIN'[AWOC''\)N
M\ O"URKY6ICZ>*:B''+1DJ?7C-?!X>']RX\(1+N$:)\',>=:J)C<RIC I-?R
MX$KE]#7-7Z=$ZZ""M](*^TH>^5JX&03&!Y;6@N$Z4Q7SG3 7Y%Y&5PA7M^3J
MGL,%:DIG2C/G!!=D86'4B-)DJG)I]2MQGZV#Q<5GMPAAKR3LG4-X)Q).'O)T
M65^-N$80A)>M=B_H(#S]DJ=_#L\3VY'[&))-K$14#!M"AROVPLN@WZ.#P0#!
M&Y1X@W/P)G$,10YY<K@@G^ ]\D76SB*N".L7%)142Q,I2V8:%@F$,PPJ8PV^
MBW3J6I!S3VHK:PT7EWOD\59!T3L9C._(^,/OXBN+8J[5BY!1[5 V:$XG&%JU
M&(2HE[]#FRMC64+^$MG)2FU0'+2#;@MCJQ:"$+?R8AHGL $ZC8(+=#L!!E(M
M!B'NX9]4!&,RWRB)&4>#2)N&E_TP0(FJ-2#$S?N;%M9R"0.3IKD\V(:II<*%
M5BPQ:!%6]A_B%KU0B8B$%7)-/D-Z:\&26AY<I9&G,OL0=^JYYI<1# ^'^MKO
M)[B,8>?S9;4Z,7^X7B-99?LA[M+OR.Z-R8&L$1"7;02LC#_$??I)6%@BU8J$
M]*?ESV3!HUR_\\(#$Z[D\A/6LX55T?,%R9@F+RS).?D07 6PE)(,^FLV3&/<
MM%H'*&[<3YK%+O\6K^E2U69?@\!T]N<"(ZD<G^+N_#9DY'87;9A<\Y.;M :A
MA\EB-OF*,1WM^\^R^MN4Z[4;I5]!P6Z<A61,UDYN@V!3PM'*Z2ENU >T*12#
M!J>]ASK8D8^\'@J7<FD%^XQ6#]NAT<KZ*>[:$RC0N"C2NX2M:WEP@9.#Y!^=
M)-VI_#-STV)(PE<@%%SUP+CU_J"[;UB5%8?+I;)P5"TN-YR!8[@7X/E**?O6
M<.?5\M\-X_\ 4$L#!!0    ( "6!7%B?H!OPL0(  .(,   -    >&PO<W1Y
M;&5S+GAM;-U7;6O;,!#^*T(_8&YB:N*1&+9 8;"-0O-A7Y58=@1Z\62Y<_KK
MI[-L)VEU9=V'L<VAR=T]NKM'=R>9KEMWDOSAR+DCO9*ZW="C<\W[)&D/1ZY8
M^\XT7'ND,E8QYU5;)VUC.2M;<%(R6=[<9(EB0M-BK3MUIUQ+#J;3;D-O:%*L
M*Z//EI0&@U_*%">/3&[HEDFQMV)8RY20IV!>@N%@I+'$>2I\0Q=@:9\"O @:
ML!SC**&-!6,2,H3O_;C\&3!IK5>%E#/!)0V&8MTPY[C5=UX9%@_&%Q 9Y=VI
M\0QKRTZ+Y2T].PP_/LG>V)+;.<V"3J9B+7D%=*RHC_#K3), Z)Q17B@%JXUF
M X?)8Q1\V .7\@%:^*VZBMU7)/3B4PEM(+#52?2$1C&$"0K$OXP68E^$O?VM
ML*01C\9][/QN]*!_[XSC]Y97HA_TOIKS8]$7>'36-/+T08I:*Q[V_LL)BS6;
M_,C16/'DL\&D'+R!6TH>N77B<&GY85FSX[V;IJFO<,[+?Y#SGZUSS36W3%Z2
M]J/_-U?Y+8R3\?1<'-&K SI;"5R$&_H5[E=YYD#VG9!.Z%$[BK+D^L4Y]>$=
MV_L+_"J^7U_RBG72[69P0\_R%UZ*3N7SJGNHR[CJ+'^&^VB1S;>PSR5TR7M>
M;D?5UOM!)%[P6<<'')XC=\,31S"?@,41P+ \& /,)WAA>?ZG_:S0_00,X[:*
M(BO49X7Z!*\8LAT^6)ZX3^Z?^$[S/$VS#*OH=AMEL,7JEF7P%X^&<0,/+ ]D
M>ENM\6[C$_+Z'& ]?6U"L)WBDXCM%*\U(/&Z@4>>Q[N-Y0$/K O8[$#^>!Z8
MJ;A/FD)7,6[8"<:1/,<0F,7XC&894IT,/O'^8*<D3?,\C@ 69Y"F& *G$4<P
M!L !0])T> \^>Q\ETWLJ.?]74_P$4$L#!!0    ( "6!7%B7BKL<P    !,"
M   +    7W)E;',O+G)E;'.=DKENPS ,0'_%T)XP!] AB#-E\18$^0%6H@_8
M$@6*19V_K]JE<9 +&7D]/!+<'FE [3BDMHNI&/T04FE:U;@!2+8ECVG.D4*N
MU"P>-8?20$3;8T.P6BP^0"X99K>]9!:G<Z17B%S7G:4]VR]/06^ KSI,<4)I
M2$LS#O#-TG\R]_,,-47E2B.56QIXT^7^=N!)T:$B6!::1<G3HAVE?QW']I#3
MZ:]C(K1Z6^CY<6A4"H[<8R6,<6*T_C6"R0_L?@!02P,$%     @ )8%<6*K$
M(A8S 0  (@(   \   !X;"]W;W)K8F]O:RYX;6R-4=%NPC ,_)4J'[ 6M"$-
M45Y VY"F#8V)]]"ZU"*)*\>%C:^?VZH:TE[VE-S9NMQ=%A?BTX'HE'QY%V)N
M:I%FGJ:QJ,';>$<-!)U4Q-Z*0CZFL6&P9:P!Q+MTFF6SU%L,9KD8M;:<W@(2
M* 0I*-D1>X1+_)UW,#ECQ ,ZE._<]'<')O$8T.,5RMQD)HDU75Z(\4I!K-L5
M3,[E9C(,]L""Q1]ZUYG\M(?8,V(/'U:-Y&:6J6"%'*7?Z/6M>CR#+@^H%7I"
M)\!K*_#,U#88CIV,IDAO8O0]C.=0XIS_4R-5%1:PIJ+U$&3HD<%U!D.LL8DF
M"=9#;E9T!N[RZ .;<L@F:NJF*9ZC#GA3#O9&3R54&*!\4YFHO/93;#GICEYG
M>O\P>=0>6N=6RKV'5[+E&''\GN4/4$L#!!0    ( "6!7%@D'INBK0   /@!
M   :    >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'.UD3T.@S ,A:\2Y0 U
M4*E#!4Q=6"LN$ 7S(Q(2Q:X*MR^% 9 Z=&&RGBU_[\E.GV@4=VZ@MO,D1FL&
MRF3+[.\ I%NTBB[.XS!/:A>LXEF&!KS2O6H0DBBZ0=@S9)[NF:*<//Y#='7=
M:7PX_;(X\ \PO%WHJ45D*4H5&N1,PFBV-L%2XLM,EJ*H,AF**I9P6B#BR2!M
M:59]L$].M.=Y%S?W1:[-XPFNWPQP>'3^ 5!+ P04    "  E@5Q899!YDAD!
M  #/ P  $P   %M#;VYT96YT7U1Y<&5S72YX;6RMDTU.PS 0A:\295LE+BQ8
MH*8;8 M=< %C3QJK_I-G6M+;,T[:2J 2%85-K'C>O,^>EZS>CQ&PZ)WUV)0=
M47P4 E4'3F(=(GBNM"$Y2?R:MB)*M9-;$/?+Y8-0P1-XJBA[E.O5,[1R;ZEX
MZ7D;3?!-F<!B63R-PLQJ2AFC-4H2U\7!ZQ^4ZD2HN7/08&<B+EA0BJN$7/D=
M<.I[.T!*1D.QD8E>I6.5Z*U .EK >MKBRAE#VQH%.JB]XY8:8P*IL0,@9^O1
M=#%-)IXPC,^[V?S!9@K(RDT*$3FQ!'_'G2/)W55D(TADIJ]X(;+U[/M!3EN#
MOI'-X_T,:3?D@6)8YL_X>\87_QO.\1'"[K\_L;S63AI_YHOA/UY_ 5!+ 0(4
M Q0    ( "6!7%@'04UB@0   +$    0              "  0    !D;V-0
M<F]P<R]A<' N>&UL4$L! A0#%     @ )8%<6(K)CC'N    *P(  !$
M         ( !KP   &1O8U!R;W!S+V-O<F4N>&UL4$L! A0#%     @ )8%<
M6)E<G",0!@  G"<  !,              ( !S $  'AL+W1H96UE+W1H96UE
M,2YX;6Q02P$"% ,4    "  E@5Q89U?H[$$$  !Z$   &
M@($-"   >&PO=V]R:W-H965T<R]S:&5E=#$N>&UL4$L! A0#%     @ )8%<
M6)^@&_"Q @  X@P   T              ( !A P  'AL+W-T>6QE<RYX;6Q0
M2P$"% ,4    "  E@5Q8EXJ[',     3 @  "P              @ %@#P
M7W)E;',O+G)E;'-02P$"% ,4    "  E@5Q8JL0B%C,!   B @  #P
M        @ %)$   >&PO=V]R:V)O;VLN>&UL4$L! A0#%     @ )8%<6"0>
MFZ*M    ^ $  !H              ( !J1$  'AL+U]R96QS+W=O<FMB;V]K
M+GAM;"YR96QS4$L! A0#%     @ )8%<6&60>9(9 0  SP,  !,
M     ( !CA(  %M#;VYT96YT7U1Y<&5S72YX;6Q02P4&      D "0 ^ @
&V!,

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>10
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// 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)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* 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;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.0.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>1</ContextCount>
  <ElementCount>22</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>0</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>0</UnitCount>
  <MyReports>
    <Report instance="cdxs-20240228.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>0000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.codexis.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="8-K" isOnlyDei="true" original="cdxs-20240228.htm">cdxs-20240228.htm</File>
    <File>cdxs-20240228.xsd</File>
    <File>cdxs-20240228_lab.xml</File>
    <File>cdxs-20240228_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="22">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>15
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "cdxs-20240228.htm": {
   "nsprefix": "cdxs",
   "nsuri": "http://www.codexis.com/20240228",
   "dts": {
    "inline": {
     "local": [
      "cdxs-20240228.htm"
     ]
    },
    "schema": {
     "local": [
      "cdxs-20240228.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/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd"
     ]
    },
    "labelLink": {
     "local": [
      "cdxs-20240228_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "cdxs-20240228_pre.xml"
     ]
    }
   },
   "keyStandard": 22,
   "keyCustom": 0,
   "axisStandard": 0,
   "axisCustom": 0,
   "memberStandard": 0,
   "memberCustom": 0,
   "hidden": {
    "total": 2,
    "http://xbrl.sec.gov/dei/2023": 2
   },
   "contextCount": 1,
   "entityCount": 1,
   "segmentCount": 0,
   "elementCount": 23,
   "unitCount": 0,
   "baseTaxonomies": {
    "http://xbrl.sec.gov/dei/2023": 22
   },
   "report": {
    "R1": {
     "role": "http://www.codexis.com/role/Cover",
     "longName": "0000001 - Document - Cover",
     "shortName": "Cover",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cdxs-20240228.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cdxs-20240228.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amendment Flag",
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "City Area Code",
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Period End Date",
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Type",
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, Address Line One",
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, City or Town",
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, Postal Zip Code",
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, State or Province",
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Central Index Key",
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Emerging Growth Company",
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity File Number",
        "label": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Incorporation, State or Country Code",
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Registrant Name",
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Tax Identification Number",
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Local Phone Number",
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PreCommencementIssuerTenderOffer",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Pre-commencement Issuer Tender Offer",
        "label": "Pre-commencement Issuer Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "dei_PreCommencementTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "PreCommencementTenderOffer",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Pre-commencement Tender Offer",
        "label": "Pre-commencement Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Title of 12(b) Security",
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r0"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Security Exchange Name",
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "dei_SolicitingMaterial": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SolicitingMaterial",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Soliciting Material",
        "label": "Soliciting Material",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trading Symbol",
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "dei_WrittenCommunications": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "WrittenCommunications",
     "presentation": [
      "http://www.codexis.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Written Communications",
        "label": "Written Communications",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r1": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r2": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r3": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r4": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r5": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Section": "14a",
   "Number": "240",
   "Subsection": "12"
  },
  "r6": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "425"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>16
<FILENAME>0001200375-24-000007-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001200375-24-000007-xbrl.zip
M4$L#!!0    ( "6!7%BZV"3$!@\  )US   1    8V1X<RTR,#(T,#(R."YH
M=&WM'6MSVCKV>W^%ANYNDYG8^,'+).%.+B&]3-LD W3:V2]WA"V";HU-)3G
M_OH]DFW>$$A) FDRTVG LG3>+QTI9W\,>SZZ)XS3,#C_8.K&!T0"-_1H<'?^
MX:)9K=<__%%Y=]85, R&!KSL$7J>Z0K1+V>SPS;S=4Y<_2Z\S\*#K&58=B89
M./1I\&,\=# 8Z -;#]E=UG0<)ZN>ID/I4,P,5//*H32 8>3[GXW/6<%PP#LA
MZV$!L,J5#,VP--,:KP<OT>736(9APUQ<X, EDT57#3;MJ873X0O8S,XN'[<Q
MGYI=:$"9F3=22JW#RLQK1DFSS3%6G"ZC(:QI9K]_^=QTNZ2'M3G<5E-=,E(-
M*OL86)PA@?:UF:F<=0GV*F<](C"2KVKD9T3OSS/5,! D$%IKU(>YW?C3>4:0
MH<BJJ;*5=^_>G0DJ?%)QO2'7@"\YP[)*9]GXR[-L/'4[]$:5,X_>(RY&/CG/
M>)3W?3PJ!V%    Z+,N!A,6_4L\C@?H5GE]'/<*H&Z\_% W2.<^X&I HP#TY
M$Z'E6@#+C:H '<-^/?#(\!,991#USC,=S3(S%0,()AE5S)]E9V;=8I&+'@D\
M^">N?'R703';SC/ ZG*'#HFG=; O)2!9U<I4KBX^-VL+"V9G,62D0QAH'>%+
M&"/EJLP5EP$DI-2F+( =YQE.>WU?LEQ]UV4*XFD>Z$/N 8?4>I-%DC5Y&#'U
M2>E-.4%;P2[13K\GBK#I)^K)SQU*&%(PD:7R7:U_FB7X_,N5]*O9V?M GM!+
M/X%$,W&)!:E(?*2N2ZF:?S8&TULQ-'V2?DX7R<[@G1)I3)7LE$!F06QCV974
MH:9CF-CS\KAHYW*.1YQ2H>#9!C';5LDTG/;?DGJ3=Q)Y[]% ZQ)ZUQ7EG*47
M\WUQ.J">Z)9-P_AW1@VMG/$^!IEH,\FT^/=XGL79,+N#"478+ULPDT1!PSZ]
M"\HNT)2P3#Q7.MP-_9"5W]OJY[0#.(.L]J@_*G]HT1X(WC49H$;8P\&'$PX6
M"4P7HYUX(*?_(V6S *NHCX,8AZ)AG$HKEN($O 8LOE[76[5+U&Q=M&I--(O#
M%/3[ FZS5OW:J+?J .O%]26J?:_^=7']L8:J-U^^U)O-^LUUBL)NH2MM!-U+
MTL_:",)OF'<A4A!A<((N]:J.+".?<UX0;GL.[-Q2L/_SWBP8IT_#6F,C"/Y^
MZ&<E":<4WWX6Q=],5J]N&E_0YI[T,G0CZ4CCN"+VEV U2]JG>6?YDDKP5+S<
M Z%_>;F:AWJY7(%];M2N6ZA1N[UIM%8+PQ3XA6<!?S,#>?NUT?QZ ?"W;A X
MFQ9X%&3:Z*:!S/R1=XQNKE#KK]K^&_HI1SEVDA?5EH3?=.S<P?%%1H0H["!&
M^B$3Z"C]3##$A(0+1.X!O.0Q\8[+C[!MMRK0K,7AYVRVX,$W6@^FZ,K7- ^/
MM!$LK9%@G#R 225M%F$VBA77*IT@&=S^#O;Q]PD7K-Q&XKIM'MP@=Y3+TH*X
MAB>I3-E@3D/(C"D_0?7 U?=9E);3X:@VQ*Y0Z$IMG:"),$?-/G%E=NDA&B J
M.*IV(4DD['B?\#K4$**8>SB$>'EU70*EP&V?I!"T0P8)O0: ^+C/23G]Y30M
M1L65.4V]=)KXKG8H1-@KRX3]GC!!7>PG6"J$X\=)+N^8NF65I,8*!O^\=.$D
MT]>!V=G%[VU++TG0ESPR='/+[PO&=F^L!,K0G?RVBZ_ZWK%V")2]=JJLHGQ,
M?>"OE(+SC)U)!_>Q)XO;9:L_1.:RB&2>R3%_G]_@&8\Q_&#60P8QBZHF-P6$
M&=4P"@0;2<,_$X/(XK0LHPG29^&]G&<2?.0@0"(^'F!&%FN7B?(+[Q$4]DEG
M08F>AK[%ATR%L20G>A1.KT!JKJA/8' ;+'8B 7E9OS4U.U<T%NOE;R+P^D2@
MA8?UI#SO*N,Q*P^%3*5H:D:I:#F.LU8@'F]^UTK&<X89\X*S0&$59API\XI"
MAD+1)0S]$S'*/>I*XCV4#B<AA:'GGR,GW@P?B*?IM/<XGMN!>-/V Y73:MCK
M4<X/5"RE;T*Q,7J3R%<BD76]H3=U5.OU_7!$V"&*Y:RS1->AODPZE3/,JFQR
M'VJC#X8."K5M0X<+SV.$\^2_SS"?F88-Q4S%,@QT2X*PS=U0H$M&[Q=RBGVJ
MS^R4)%7X]8:UPL$XLRIE*@WB#<+00_+A/"5.MB@SSZRD8I$;=@NI'%5M0/%R
M3J92O5@D]^/6N TA7?3_2_MQ+IELVAF9BI,S"O8>,75#*Y2@)0N)MPRH1OO8
M1[4A<2,!0HIN.J#=A!^C(T 929S7%!+W5)6/-F>U%,<+1O ,<\U,I9 WYEE[
MO(4$?0[!)=UVPV NP32M3"5GF5H)O.#AB<ZD\/R!(T%\TI<8HD"A>"+C:#^2
MSAIAH"B09ZWLO!6A=U&$W@-8GIEI"H)JE[@_$"2@"/?[+.PS*I/2=CA$;>*'
M T0[ZN%5R'JHI'U"'>I+N:0<A%20P",>$B'BM!?Y @<DC+@_0AR"&MX9J3>3
M%\(V"&@<ZX3QE&RR^1+!/ SA8)0^ZX0^+"[?D\5%*G,/7D8O5)(OZ([E;%N2
M-W7'+.RD9.WD]5)I?7'_B6HF&\KC-YA;SL\?+8E;5IR^,2I ]F1>&@5)!,T7
MB]/M,/3;& 1)@#B/_88MM<XIYG*GAUJ7W)">"94 C2DRH7[$>"1U#K2V$8$:
MY:Q\HG]2\9H0O<![%,"X< 4Z,HNH>M5 EFWH,/#X.2IU^RIUS="G+I FN/L"
M)A+LI+^IR.5^%Y&;D CU$AHM"IR9PQ"]3<E<;>AV<7!'9B4N!\9-C?RMA>Z6
M$6GF9-^]:G>4'I=!9B$#X<V$+_^["!^02G.G:#5K^/@R0?0TZZA]O)DHQF/?
MA'%"X#KG$6&/$,G"FTBN$DF;:+DC=S.13,8N$<F%BN'J@R&[SWPVS!:G(HTX
M$R ,<HEIBL (%;*82DF3S "H4%Z"P3.G!"4];V_?I>/HIE'<44.,[:SO8MD4
M*,O42\Z^ 67G]+RY_-%A=>DX&^VUM^1!1RG@->QV4=7'G&]A" V)8$*J@Z<$
MPZKLU1SUVJ%_Q(]_4SI<)PVJ2B#&'@!LX;<NA6\:8X.Y33B2F$598P8"( [!
MNH?>&P# (?G4+1*VV,.,3*NM-&P<?Q1E'W.O!^1LBM#]<8+ZF*%[[$<$_<O0
MY;E3U)<'5+N_UK_V@$ ^BATOVBGTJPQ)M#M6[C$W2L"-R^_--T+O7O)3RQ$W
M\<\'YP2>SO9MF@Z88 BRKC'W\$_TT0\A>(<XS(=(#'W![ <1F_1NI81)H+>!
M.3LRWB\[[-&Q]?,$WO-'0?;U[&H]\&0&1%![A%RU_0 A^ \TZ!+5!S>W-T Y
M A A?9)1^AVZ8^% =&4BU9?[!9@CCW1@"75H(RYH&ODT69BK9L*WIF/;Z$C2
MH'BJBIKI8%@&=*6OCGN$+,G&K+9F+9EK)B6+)\V-)Y69V>2]J6GU/4F\:BM(
MB=;(A*%^MBP_S)^D6P[.MLT$*?@?%?35&/@-*P^6\7#E8?W._ MMK=8[:Y1
M[A<OU2BZL-'6!7U1UAST)0A5EAUQHD8!T9/M/'FC#(TW"]0)1$E;M98_DHL/
M*"PM!28 W. )(_>4PWN@A3AP9<D7NZX\-" 'RUME/,P\'F_D>:M2?/L(CU/\
M:?727THLQV*RO4%?\7#.*Z9W>/3#F-AE1GPL&T<6;O68Q#%Q&]OD%=R&8"82
MBZ\\=!'(MA>2%,<7DG39Q#W>$:W-"/ZAX0X8N#+V!WC$I:-\ZEM+$DJ45G3*
M/',QR-;SA>+6^\.&[MB[.=-4*NBE@K/'&\0[/9A0%Z27G&C6#4L_V(KQ<NP:
MA$>^4#UE-V!]DSHQV%!T-3:OU1#,_<PI@8U;12>*\T*.["9 RX^EGZ"9H\7H
M2'J"_[PO699QFCAY]<D\/09R!.!?7!GS :DF?H<EQ)/^*NXBB1CXJI^1.L:K
MJ"A/R:/8SUT2E\AVJQ@.VU1PV#J2"5 G\GVDKK-*?%)?=?J!B288_"65.Q\J
MXH1P)4A\F/*+JI$F 4]5_"$ [$0LH+P++V 9.W9IFPKD.+HI/: *$:L18W)P
M([Y- "9+^VWT!UL&7YREDEXT&%]!)ZDB=11)]1P'P:LQ1$>3;K=IXAS+^@MP
M088I;0)1/M#32R6B0WWB)?*@V U!!7A%HA0G"2IBOIJE#0/X$\D=W%.R<3(^
ME3. T ;QJ/V/S( 5NPCR*6Y3/YY)S8T%XO&:)P N2P"GTW!/3L; !XC2QK>I
MK>Z]2+*56;@@9R=]=5J=#)5,RFXK(B0-0/I@8AX?8G>G5@"&\,B%F"WIQ5HB
M4^L#EPTO+3.6W5HF@W$-%(EA5Y1YU .I'9V^N?$W-SYVXXYNF*_-C4^<M6JL
M5YY NI_$P/$#]-SRMJ$%\#<!]IG5N*@;Q<+6:FSICK%=N^8:]3:VNXIAI4&P
M]8+S5+N@>Z<RJ>^_#K<Q!H_?]-L[ EP2[C+:7Q[8+Q35\VN*Z@]O>.RF0+[%
M.@<IJ,NW861P^O(2NJI\+ MBG<Z3H1_#YQ$W.>1=5N&K' 4PX:5!'XD5^_3%
M 43Q#<>=D<SS5/"<Y'..8^I=T5/]6E-9GJ>"]31=1=99%K\"'$NO PV5K;\.
M5'*O PT4%[ AC4_RY%\MS*"D)O,ZR&._#C1TA<:*D^I;12G/L5G_.B(.T\B]
M?,#Q$HA70X &W>([@NJR* 2Z(D]67V*!D;K7XT@:"D\:#5E]I8&R+G650B+Y
MYS&0E]RE>JSO(.5^8&/OD:\=XGZ@/$5W0!N"SYS.Q?WM]8_7%ZVOC367,^]+
M:>=V:D<^;ACX&5&FJE9\X^KYDDX#+_)'R,61[ Y0NP#);<FP3)L@#BR"!V%\
MUVJ;=+'?D15L.9'R2,F +F$D"N =-1V.1#=D@)QW %LC\N+F\KH&AB>&8%VV
MMNIVZ!C69R[:Y?12R=ZV:)<W=,M87S#?=*H"&*+2;HXN.'K1WLD%HTO]>.$P
M_?C-9>U[O7F"ZM?5)8YX(6PT]S]N?$51UI^C\O-NORQKV]HI1EF>14U&&>ZA
MQ@C@><RAS>=C\).30[9_;\+BE?7<'9\1>7*$WW@_>[;LM>EWM4M))PY<)CNM
M\7U;[%?RO)7)P\&D<-GXSR2JOZU8^3]02P,$%     @ )8%<6-%0B;!J @
M;0<  !$   !C9'AS+3(P,C0P,C(X+GAS9,U5R6[;,!"]^RM8G4MKL9Q:0NP
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
MAZ#;0Q^@Y1<.1Y9Q>SC;"NZPZQ)OG7$M]^^GKS;OQ*N?TCY]]3]02P,$%
M  @ )8%<6-077>*N!@  W#   !4   !C9'AS+3(P,C0P,C(X7W!R92YX;6S5
MFFUSVS82Q]_G4^AT;P\60(!X\,3N^-SDQE.W\23NM'-O-'A82)Q2I >D8_G;
MWY*V&CMV6IZI&3-O)(H$N8O__@@L%GK[PW93SCY#:HJZ.IJS SJ?0>7K4%2K
MH_FOE^^)GO]P_.;-VW\0\ON_/Y[/?JS]]0:J=G::P+809C=%NYZU:YC]5J<_
MBL]V=E':-M9I0\AQ?]MI?76;BM6ZG64T$[MFNZOI,(N>:I=SXB0H(F*@Q,:<
M$>N%B-X:RQS\:W5HJ# 9UX+8W 8B %OH((%H*D7,<VN-X_U#RZ+ZX[#[<+:!
M&7:O:OJ?1_-UVUX=+A8W-S<'6Y?*@SJM%AFE?+%K/;]OOGW2_H;WK9DQ9M%?
M_;-I4SS7$!_+%K__?/[)KV%C25$UK:U\9Z I#IO^Y'GM;=NK_K=^S;[9HOM%
M=LU(=XJPC'!VL&W"_/C-;'8G1ZI+^ AQUGW_^O'LD4D,-FR+!K\WB^[ZXK1&
M'M#3_L[V]@J.YDVQN2IA=VZ=(![-?=@VI LIS3+=V?OGW8V++V:O$C3(2M_-
M<SQQ?W]GY?]V ;8M5 'N>K4S4-;^4:.RT[3^\\[2.BC[L\L Q;)_ZHEKVF1]
MNY1:21=L1D1N&1&",>*BBT1RX25(!C*/CWO<>=R@RWT(&O 'J_KS A^,H<AX
M=]#)P7LIGIB[D^5E?N_>N4MLN\R8,\XK10QEDH@,WP.7"TNR()54GFL+:I3;
M#ZT]]OIA.$^2G]4I0,)!8V?.)O\DM(]QO6^QN+()'T3\NBC#[NZ8ZLT^8M76
M>U#N+BSH[GR&O8Z0$H3SNZA\LW-]SUH<2J%ON8^(7T JZO"N"C_B6+L,S$5K
M+1!K%0Z!7F('I#9$0IZ!=,(QQO<2^D=F!S&039^!EVOYRC"\J]JBO?T(JZ)3
MHFI_L1M82JFE=T&3Z,$2H;DDAL>,&&F#B5%X 784"\]9'80"GRX*HY6<! EG
MF)^EJSKUPG]"_>&TOJ[:='N*T^B2^^ 8UY%DC J"TE#BG%7$!PH9Y<"ITGL
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
MGO"(4<%#G[.8/SW4<H(BPG),R]FKH5P!B0WRQ7NFW=XP.%(AB95[LH(\ +B
M;DY$#A-$%9O+A-.%#=8FSK,*-^P;-]AFVSK],R1'+1-^#T/O7OC^F8$"VVSN
M5]M4F& #3&#:S<JYL-,E_DS!3G0J;"^X<8+BP ).JXZ4'KLX:)V^#^&4PIWS
M)<'&F6HKQ<".;BD.V1CRP&Z3MMEJ;ZA^=] =\B"%I2IF?A[,;+<:IK/U$UX'
MBV4?-="<7S;THV!]X5.(BMQ/M]B?9Q3ZL++QZY==V^I<&N\HF/64@I)58]$3
M=D7HXJ)^SBI5X:)GDW:?%2Z:L(=Y58N>;+ <W8Q7U[;SIGC<"K5E]IJG[S_?
M"<^=2%W1C7CNX.[ 9U(PXA2D=91BWF$XQJ,1##M%G5F(P-K$*5C%"/9/I6;K
M]/,&3D,JR&@!4[*A@-//+%S0-#M.=9#RV"5#R[0[U4G*_=KNDS!"J&"$ YEQ
M:(1]&!S!AWGYB&<&*1RST]UK0+M"%)N8MDY[W4!C!2@V6^L;/N @.+!6Y1T/
MTC,L96WMMRA^!20V2B#OK%V1YTB!Q(FD'KBSH8"=%(A:*8Q[?'+#:9E=9T,=
M=2JA^:W0]Q2)V^R9C;6/TY]2F:BCEC_3B(1.1Z YXY8MG#-#*NUF=<KRR$ED
MM<WNVM;E%JET#BD*'\-@6$MX-*Z\&W,8T#;M9G6HXLBIY'1-NW/ XE[G ")D
MG,3/A<791DHLTW;6%0D5<M@[D9S.Z0.'4_)O5'Z-1:9O;].4B[/R:YPH?:U&
MRVSUCI7 YX!,YJ7=RQI2FZ=:KZH\#_F,?1NGGKC3SU:/J.'U%UE 3@0>#Y*+
M6H_&>)"0?3@>AP&\%3C"R @/ S\;4Z@J"G3D!#I@]N4Y*(,K&"KZK@"08AET
MD$F&RR8" .J96:FM;M.TG+V&>"L[=0,RM=MFHW)Q[U@HN&XZ3GV&58<]/A"N
M.+>"@6^:O8[9<AJK]P.K@,'>261;IMT[#(G.L/-!O-!LW$D7A!-U;W3;9GOM
M7O3KKL4)08SG1E^KV30[O0V/O1Z?^^I9N=&IJ,3J8FJ'&65'MU;;J_IR2B?4
M=U._Z)@P7L7#SYV'=U.V:)O:1H]"#[M)'#J?P==Q[F^KCL]NWTF+\#-UXM"N
M\X+C7ZU)TZYWL#_[)(S)VW81<;"NQ1V_O!=>,E*D+MXHT_\O&ODMK _D2Y/9
M6_;.ES85$F=#;@!7VLU+HUL.'61C^O67/BY.*:Q0_+,?>@_PUR@9^[_^?U!+
M 0(4 Q0    ( "6!7%BZV"3$!@\  )US   1              "  0    !C
M9'AS+3(P,C0P,C(X+FAT;5!+ 0(4 Q0    ( "6!7%C14(FP:@(  &T'   1
M              "  34/  !C9'AS+3(P,C0P,C(X+GAS9%!+ 0(4 Q0    (
M "6!7%B[VJLP10H  !I=   5              "  <X1  !C9'AS+3(P,C0P
M,C(X7VQA8BYX;6Q02P$"% ,4    "  E@5Q8U!==XJX&  #<,   %0
M        @ %&'   8V1X<RTR,#(T,#(R.%]P<F4N>&UL4$L! A0#%     @
M)8%<6(NNA< P+@  ZOT! !D              ( !)R,  &9Y,C R,W!R97-S
D<F5L96%S93DY,2YH=&U02P4&      4 !0!+ 0  CE$

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>cdxs-20240228_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="cdxs-20240228.xsd" xlink:type="simple"/>
    <context id="c-1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001200375</identifier>
        </entity>
        <period>
            <startDate>2024-02-28</startDate>
            <endDate>2024-02-28</endDate>
        </period>
    </context>
    <dei:EntityCentralIndexKey contextRef="c-1" id="f-21">0001200375</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="c-1" id="f-22">false</dei:AmendmentFlag>
    <dei:DocumentType contextRef="c-1" id="f-1">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate contextRef="c-1" id="f-2">2024-02-28</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName contextRef="c-1" id="f-3">Codexis, Inc.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="c-1" id="f-4">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber contextRef="c-1" id="f-5">001-34705</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber contextRef="c-1" id="f-6">71-0872999</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="c-1" id="f-7">200 Penobscot Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="c-1" id="f-8">Redwood City</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="c-1" id="f-9">CA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="c-1" id="f-10">94063</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="c-1" id="f-11">650</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="c-1" id="f-12">421-8100</dei:LocalPhoneNumber>
    <dei:WrittenCommunications contextRef="c-1" id="f-13">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial contextRef="c-1" id="f-14">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer contextRef="c-1" id="f-15">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer contextRef="c-1" id="f-16">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle contextRef="c-1" id="f-17">Common Stock, par value $0.0001 per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="c-1" id="f-18">CDXS</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="c-1" id="f-19">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany contextRef="c-1" id="f-20">false</dei:EntityEmergingGrowthCompany>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
