0001558370-24-002185.txt : 20240229 0001558370-24-002185.hdr.sgml : 20240229 20240229161328 ACCESSION NUMBER: 0001558370-24-002185 CONFORMED SUBMISSION TYPE: 10-K PUBLIC DOCUMENT COUNT: 84 CONFORMED PERIOD OF REPORT: 20231231 FILED AS OF DATE: 20240229 DATE AS OF CHANGE: 20240229 FILER: COMPANY DATA: COMPANY CONFORMED NAME: EVERSPIN TECHNOLOGIES INC CENTRAL INDEX KEY: 0001438423 STANDARD INDUSTRIAL CLASSIFICATION: SEMICONDUCTORS & RELATED DEVICES [3674] ORGANIZATION NAME: 04 Manufacturing IRS NUMBER: 262640654 FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-K SEC ACT: 1934 Act SEC FILE NUMBER: 001-37900 FILM NUMBER: 24703766 BUSINESS ADDRESS: STREET 1: 5670 W. CHANDLER BOULEVARD STREET 2: SUITE 100 CITY: CHANDLER STATE: AZ ZIP: 85226 BUSINESS PHONE: 480-347-1111 MAIL ADDRESS: STREET 1: 5670 W. CHANDLER BOULEVARD STREET 2: SUITE 100 CITY: CHANDLER STATE: AZ ZIP: 85226 10-K 1 mram-20231231x10k.htm 10-K
0001438423--12-312023FYNoNoYesYes0.100.100.100.100.100.100.100.10P7YP7YP2YP5YP2Yfalsefalsefalsefalsefalse0001438423mram:TwoThousandSixteenEmployeeStockPurchasePlanMember2023-01-012023-12-310001438423us-gaap:CommonStockMember2022-01-012022-12-310001438423mram:TwoThousandSixteenEmployeeStockPurchasePlanMember2022-01-012022-12-310001438423us-gaap:CommonStockMember2023-01-012023-12-310001438423us-gaap:RetainedEarningsMember2023-12-310001438423us-gaap:AdditionalPaidInCapitalMember2023-12-310001438423us-gaap:RetainedEarningsMember2022-12-310001438423us-gaap:AdditionalPaidInCapitalMember2022-12-310001438423us-gaap:RetainedEarningsMember2021-12-310001438423us-gaap:AdditionalPaidInCapitalMember2021-12-310001438423us-gaap:CommonStockMember2023-12-310001438423us-gaap:CommonStockMember2022-12-310001438423us-gaap:CommonStockMember2021-12-310001438423mram:TwoThousandSixteenEquityIncentivePlanMember2016-10-072016-10-070001438423mram:TwoThousandEightEquityIncentivePlanMember2023-12-310001438423mram:TwoThousandEightEquityIncentivePlanMember2023-01-012023-12-310001438423mram:TwoThousandSixteenEmployeeStockPurchasePlanMember2023-12-310001438423mram:TwoThousandSixteenEquityIncentivePlanMember2016-10-070001438423us-gaap:EmployeeStockOptionMemberus-gaap:ShareBasedPaymentArrangementEmployeeMember2023-01-012023-12-310001438423us-gaap:EmployeeStockOptionMemberus-gaap:ShareBasedPaymentArrangementEmployeeMember2022-01-012022-12-310001438423srt:MinimumMemberus-gaap:EmployeeStockOptionMemberus-gaap:ShareBasedPaymentArrangementEmployeeMember2023-01-012023-12-310001438423srt:MaximumMemberus-gaap:EmployeeStockOptionMemberus-gaap:ShareBasedPaymentArrangementEmployeeMember2023-01-012023-12-310001438423srt:MinimumMemberus-gaap:EmployeeStockOptionMemberus-gaap:ShareBasedPaymentArrangementEmployeeMember2022-01-012022-12-310001438423srt:MaximumMemberus-gaap:EmployeeStockOptionMemberus-gaap:ShareBasedPaymentArrangementEmployeeMember2022-01-012022-12-310001438423us-gaap:RestrictedStockUnitsRSUMember2023-12-310001438423us-gaap:RestrictedStockUnitsRSUMember2022-12-310001438423us-gaap:RestrictedStockUnitsRSUMember2023-01-012023-12-310001438423us-gaap:SellingAndMarketingExpenseMember2023-01-012023-12-310001438423us-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-12-310001438423us-gaap:GeneralAndAdministrativeExpenseMember2023-01-012023-12-310001438423us-gaap:SellingAndMarketingExpenseMember2022-01-012022-12-310001438423us-gaap:ResearchAndDevelopmentExpenseMember2022-01-012022-12-310001438423us-gaap:GeneralAndAdministrativeExpenseMember2022-01-012022-12-310001438423us-gaap:ShareBasedPaymentArrangementEmployeeMember2023-01-012023-12-310001438423us-gaap:TransferredOverTimeMember2023-01-012023-12-310001438423us-gaap:TransferredAtPointInTimeMember2023-01-012023-12-310001438423us-gaap:SalesChannelThroughIntermediaryMember2023-01-012023-12-310001438423us-gaap:SalesChannelDirectlyToConsumerMember2023-01-012023-12-310001438423us-gaap:ProductAndServiceOtherMember2023-01-012023-12-310001438423us-gaap:LicenseMember2023-01-012023-12-310001438423us-gaap:EMEAMember2023-01-012023-12-310001438423srt:NorthAmericaMember2023-01-012023-12-310001438423srt:AsiaPacificMember2023-01-012023-12-310001438423mram:RadHardProduct1AgreementMember2023-01-012023-12-310001438423mram:AllOtherCountryMember2023-01-012023-12-310001438423country:US2023-01-012023-12-310001438423country:SG2023-01-012023-12-310001438423country:JP2023-01-012023-12-310001438423country:HK2023-01-012023-12-310001438423country:DE2023-01-012023-12-310001438423country:CN2023-01-012023-12-310001438423country:CA2023-01-012023-12-310001438423us-gaap:TransferredOverTimeMember2022-01-012022-12-310001438423us-gaap:TransferredAtPointInTimeMember2022-01-012022-12-310001438423us-gaap:SalesChannelThroughIntermediaryMember2022-01-012022-12-310001438423us-gaap:SalesChannelDirectlyToConsumerMember2022-01-012022-12-310001438423us-gaap:ProductAndServiceOtherMember2022-01-012022-12-310001438423us-gaap:LicenseMember2022-01-012022-12-310001438423us-gaap:EMEAMember2022-01-012022-12-310001438423srt:NorthAmericaMember2022-01-012022-12-310001438423srt:AsiaPacificMember2022-01-012022-12-310001438423mram:AllOtherCountryMember2022-01-012022-12-310001438423country:US2022-01-012022-12-310001438423country:SG2022-01-012022-12-310001438423country:JP2022-01-012022-12-310001438423country:HK2022-01-012022-12-310001438423country:DE2022-01-012022-12-310001438423country:CN2022-01-012022-12-310001438423country:CA2022-01-012022-12-310001438423srt:MinimumMemberus-gaap:EquipmentMember2023-12-310001438423srt:MaximumMemberus-gaap:EquipmentMember2023-12-310001438423mram:AllOtherCountryMember2023-12-310001438423country:US2023-12-310001438423country:SG2023-12-310001438423mram:AllOtherCountryMember2022-12-310001438423country:US2022-12-310001438423country:SG2022-12-310001438423us-gaap:SoftwareAndSoftwareDevelopmentCostsMember2023-12-310001438423us-gaap:LeaseholdImprovementsMember2023-12-310001438423us-gaap:FurnitureAndFixturesMember2023-12-310001438423us-gaap:EquipmentMember2023-12-310001438423us-gaap:ComputerEquipmentMember2023-12-310001438423us-gaap:SoftwareAndSoftwareDevelopmentCostsMember2022-12-310001438423us-gaap:LeaseholdImprovementsMember2022-12-310001438423us-gaap:FurnitureAndFixturesMember2022-12-310001438423us-gaap:EquipmentMember2022-12-310001438423us-gaap:ComputerEquipmentMember2022-12-310001438423mram:CreditFacility2019Member2023-03-012023-03-310001438423us-gaap:RetainedEarningsMember2023-01-012023-12-310001438423us-gaap:RetainedEarningsMember2022-01-012022-12-310001438423mram:CreditFacility2019Member2023-12-310001438423srt:MinimumMember2023-12-310001438423srt:MaximumMember2023-12-310001438423us-gaap:RestrictedStockUnitsRSUMembermram:TwoThousandSixteenEquityIncentivePlanMember2023-12-310001438423us-gaap:EmployeeStockOptionMember2023-12-310001438423us-gaap:RestrictedStockUnitsRSUMembermram:TwoThousandSixteenEquityIncentivePlanMember2023-01-012023-12-310001438423us-gaap:EmployeeStockOptionMember2023-01-012023-12-310001438423us-gaap:StateAndLocalJurisdictionMember2023-12-310001438423us-gaap:ProductMember2023-01-012023-12-310001438423mram:LicensingRoyaltyAndOtherRevenuesCustomersMember2023-01-012023-12-310001438423us-gaap:ProductMember2022-01-012022-12-310001438423mram:LicensingRoyaltyAndOtherRevenuesCustomersMember2022-01-012022-12-310001438423mram:RadHardProduct1AgreementMember2023-12-310001438423mram:RadHardProduct1AgreementMember2022-12-310001438423mram:CustomerCMembersrt:MaximumMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-12-310001438423mram:CustomerAMembersrt:MaximumMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-12-310001438423mram:CustomerAMembersrt:MaximumMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-12-310001438423mram:CustomerEMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-12-310001438423mram:CustomerEMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-12-310001438423mram:CustomerDMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-12-310001438423mram:CustomerDMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-12-310001438423mram:CustomerCMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-12-310001438423mram:CustomerBMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-12-310001438423mram:CustomerBMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-12-310001438423mram:CustomerEMembersrt:MaximumMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-12-310001438423mram:CustomerEMembersrt:MaximumMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-12-310001438423mram:CustomerDMembersrt:MaximumMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-12-310001438423mram:CustomerDMembersrt:MaximumMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-12-310001438423mram:CustomerCMembersrt:MaximumMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-12-310001438423mram:CustomerCMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-12-310001438423mram:CustomerBMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-12-310001438423mram:CustomerBMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-12-310001438423mram:CustomerAMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-12-310001438423mram:CustomerAMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-12-310001438423mram:RestrictedStockUnitsSubjectToFutureVestingMember2023-12-310001438423mram:OptionsIssuedAndOutstandingMember2023-12-310001438423mram:FutureStockOptionGrantsMember2023-12-310001438423mram:CommonStockWarrantsMember2023-12-310001438423mram:RestrictedStockUnitsSubjectToFutureVestingMember2022-12-310001438423mram:OptionsIssuedAndOutstandingMember2022-12-310001438423mram:FutureStockOptionGrantsMember2022-12-310001438423mram:CommonStockWarrantsMember2022-12-310001438423mram:WarrantsToPurchaseSeriesBRedeemableConvertiblePreferredStockMembermram:AresVentureFinanceCreditFacilityMember2015-06-300001438423us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001438423us-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001438423us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001438423us-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001438423us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001438423us-gaap:FairValueMeasurementsRecurringMember2023-12-310001438423us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001438423us-gaap:RestrictedStockUnitsRSUMember2023-01-012023-12-310001438423us-gaap:EmployeeStockOptionMember2023-01-012023-12-310001438423mram:CommonStockWarrantsMember2023-01-012023-12-310001438423us-gaap:RestrictedStockUnitsRSUMember2022-01-012022-12-310001438423us-gaap:EmployeeStockOptionMember2022-01-012022-12-310001438423mram:CommonStockWarrantsMember2022-01-012022-12-310001438423us-gaap:AdditionalPaidInCapitalMember2023-01-012023-12-310001438423us-gaap:AdditionalPaidInCapitalMember2022-01-012022-12-310001438423us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001438423us-gaap:FairValueMeasurementsRecurringMember2022-12-3100014384232021-12-310001438423mram:RadHardProduct1AgreementMember2022-01-012022-12-310001438423mram:TwoThousandSixteenEquityIncentivePlanMember2023-12-310001438423mram:TwoThousandSixteenEquityIncentivePlanMember2021-05-202021-05-200001438423us-gaap:RoyaltyMember2023-01-012023-12-310001438423us-gaap:RoyaltyMember2022-01-012022-12-3100014384232023-04-012023-06-300001438423mram:GlobalfoundriesMembermram:JointDevelopmentAgreementMember2014-10-172014-10-170001438423mram:CreditFacility2019Member2022-12-3100014384232022-01-012022-12-310001438423us-gaap:DomesticCountryMember2023-12-310001438423mram:RadHardProduct1AgreementMember2022-01-012023-12-3100014384232023-12-3100014384232022-12-3100014384232023-10-012023-12-3100014384232023-06-3000014384232024-02-2600014384232023-01-012023-12-31xbrli:sharesiso4217:USDxbrli:pureiso4217:USDxbrli:shares

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

Washington, D.C. 20549

FORM 10-K

(Mark One)

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

For the fiscal year ended December 31, 2023

OR

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

Commission File Number 001-37900

Everspin Technologies, Inc.

(Exact name of Registrant as specified in its Charter)

Delaware

26-2640654

(State or other jurisdiction
of incorporation or organization)

(I.R.S. Employer
Identification No.)

5670 W. Chandler Boulevard, Suite 130

Chandler, Arizona 85226

(Address of principal executive offices including zip code)

Registrant’s telephone number, including area code: (480347-1111

Securities registered pursuant to Section 12(b) of the Act:

Title of each class

Trading Symbol(s)

Name of the exchange on which registered

Common Stock, par value $0.0001

MRAM

The Nasdaq Stock Market LLC

Securities registered pursuant to Section 12(g) of the Act: None

Indicate by check mark if the Registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act.  YES      NO  

Indicate by check mark if the Registrant is not required to file reports pursuant to Section 13 or 15(d) of the Act.  YES      NO  

Indicate by check mark whether the Registrant: (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the Registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.  YES      NO  

Indicate by check mark whether the Registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (§232.405 of this chapter) during the preceding 12 months (or for such shorter period that the Registrant was required to submit such files).  YES      NO  

Indicate by check mark whether the Registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of “large accelerated filer”, “accelerated filer”, “smaller reporting company,” and “emerging growth company” in Rule 12b-2 of the Exchange Act.

Large accelerated filer

Accelerated filer

 

 

 

Non-accelerated filer

  

Smaller reporting company

 

Emerging growth company

 

If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.

Indicate by check mark whether the Registrant has filed a report on and attestation to its management’s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report.

If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements.

Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant’s executive officers during the relevant recovery period pursuant to §240.10D-1(b).

Indicate by check mark whether the Registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).   YES      NO  

As of June 30, 2023, the last business day of the Registrant’s most recently completed second fiscal quarter, the aggregate market value of the common stock of the Registrant held by non-affiliates, based upon the closing sales price for the Registrant’s common stock for such date, as quoted on the Nasdaq Global Market, was approximately $191.0 million. Shares of common stock held by each officer, director and entities affiliated with directors have been excluded because such persons may be deemed to be “affiliates” as that term is defined under the rules and regulations of the Exchange Act. This determination of affiliate status is not necessarily a conclusive determination for any other purpose.

The number of shares of Registrant’s common stock outstanding as of February 26, 2024, was 21,225,496.

DOCUMENTS INCORPORATED BY REFERENCE

Portions of the Registrant’s Definitive Proxy Statement relating to the 2024 Annual Meeting of Stockholders, which will be filed with the Securities and Exchange Commission within 120 days after the end of the Registrant’s fiscal year ended December 31, 2023, are incorporated by reference into Part III of this Annual Report on Form 10-K.

Table of Contents

Page

PART I

Item 1.

Business

5

Item 1A.

Risk Factors

11

Item 1B.

Unresolved Staff Comments

26

Item 1C.

Cybersecurity

26

Item 2.

Properties

28

Item 3.

Legal Proceedings

28

Item 4.

Mine Safety Disclosures

28

PART II

Item 5.

Market for Registrant’s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities

29

Item 6.

[Reserved]

29

Item 7.

Management’s Discussion and Analysis of Financial Condition and Results of Operations

30

Item 7A.

Quantitative and Qualitative Disclosures About Market Risk

38

Item 8.

Financial Statements and Supplementary Data

39

Item 9.

Changes in and Disagreements With Accountants on Accounting and Financial Disclosure

64

Item 9A.

Controls and Procedures

64

Item 9B.

Other Information

65

Item 9C.

Disclosure Regarding Foreign Jurisdictions that Prevent Inspections

65

PART III

Item 10.

Directors, Executive Officers and Corporate Governance

66

Item 11.

Executive Compensation

66

Item 12.

Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters

66

Item 13.

Certain Relationships and Related Transactions, and Director Independence

66

Item 14.

Principal Accountant Fees and Services

66

PART IV

Item 15.

Exhibits and Financial Statement Schedules

67

Item 16.

Form 10-K Summary

74

SIGNATURES

75

2

Forward-Looking Statements

This Annual Report on Form 10-K contains forward-looking statements concerning our business, operations and financial performance and condition, as well as our plans, objectives and expectations for our business operations and financial performance and condition. Any statements contained herein that are statements of events or results that may occur in the future are deemed to be forward-looking statements. In some cases, forward-looking statements can be identified by terminology such as “aim,” “anticipate,” “assume,” “believe,” “continue,” “could,” “due,” “estimate,” “expect,” “goal,” “intend,” “may,” “objective,” “plan,” “predict,” “potential,” “positioned,” “seek,” “should,” “will,” “would,” 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, although not all forward-looking statements contain these words. These forward-looking statements include, but are not limited to, statements about:

estimates of our future revenue, expenses, capital requirements and our needs for additional financing;
the implementation of our business model and strategic plans for our products, technologies and businesses;
our expectations regarding current supply constraints;
competitive companies and technologies and our industry;
our ability to manage and grow our business by expanding our sales to existing customers or introducing our products to new customers;
our ability to establish and maintain intellectual property (IP) protection for our products or avoid claims of infringement;
our ability to hire and retain key personnel;
our financial performance;
our estimates of the MRAM market opportunity; and
the volatility of our share price.

Forward-looking statements are based on management’s current expectations, estimates, forecasts, and projections about our business and the industry in which we operate, and management’s beliefs and assumptions are not guarantees of future performance or development and involve known and unknown risks, uncertainties, and other factors that are in some cases beyond our control. As a result, any or all of our forward-looking statements in this report may turn out to be inaccurate. Furthermore, if the forward-looking statements prove to be inaccurate, the inaccuracy may be material. In light of the significant uncertainties in these forward-looking statements, these statements should not be regarded as a representation or warranty by us or any other person that we will achieve our objectives and plans in any specified time frame, or at all. Factors that may cause actual results to differ materially from current expectations include, among other things, those listed under “Risk Factors” and elsewhere in this report. These statements, like all statements in this report, speak only as of their date, and we undertake no obligation to update or revise these statements in light of future developments. Additionally, there may be other risks that are otherwise described from time to time in the reports that we file with the Securities and Exchange Commission (SEC). We caution investors that our business and financial performance are subject to substantial risks and uncertainties. Except as required by law, we assume no obligation to update or revise these forward-looking statements for any reason, even if new information becomes available in the future.

In addition, statements that “we believe” and similar statements reflect our beliefs and opinions on the relevant subject. These statements are based upon information available to us as of the date of this report, and while we believe such information forms a reasonable basis for such statements, such information may be limited or incomplete, and our statements should not be read to indicate that we have conducted an exhaustive inquiry into, or review of, all potentially available relevant information. These statements are inherently uncertain and investors are cautioned not to unduly rely upon these statements.

3

Risk Factor Summary

We are subject to a variety of risks and uncertainties, including risks related to our financial condition, risks related to our business and our industry, risks related to our intellectual property and technology, risks related to regulatory matters and compliance, risks related to our common stock and certain general risks, which could have a material adverse effect on our business, financial condition, results of operations and cash flows. These risks include, but are not limited to, the following principal risks:

We may need additional funding and may be unable to raise capital when needed, which could force us to delay, reduce, or eliminate planned activities.
We cannot be certain that we will sustain profitability.
The limited history of STT-MRAM adoption makes it difficult to evaluate our current business and future prospects.
We may be unable to match production with customer demand for a variety of reasons including macroeconomic factors due to the cyclical nature of the semiconductor industry, our inability to accurately forecast customer demand, supply chain constraints, or the capacity constraints of our suppliers, which could adversely affect our operating results.
As we expand into new potential markets, we expect to face intense competition, including from our customers and potential customers, and may not be able to compete effectively, which could harm our business.
We rely on third parties to distribute, manufacture, package, assemble and test our products, which exposes us to a number of risks, including reduced control over manufacturing and delivery timing and potential exposure to price fluctuations, which could result in a loss of revenue or reduced profitability.
Disruptions in our supply chain may adversely impact our ability to fulfill customer demand which, in turn, may adversely impact our business, results of operations, and financial condition.
Our joint development agreement and strategic relationships involve numerous risks.
We must continuously develop new and enhanced products, and if we are unable to successfully market our new and enhanced products for which we incur significant expenses to develop, our results of operations and financial condition will be materially adversely affected.
Our success and future revenue depend on our ability to secure design wins and on our customers’ ability to successfully sell the products that incorporate our solutions. Securing design wins is a lengthy, expensive, and competitive process, and may not result in actual orders and sales, which could cause our revenue to decline.
The loss of one or several of our customers or reduced orders or pricing from existing customers may have a significant adverse effect on our operations and financial results.
We face competition and expect competition to increase in the future. If we fail to compete effectively, our revenue growth and results of operations will be materially and adversely affected.
Our costs may increase substantially if we or our third-party manufacturing contractors do not achieve satisfactory product yields or quality.
The complexity of our products may lead to defects, which could negatively impact our reputation with customers and result in liability.
We may experience difficulties in transitioning to new wafer fabrication process technologies or in achieving higher levels of design integration, which may result in reduced manufacturing yields, delays in product deliveries and increased expenses.
Changes to industry standards and technical requirements relevant to our products and markets could adversely affect our business, results of operations, and prospects.
Our success depends on our ability to attract and retain key employees, and our failure to do so could harm our ability to grow our business and execute our business strategies.

4

We currently maintain, and are seeking to expand, operations outside the United States which exposes us to significant risks.

For a more complete discussion of the material risk factors applicable to us, see “Risk Factors” in Part I, Item 1A of this report.

PART I

Item 1. Business.

General

Everspin is a pioneer in the successful commercialization of Magnetoresistive Random Access Memory (MRAM) technology. Our portfolio of MRAM technologies, including Toggle MRAM and Spin-transfer Torque MRAM (STT-MRAM), is delivering superior performance, persistence and reliability in non-volatile memories that transform how mission-critical data is protected against power loss. With over 15 years of MRAM technology and manufacturing leadership, our memory solutions deliver significant value to our customers in key markets such as industrial, medical, automotive/transportation, aerospace, and data center. We are the leading supplier of discrete MRAM components and a successful licensor of our broad portfolio of related technology intellectual property.

We sell our products directly and through our established distribution channels to industry-leading original equipment manufacturers (OEMs) and original design manufacturers (ODMs).

We manufacture our MRAM products using both captive and third-party manufacturing capabilities. We purchase industry-standard complementary metal-oxide semiconductor (CMOS) wafers from semiconductor foundries and perform back end of line (BEOL) processing that includes our magnetic-bit technology at our 200mm fabrication facility in Chandler, Arizona. We also manufacture full-flow 300mm CMOS wafers with our STT-MRAM magnetic-bit technology integrated in BEOL as part of our strategic relationship with GLOBALFOUNDRIES.

For the years ended December 31, 2023 and 2022, we recorded revenue of $63.8 million and $60.0 million, gross margin of 58.4% and 56.6%, and net income of $9.1 million and $6.1 million, respectively. Our headquarters is located in Chandler, Arizona. Our principal design center is in Austin, Texas, and we have additional sales operations in the Americas, Europe, and Asia-Pacific regions.

Product Overview

We have a strong track record of innovation in MRAM technology, as demonstrated by our successive introduction of MRAM products that address an increasingly broad spectrum of applications. Our MRAM discrete solutions as well as other offerings are described as follows:

Toggle MRAM

Our Toggle MRAM products have been in production since 2008 and are currently shipping in 128kb to 32Mb densities. These high performance, non-volatile memories are designed primarily to address applications in the industrial, medical, automotive/transportation, and data center markets. We offer these products with industry standard interfaces, including Parallel, Serial Peripheral Interface (SPI) and Quad SPI (QSPI) interfaces, enabling our customers to easily replace legacy memory components like Static Random Access Memory (SRAM) and Ferroelectric Random Access Memory (FRAM) with Toggle MRAM. We have never had an end-of-life event for any of our Toggle MRAM products which enables our customers to design in a product with the assurance that it will be available for many years to come.

Spin-Transfer Torque MRAM

STT-MRAM technology can be tuned to deliver products in Dynamic Random Access Memory (DRAM), SRAM and NOR Flash applications. Our STT-MRAM products targeting DRAM replacement started production in 2017 and are currently shipping in 256Mb and 1Gb densities. These high density, high performance persistent memories are

5

delivering significant value to SSD, Persistent Memory Cards, Fabric Accelerator, and other applications in the data center market. We offer these products with DDR3 and DDR4 derivative interfaces, facilitating the replacement of battery-backed DRAM with STT-MRAM.

STT-MRAM enabled scaling of our Toggle MRAM products to higher densities on advanced CMOS nodes. In 2022, we started production of high density (8Mb to 128Mb) STT-MRAM products on 28nm CMOS node with standardized SPI, xSPI, QSPI, and Octal SPI (OSPI) interfaces. These products are enabling our customers to simplify their system architecture and easily replace legacy memory components like SRAM and FRAM. They are ideal for use in electronic systems where data persistence and integrity, low power, low latency, and security are paramount, such as industrial IoT, artificial intelligence (AI), network/enterprise infrastructure, process automation and control, aeronautics/avionics, medical, and gaming.

Due to the limitations of NOR scaling past 45nm and availability of STT-MRAM on 22nm technology, we believe there is potential for STT-MRAM to enter multiple non-volatile memory (NVM) markets where fast reads/writes, high cycle counts, and extended data retention are required. We introduced the first STT-MRAM product addressing this segment of the market in 2022 and are currently shipping in 16Mb to 128Mb densities. STT-MRAM is uniquely positioned to deliver higher density (> 256Mb) monolithic parts for NOR replacement. These products are ideal for replacing NOR in Field Programmable Gate Array (FPGA) systems to store configuration memory and simultaneously enabling 100x faster Over The Air (OTA) updates. Today, no viable single chip solution exists except STT-MRAM.

Typically, on power up of a FPGA, the configuration memory that is stored off- or on- chip in a NOR chip is downloaded to the SRAM cells that execute the Look Up Tables (LUTs). This sequence of events creates a time lag between the power up and the execution of the LUTs. In addition, there is a security concern with the download of the configuration bit stream from the NOR to the SRAM. We have developed our STT-MRAM technology to act as the "configuration memory” in a FPGA eliminating the security concern and enabling instant-on characteristics. Furthermore, the STT-MRAM based configuration memory can be programmed multiple times with OTA updates or can be hard coded depending on the application. Since STT-MRAM can be scaled to advanced nodes and is already available on 22nm, monolithic embedded solutions are possible, we believe this solution is ideal for next generation FPGAs.

TMR Sensors

Our 3D Tunnel Magneto Resistance (TMR) sensors provide extremely high magnetic sensitivity in a single component that performs 3D magnetic field measurements in a monolithic solution. We offer these die-level devices to be integrated into consumer electronic applications that utilize a high sensitivity 3D compass function.

Licensing, Royalty, and Patent Overview

We leverage our broad IP portfolio to enable licensing, royalty revenue streams, and patent sales from non-core applications that can derive valuable differentiation through the use of Everspin MRAM and TMR sensor IP. For example, this includes the following:

We have licensed GLOBALFOUNDRIES to offer embedded MRAM in the solutions they manufacture for their customers providing high-performance non-volatile embedded memory.
We have licensed base MRAM design technology (EAR99) for use in radiation tolerant aerospace applications to customers for their custom designs.
We have licensed TMR sensor IP in 3D magnetic field sensing.
We have completed patent sales by transferring, assigning, and delivering patents to customers.
We have executed agreements for the development of a strategic radiation hardened (RAD-Hard) field programmable gate array product, consisting of technology and design licenses.

Foundry Services Overview

In our Chandler facility, we perform BEOL manufacturing services for customers who want to add MRAM and TMR sensor functionality to their memory or application base circuits. These services allow aerospace and satellite

6

electronic system manufacturers to integrate our EAR99 technology that is able to withstand exposure to the levels of radiation encountered in avionics and space applications by virtue of such technology being magnetic rather than electrical charge based which would be susceptible to alpha particles.

Sales and Marketing

We sell our products through a direct sales channel and a network of representatives and distributors. The majority of our customers, and their associated contract manufacturers, buy our products through our distributors. We maintain sales, support, supply chain and logistics operations and have distributors in Asia to service the production needs of contract manufacturers. We also maintain direct selling relationships with several strategic customers. Our direct sales representatives are located in North America, Germany, Italy, Japan, Hong Kong, and Taiwan.

Our typical sales cycle consists of a sales and development process in which our field engineers and sales personnel work closely with our customers’ design engineers. This process can take from three to 18 months to complete, and a successful sales cycle culminates in a design win. Note that some customers of our STT-MRAM products may need to modify their controllers to integrate our technology, adding additional time to the cycle. Once we establish a relationship with a customer, we continue a sales process to maintain our position and to secure subsequent new design wins at the customer. Each customer lead, whether new or existing, is tracked through our CRM tool and followed in stages of prospect, design in, design win and production. This tracking results in a design win pipeline that provides a measure of the future business potential of the opportunities.

We have established relationships with several storage controller and FPGA companies, including Phison Electronics, Sage Micro, and Xilinx as well as IP core companies, including Cadence and Northwest Logic, to facilitate the integration of our MRAM solutions into our customers’ end products.

Our technical support personnel have expertise in hardware and software, and have access to our development team to ensure proper service and support for our OEM customers. Our field application and engineering team provides technical training and design support to our customers.

We consider our customer to be an end customer purchasing either directly from a distributor or a contract manufacturer, or a customer purchasing directly from us. An end customer purchasing through a contract manufacturer typically instructs the contract manufacturer to obtain our products and to incorporate our products with other components for sale by the contract manufacturer to the end customer. Although we actually sell the products to, and are paid by, the distributors and contract manufacturers, we refer to the end customer as our customer.

During the year ended December 31, 2023, more than 1,400 end customers purchased our products. Our two largest end customers together accounted for 22% of our total revenue for the year ended December 31, 2023, and each of these customers accounted for more than 10% of our revenue during that period. Our four largest end customers together accounted for 24% of our total revenue for the year ended December 31, 2022, and one of those customers individually accounted for more than 10% of our total revenue during the period.

Manufacturing

We rely on third-party suppliers for most phases of the manufacturing process, including initial fabrication, final test, and assembly.

Wafer Manufacturing

We perform BEOL manufacturing for our Toggle MRAM products and provide foundry services for licensed MRAM products and Magnetic Tunnel Junction (MTJ)-based sensors in our 200mm manufacturing facility. Our facility is in an ISO-4 clean room and our manufacturing line is ISO 9001:2015 certified. We actively manage inventory, including automated process flows, process controls and recipe management, and we use standard equipment to manufacture our products.

Our STT-MRAM products are produced in 300mm fabrication facilities operated by GLOBALFOUNDRIES.

7

Assembly and Test

Our product and test engineering teams develop and implement wafer-level and final test programs for the manufacture of our MRAM devices.

We utilize third-party industry-leading assembly and test sub-contractors, including Amkor, OSE, GTC, ChipMos and UTAC. We have successfully qualified our MRAM devices in various packages at temperatures ranging from commercial to automotive grade. As part of our commitment to quality, our quality management system has been certified to ISO 9001:2015 and ISO 14001:2015 standards. Our foundry vendors and sub-contractors are also ISO 9001 and ISO 14001 certified.

Arrangements with GLOBALFOUNDRIES

Joint Development Agreement

Since October 17, 2014, we have participated in a joint development agreement with GLOBALFOUNDRIES Inc., a semiconductor foundry, for the joint development of STT-MRAM technology to produce a family of discrete and embedded MRAM technologies. The term of the agreement is until the completion, termination, or expiration of the last statement of work entered into pursuant to the joint development agreement. The agreement was extended on December 31, 2019 to include a new phase of support for 12nm MRAM development.

The joint development agreement also states that the specific terms and conditions for the production and supply of the developed MRAM technology would be pursuant to a separate manufacturing agreement entered into between the parties. See “Manufacturing Agreement” below.

Under the joint development agreement, each party granted licenses to its relevant intellectual property to the other party. For certain jointly developed works, the parties have agreed to follow an invention allocation procedure to determine ownership. In addition, GLOBALFOUNDRIES possesses the exclusive right to manufacture our discrete and embedded STT-MRAM devices developed pursuant to the agreement until the earlier of three years after the qualification of the MRAM device for a particular technology node or four years after the completion of the relevant statement of work under which the device was developed. For the same exclusivity period associated with the relevant device, GLOBALFOUNDRIES agreed not to license intellectual property developed in connection with the agreement to named competitors of ours.

If GLOBALFOUNDRIES manufactures, sells, or transfers wafers containing production qualified MRAM devices that utilized certain Everspin design information to its customers, GLOBALFOUNDRIES will pay royalties to us for each such wafer transferred or sold to a customer.

Except for breaches of confidentiality provisions and each party’s indemnification obligations to one another under the agreement, liability under the agreement is capped at a range depending on project costs and royalty amounts. Either party may terminate the agreement if the other party materially breaches a term of the agreement, and fails to remedy the breach after receiving notice from the non-breaching party. If a party terminates the manufacturing agreement for material breach in accordance with its terms, that party may also terminate the joint development agreement.

See “Risk Factors” for further discussion of our agreements with GLOBALFOUNDRIES.

Manufacturing Agreement

On October 23, 2014, we entered into a manufacturing agreement with GLOBALFOUNDRIES Singapore Pte. Ltd. that sets forth the specific terms and conditions for the production and supply of wafers manufactured using our STT-MRAM technology developed under the joint development agreement with GLOBALFOUNDRIES. Pursuant to that joint development agreement, GLOBALFOUNDRIES possesses certain exclusive rights to manufacture such wafers for our discrete and embedded STT-MRAM devices. Our manufacturing agreement with GLOBALFOUNDRIES includes a customary forecast and ordering mechanism for the supply of certain of our wafers, and we are obligated to order and pay for, and GLOBALFOUNDRIES is obligated to supply, wafers consistent with the binding portion of our forecast. GLOBALFOUNDRIES also has the ability to discontinue its manufacture of any of our wafers upon due notice and

8

completion of the notice period. The initial term of the manufacturing agreement is for three years, which automatically renews for successive one year periods thereafter unless either party provides sufficient advance notice of non-renewal.

Except for breaches of confidentiality provisions and each party’s indemnification obligations to one another under the agreement, liability under the agreement is capped at the lesser of a set amount or the total purchase price received by GLOBALFOUNDRIES from us in the 12 months immediately preceding the claim for the specific product that caused the damages. Either party may terminate the agreement if the other party materially breaches a term of the agreement, and fails to remedy the breach after receiving notice from the non-breaching party. GLOBALFOUNDRIES may terminate the agreement if we fail to pay any undisputed sum which has been outstanding for sixty or more days from the date of invoice.

Product Warranty

Because the design and manufacturing process for semiconductor products is highly complex, it is possible that we may produce products that do not comply with applicable specifications, contain defects, or are otherwise incompatible with end uses. In accordance with industry practice, we generally provide a limited warranty that our products are in compliance with applicable specifications existing at the time of delivery and will operate to those specifications during a stated warranty period. Under our standard terms and conditions of sale, liability for certain failures of product during a stated warranty period is usually limited to repair or replacement of defective items or return of, or a credit with respect to, amounts paid for such items. Under certain circumstances, we provide more extensive limited warranty coverage than that provided under our standard terms and conditions.

Competition

As an emerging specialty memory product supplier, we face intense competition from a wide variety of other memory technology manufacturers.

Our principal competitors to our Toggle MRAM products include companies that offer nonvolatile SRAM (NVSRAM), SRAM, and FRAM products, such as Infineon, Fujitsu, Integrated Silicon Solution (ISSI), Macronix, Microchip, Micron, Renesas, Samsung and Toshiba. Our STT-MRAM products replace discrete NOR, DRAM and NVSRAM where persistence is required and thus compete with DRAM and NVSRAM suppliers such as Hynix, Micron, Winbond, Samsung, and several other smaller companies. In the future we may also face competition from companies developing MRAM technologies, such as Avalanche, Samsung and other larger and smaller semiconductor companies. We may also face indirect competition from resistive random-access memory (RRAM), NOR and NAND Flash manufacturers in some market applications.

Our ability to compete successfully in the market for our products is based on a number of factors, including:

our products’ attributes and specifications;
customer adoption of MRAM technology despite the price per bit premium of our products versus competing technologies;
successful controller supplier and customer engagements throughout the product life cycle;
high quality and reliability as measured by our customers;
the ease of implementation of our products by customers;
preferred supplier status at numerous customers and ODMs;
manufacturing expertise and strength;
product manufacturing yield analysis and testing;
manufacturing capacity and allocation;
reputation and strength of customer relationships;
competitive pricing in the market against the competition while maintaining our gross margin profile; and

9

our success in meeting the needs of future customer requirements through continued development of new products.

Intellectual Property

Our success depends, in part, on our ability to protect our products and technologies from unauthorized third-party copying and use. To accomplish this, we rely on a combination of intellectual property rights, including patents, trade secrets, copyrights, and trademarks, as well as customary contractual protections. As of December 31, 2023, we held 529 issued patents that expire at various times between March 2026 and February 2044 and had 136 patent applications pending. Included in our issued patents and pending applications are patents/applications in the United States, China, Europe, France, Germany, Ireland, Italy, Japan, the Netherlands, the Republic of Korea, Singapore, Taiwan, and the United Kingdom.

We seek to file for patents that have broad application in the semiconductor industry and that would be helpful in the magnetoresistive memory and sensor markets. However, there can be no assurance that our pending patent applications or any future applications will be approved, that any issued patents will provide us with competitive advantages or will not be challenged by third parties, or that the patents or applications of others will not have an adverse effect on our ability to do business. In addition, there can be no assurance that others will not independently develop substantially equivalent intellectual property or otherwise gain access to our trade secrets or intellectual property, or disclose such intellectual property or trade secrets, or that we can effectively protect our intellectual property.

We seek to enforce our IP and to monetize our patent portfolio through licensing of third parties and patent sales in return for cash remuneration, patent cross licenses or both. See “Licensing, Royalty, and Patent Overview” for additional information.

We generally control access to and use of our confidential information through employing internal and external controls, including contractual protections with employees, contractors, and customers. We rely in part on U.S. and international copyright laws to protect our intellectual property. All employees and consultants are required to execute confidentiality agreements in connection with their employment and consulting relationships with us. We also require them to agree to disclose and assign to us all inventions conceived or made in connection with the employment or consulting relationship.

Environmental Regulation

We must comply with many different federal, state, local and foreign governmental regulations related to the use, storage, discharge and disposal of certain chemicals and gases used in our manufacturing processes. Our facilities have been designed to comply with these regulations and we believe that our activities are conducted in material compliance with such regulations. Any changes in such regulations or in their enforcement could require us to acquire costly equipment or to incur other significant expenses to comply with environmental regulations. Any failure by us to adequately control the storage, use, discharge, and disposal of regulated substances could result in significant future liabilities.

Employees

As of December 31, 2023, we had 83 total employees in the United States, of which 82 were full-time employees and one was a part-time employee, along with 18 full-time equivalent and four part-time equivalent contractors and consultants in the United States, China, Germany, Italy, Japan, Malaysia, Singapore, and Taiwan. None of our employees are either represented by a labor union or subject to a collective bargaining agreement. We have not experienced any work stoppages, and we consider our relations with our employees and contractors to be good.

Corporate Information

We were incorporated in Delaware in May 2008. In June 2008, Freescale Semiconductor, Inc. (now a wholly-owned subsidiary of NXP Semiconductors N.V.), spun-out its MRAM business as Everspin. Our offices are located at 5670 W. Chandler Boulevard, Suite 130, Chandler, Arizona 85226. Our telephone number is (480) 347-1111. Our corporate website is at www.Everspin.com.

10

Available Information

Our annual report on Form 10-K, quarterly reports on Form 10-Q, current reports on Form 8-K, and amendments to those reports filed or furnished pursuant to Section 13(a) or 15(d) of the Securities Exchange Act of 1934, as amended (Exchange Act), are available free of charge on our website, as soon as reasonably practicable after we electronically file them with, or furnish them to, the SEC. The information contained on or that can be accessed through our website is not incorporated by reference into this report, and information on our website should not be considered to be part of this report.

Item 1A. Risk Factors.

The following are important factors that could cause actual results or events to differ materially from those contained in any forward-looking statements made by us or on our behalf. The risks and uncertainties described below are not the only ones we face. Additional risks and uncertainties not presently known to us or that we deem immaterial also may impair our business operations. If any of the following risks or such other risks actually occurs, our business, financial condition, results of operations and cash flows could be harmed.

Risk Factors Related to Our Financial Condition

We may need additional funding and may be unable to raise capital when needed, which could force us to delay, reduce, or eliminate planned activities.

Our total revenue was approximately $63.8 million for the year ended December 31, 2023, and $60.0 million for the year ended December 31, 2022. As of December 31, 2023, we had cash and cash equivalents of approximately $36.9 million. Based on our current operating plan, we believe our existing cash and cash equivalents, coupled with our anticipated growth and sales levels, will be sufficient to meet our anticipated cash requirements for at least the next 12 months. However, our existing capital may be insufficient to meet our long-term requirements. We have no committed sources of funding and there is no assurance that additional funding will be available to us in the future or be secured on acceptable terms. If adequate funding is not available when needed, we may be forced to curtail operations, including our commercial activities and research and development programs, or cease operations altogether, file for bankruptcy, or undertake any combination of the foregoing. In such event, our stockholders may lose their entire investment in our company.

Further, we may need to raise additional funds through financings or borrowings in order to accomplish our long-term planned objectives. If we raise additional funds through issuances of equity, convertible debt securities or other securities convertible into equity, our existing stockholders could suffer significant dilution in their percentage ownership of our company, and any new equity securities we issue could have rights, preferences, and privileges senior to those of holders of our common stock.

In addition, if we do not meet our payment obligations to third parties as they become due, we may be subject to litigation claims and our creditworthiness would be adversely affected. Even if we are successful in defending against these claims, litigation could result in substantial costs and would be a distraction to management, and may have other unfavorable results that could further adversely impact our financial condition. Stockholders should not rely on our balance sheet as an indication of the amount of proceeds that would be available to satisfy claims of creditors, and potentially be available for distribution to stockholders, in the event of liquidation.

We cannot be certain that we will sustain profitability.

While our products offer unique benefits over other industry memory technologies, the rate of adoption of our products and our ability to capture market share from legacy technologies is uncertain. Our revenue may also be adversely impacted by a number of other possible reasons, many of which are outside our control, including business conditions that adversely affect the semiconductor memory industry resulting in a decline in end market demand for our products, adverse impacts resulting from COVID-19, increased competition, ongoing supply chain constraints, or our failure to capitalize on growth opportunities. We also rely on achieving specific cost reduction targets that have uncertainty in their timing and magnitude. We may also incur unforeseen expenses in the ongoing operation of our

11

business that cause us to exceed our operational spending plan. As a result, our ability to generate sufficient revenue growth and/or control expenses to transition to profitability and generate consistent positive cash flows is uncertain.

Risk Factors Related to Our Business and Our Industry

The limited history of STT-MRAM adoption makes it difficult to evaluate our current business and future prospects.

We have been in existence as a stand-alone company since 2008, when Freescale Semiconductor, Inc. (subsequently acquired by NXP Semiconductor) spun-out its MRAM business as Everspin. We have been shipping magnetoresistive random-access memory (MRAM) products since our incorporation in 2008. However, we only began to manufacture and ship our STT-MRAM products in the fourth quarter of 2017. We began to manufacture our second set of STT-MRAM products targeting the NVSRAM markets in the fourth quarter of 2022.

Our limited experience in selling our STT-MRAM products, combined with the rapidly evolving and competitive nature of our markets, makes it difficult to evaluate our current business and future prospects. In addition, we have limited insight into emerging trends that may adversely affect our business, financial condition, results of operations and prospects. We have encountered and will continue to encounter risks and difficulties frequently experienced by growing companies in rapidly changing industries, including unpredictable and volatile revenue and increased expenses as we continue to grow our business. The viability and demand for our products may be affected by many factors outside of our control, such as the factors affecting the growth of the industrial, automotive, transportation, and data center market segments and changes in macroeconomic conditions. If we do not manage these risks and overcome these difficulties successfully, our business will suffer.

We may be unable to match production with customer demand for a variety of reasons including macroeconomic factors due to the cyclical nature of the semiconductor industry, our inability to accurately forecast customer demand, supply chain constraints, or the capacity constraints of our suppliers, which could adversely affect our operating results.

We make planning and spending decisions, including determining production levels, production schedules, component procurement commitments, personnel needs, and other resource requirements, based on our estimates of product demand and customer requirements. Our products are typically purchased pursuant to individual purchase orders. While our customers may provide us with their demand forecasts, they are not contractually committed to buy any quantity of products beyond purchase orders. Furthermore, many of our customers may increase, decrease, cancel, or delay purchase orders already in place without significant penalty. The short-term nature of commitments by our customers and the possibility of unexpected changes in demand for their products reduce our ability to accurately estimate future customer requirements. On occasion, customers may require rapid increases in production, which can strain our resources, necessitate more onerous procurement commitments, and reduce our gross margin. If we overestimate customer demand, we may purchase products that we may not be able to sell, which could result in decreases in our prices or write-downs of unsold inventory. Conversely, we could lose sales opportunities and could lose market share or damage our customer relationships if, for example, we underestimate customer demand, are affected by supply chain constraints, or sufficient manufacturing is unavailable. We manufacture MRAM products at our 200mm facility we lease in Chandler, Arizona and use a single foundry, GLOBALFOUNDRIES, for production of higher density products on advanced technology nodes, which may not have sufficient capacity to meet customer demand. The rapid pace of innovation in our industry could also render significant portions of our inventory obsolete. Excess or obsolete inventory levels could result in unexpected expenses or write-downs of inventory values that could adversely affect our business, operating results, and financial condition.

As we expand into new potential markets, we expect to face intense competition, including from our customers and potential customers, and may not be able to compete effectively, which could harm our business.

We expect that our new and future MRAM products will be applicable to markets in which we are not currently operating. The markets in which we operate and may operate in the future are extremely competitive and are characterized by rapid technological change, continuous evolving customer requirements and declining average selling prices. We may not be able to compete successfully against current or potential competitors, which include our current or potential customers as they seek to internally develop solutions competitive with ours or as we develop products potentially competitive with their existing products. If we do not compete successfully, our market share and revenue may decline. We compete with large semiconductor manufacturers and designers and others, and our current and

12

potential competitors have longer operating histories, significantly greater resources and name recognition and a larger base of customers than we do. This may allow them to respond more quickly than we can to new or emerging technologies or changes in customer requirements. In addition, these competitors may have greater credibility with our existing and potential customers. Some of our current and potential customers with their own internally developed solutions may choose not to purchase products from third-party suppliers like us.

We rely on third parties to distribute, manufacture, package, assemble and test our products, which exposes us to a number of risks, including reduced control over manufacturing and delivery timing and potential exposure to price fluctuations, which could result in a loss of revenue or reduced profitability.

Although we operate an integrated magnetic fabrication line located in Chandler, Arizona, we purchase wafers from third parties and outsource the manufacturing, packaging, assembly and testing of our products to third-party foundries and assembly and testing service providers. We use a single foundry, GLOBALFOUNDRIES Singapore Pte. Ltd., for production of higher density products on advanced technology nodes. Our primary product package and test operations are located in China, Taiwan and other Asian countries. We also use standard CMOS wafers from third-party foundries, which we process at our Chandler, Arizona facility.

Relying on third-party distribution, manufacturing, assembly, packaging, and testing presents a number of risks, including but not limited to:

    our interests could diverge from those of our foundries, or we may not be able to agree with them on ongoing development, manufacturing and operational activities, or on the amount, timing, or nature of further investments in our joint development;

    capacity and materials shortages during periods of high demand or supply constraints;

    reduced control over delivery schedules, inventories and quality;

    the unavailability of, or potential delays in obtaining access to, key process technologies;

    the inability to achieve required production or test capacity and acceptable yields on a timely basis;

    misappropriation of our intellectual property;

    the third party’s ability to perform its obligations due to bankruptcy or other financial constraints;

    exclusive representatives for certain customer engagements;

    limited warranties on wafers or products supplied to us; and

    potential increases in prices including due to inflation.

Our manufacturing agreement with GLOBALFOUNDRIES includes a customary forecast and ordering mechanism for the supply of certain of our wafers, and we are obligated to order and pay for, and GLOBALFOUNDRIES is obligated to supply, wafers consistent with the binding portion of our forecast. However, our manufacturing arrangement is also subject to both a minimum and maximum order quantity that while we believe currently addresses our projected foundry capacity needs, may not address our maximum foundry capacity requirements in the future. We may also be obligated to pay for unused capacity if our demand decreases in the future, or if our estimates prove inaccurate. GLOBALFOUNDRIES also has the ability to discontinue its manufacture of any of our wafers upon due notice and completion of the notice period. This could cause us to have to find another foundry to manufacture those wafers or redesign our core technology and would mean that we may not have products to sell until such time. Any time spent engaging a new manufacturer or redesigning our core technology could be costly and time consuming and may allow potential competitors to take opportunities in the marketplace. Moreover, if we are unable to find another foundry to manufacture our products or if we have to redesign our core technology, this could cause material harm to our business and operating results.

13

If we need other foundries or packaging, assembly, and testing contractors, or if we are unable to obtain timely and adequate deliveries from our providers, we might not be able to cost-effectively and quickly retain other vendors to satisfy our requirements. Because the lead time needed to establish a relationship with a new third-party supplier could be several quarters, there is no readily available alternative source of supply for any specific component. In addition, the time and expense to qualify a new foundry could result in additional expense, diversion of resources or lost sales, any of which would negatively impact our financial results.

If any of our current or future foundries or packaging, assembly and testing subcontractors significantly increases the costs of wafers or other materials or services, interrupts or reduces our supply, including for reasons outside of their control, such as due to COVID-19, or if any of our relationships with our suppliers is terminated, our operating results could be adversely affected. Such occurrences could also damage our customer relationships, result in lost revenue, cause a loss in market share, or damage our reputation.

Disruptions in our supply chain and increased cost of components used in our products may adversely impact our business, results of operations and financial condition, including our ability to fulfill customer demand.

If we fail to procure sufficient components used in our products, we may be unable to deliver our products to our customers on a timely basis, which could lead to customer dissatisfaction and could harm our reputation and ability to compete. We would likely experience significant delays or cessation in producing some of our products if a labor strike, natural disaster, public health crisis, geopolitical event, or other supply disruption were to occur, including as a result of COVID-19 or the military conflict in Ukraine, at any of our main suppliers.

Further, the upturn in the semiconductor industry has stretched the supply chain, and we are subject to supply shortages, as well as higher costs as suppliers opportunistically raise prices. For example, there is currently a worldwide shortage of semiconductor, memory and other electronic components affecting many industries. Our products are dependent on some of these electronic components. A continued shortage of electronic components may impact us significantly and could cause us to experience extended lead times and increased prices from our suppliers, which could be significant. Extended lead times and decreased availability of key components could result in a significant disruption to our production schedule, all of which would have an adverse effect on our business, results of operations and financial condition. Additionally, the military conflict in Ukraine creates additional uncertainty and risks relating to our supply chain and the cost of components. See “—General Risk Factors—Unfavorable economic, market and geopolitical conditions, domestically and internationally, may adversely affect our business, financial condition, results of operations and cash flows” for additional information.

We do not have any guarantees of supply from our third-party suppliers, and in certain cases we have limited contractual arrangements or are relying on standard purchase orders or on component parts available on the open market, which may further result in increased costs combined with reduced availability. A continued delay in our ability to produce and deliver our products could also cause our customers to purchase alternative products from our competitors and/or harm our reputation. 

Our joint development agreement and strategic relationships involve numerous risks.

We have entered into strategic relationships to manufacture products and develop new manufacturing process technologies and products. These relationships include our joint development agreement with GLOBALFOUNDRIES to develop advanced MTJ technology and STT-MRAM. These relationships are subject to various risks that could adversely affect the value of our investments and our results of operations. These risks include the following:

    our interests could diverge from those of our foundries, or we may not be able to agree with them on ongoing development, manufacturing and operational activities, or on the amount, timing, or nature of further investments in our joint development;

    we may experience difficulties in transferring technology to a foundry;

    we may experience difficulties and delays in getting to and/or ramping production at foundries;

    our control over the operations of foundries is limited;

14

    due to financial constraints, our joint development collaborators may be unable to meet their commitments to us and may pose credit risks for our transactions with them;

    due to differing business models or long-term business goals, our collaborators may decide not to join us in funding capital investment, which may result in higher levels of cash expenditures by us;

    our cash flows may be inadequate to fund increased capital requirements;

    we may experience difficulties or delays in collecting amounts due to us from our collaborators;

    the terms of our arrangements may turn out to be unfavorable;

    we are migrating toward a fabless model as 300mm production becomes required and this increases risks related to less control over our critical production processes; and

    changes in tax, legal, or regulatory requirements may necessitate changes in our agreements.

The term of the agreement, as amended, is the completion, termination, or expiration of the last statement of work

entered into pursuant to the joint development agreement.

If our strategic relationships are unsuccessful, our business, results of operations, or financial condition may be materially adversely affected.

We must continuously develop new and enhanced products, and if we are unable to successfully market our new and enhanced products for which we incur significant expenses to develop, our results of operations and financial condition will be materially adversely affected.

To compete effectively in our markets, we must continually design, develop, and introduce new and improved technology and products with improved features in a cost-effective manner in response to changing technologies and market demand. This requires us to devote substantial financial and other resources to research and development. We are developing new technology and products, which we expect to be one of the drivers of our revenue growth in the future. We also face the risk that customers may not value or be willing to bear the cost of incorporating our new and enhanced products into their products, particularly if they believe their customers are satisfied with current solutions. Regardless of the improved features or superior performance of our new and enhanced products, customers may be unwilling to adopt our solutions due to design or pricing constraints, or because they do not want to rely on a single or limited supply source. Because of the extensive time and resources that we invest in developing new and enhanced products, if we are unable to sell customers our new products, our revenue could decline and our business, financial condition, results of operations and cash flows would be negatively affected. For example, if we are unable to generate more customer adoption of our 1Gb product and address new growth opportunities with subsequent STT-MRAM products, we may not be able to materially increase our revenue. If we are unable to successfully develop and market our new and enhanced products that we have incurred significant expenses developing, our results of operations and financial condition will be materially and adversely affected.

Our success and future revenue depend on our ability to secure design wins and on our customers’ ability to successfully sell the products that incorporate our solutions. Securing design wins is a lengthy, expensive, and competitive process, and may not result in actual orders and sales, which could cause our revenue to decline.

We sell to customers, including OEMs and ODMs, that incorporate MRAM into their products. A design win occurs after a customer has tested our product, verified that it meets the customer’s requirements and qualified our solutions for their products. We believe we are dependent, among other things, on the adoption of our 256Mb and 1Gb MRAM products by our customers to secure design wins. Our customers may need several months to years to test, evaluate, and adopt our product and additional time to begin volume production of the product that incorporates our solution. Due to this generally lengthy design cycle, we may experience significant delays from the time we increase our operating expenses and make investments in our products to the time that we generate revenue from sales of these products. Moreover, even if a customer selects our solution, we cannot guarantee that this will result in any sales of our products, as the customer may ultimately change or cancel its product plans, or efforts by our customer to market and sell its

15

product may not be successful. We may not generate any revenue from design wins after incurring the associated costs, which would cause our business and operating results to suffer.

If a current or prospective customer incorporates a competitor’s solution into its product, it becomes significantly more difficult for us to sell our solutions to that customer because changing suppliers involves significant time, cost, effort, and risk for the customer even if our solutions are superior to other solutions and remain compatible with their product design. Our ability to compete successfully depends on customers viewing us as a stable and reliable supplier to mission-critical customer applications when we have less production capacity and less financial resources compared to most of our larger competitors. If current or prospective customers do not include our solutions in their products and we fail to achieve a sufficient number of design wins, our results of operations and business may be harmed.

The loss of one or several of our customers or reduced orders or pricing from existing customers may have a significant adverse effect on our operations and financial results.

We have derived and expect to continue to derive a significant portion of our revenues from a small group of customers during any particular period due in part to the concentration of market share in the semiconductor industry. Our two largest end customers together accounted for 22% of our total revenue for the year ended December 31, 2023, and each of these customers accounted for more than 10% of our revenue during that period. Our four largest end customers together accounted for 24% of our total revenue for the year ended December 31, 2022, and one of those customers individually accounted for more than 10% of our total revenue during the period. The loss of a significant customer, a business combination among our customers, a reduction in orders or decrease in price from a significant customer or disruption in any of our commercial or distributor arrangements may result in a significant decline in our revenues and could have a material adverse effect on our business, liquidity, results of operations, financial condition, and cash flows.

We face competition and expect competition to increase in the future. If we fail to compete effectively, our revenue growth and results of operations will be materially and adversely affected.

The global semiconductor market in general, and the semiconductor memory market in particular, are highly competitive. We expect competition to increase and intensify as other semiconductor companies enter our markets, many of which have greater financial and other resources with which to pursue technology development, product design, manufacturing, marketing and sales and distribution of their products. Increased competition could result in price pressure, reduced revenue, and profitability and loss of market share, any of which could materially and adversely affect our business, revenue, and operating results. Currently, our competitors range from large, international companies offering a wide range of traditional memory technologies to companies specializing in other alternative, specialized emerging memory technologies. Our primary memory competitors include Fujitsu, Infineon, Integrated Silicon Solution, Intel, Macronix, Microchip, Micron, Renesas, Samsung, and Toshiba. In addition, as the MRAM market opportunity grows, we expect new entrants may enter this market and existing competitors, including leading semiconductor companies, may make significant investments to compete more effectively against our products. These competitors could develop technologies or architectures that make our products or technologies obsolete.

Our ability to compete successfully depends on factors both within and outside of our control, including:

    the functionality and performance of our products and those of our competitors;

    our relationships with our customers and other industry participants;

    prices of our products and prices of our competitors’ products;

    our ability to develop innovative products;

    our competitors’ greater resources to make acquisitions;

    our ability to obtain adequate capital to finance operations;

    our ability to retain high-level talent, including our management team and engineers; and

16

    the actions of our competitors, including merger and acquisition activity, launches of new products and other actions that could change the competitive landscape.

In the event of a market downturn, competition in the markets in which we operate may intensify as our customers reduce their purchase orders. Our competitors that are significantly larger and have greater financial, technical, marketing, distribution, customer support and other resources or more established market recognition than us may be better positioned to accept lower prices and withstand adverse economic or market conditions.

Our costs may increase substantially if we or our third-party manufacturing contractors do not achieve satisfactory product yields or quality.

The fabrication process is extremely complicated and small changes in design, specifications or materials can result in material decreases in product yields or even the suspension of production. From time to time, we and/or the third-party foundries that we contract to manufacture our products may experience manufacturing defects and reduced manufacturing yields. In some cases, we and/or our third-party foundries may not be able to detect these defects early in the fabrication process or determine the cause of such defects in a timely manner. There may be a higher risk of product yield issues in newer STT-MRAM products.

Generally, in pricing our products, we assume that manufacturing yields will continue to improve, even as the complexity of our products increases. Once our products are initially qualified either internally or with our third-party foundries, minimum acceptable yields are established. We are responsible for the costs of the units if the actual yield is above the minimum set with our third-party foundries. If actual yields are below the minimum, we are not required to purchase the units. Typically, minimum acceptable yields for our new products are generally lower at first and gradually improve as we achieve full production but yield issues can occur even in mature processes due to break downs in mechanical systems, equipment failures or calibration errors. Unacceptably low product yields or other product manufacturing problems could substantially increase overall production time and costs and adversely impact our operating results. Product yield losses may also increase our costs and reduce our gross margin. In addition to significantly harming our results of operations and cash flow, poor yields may delay shipment of our products and harm our relationships with existing and potential customers.

The complexity of our products may lead to defects, which could negatively impact our reputation with customers and result in liability.

Products as complex as ours may contain defects when first introduced to customers or as new versions are released. Delivery of products with production defects or reliability, quality or compatibility problems could significantly delay or hinder market acceptance of the products or result in a costly recall and could damage our reputation and adversely affect our ability to retain existing customers and attract new customers. Defects could cause problems with the functionality of our products, resulting in interruptions, delays, or cessation of sales of these products to our customers. We may also be required to make significant expenditures of capital and resources to resolve such problems. We cannot assure our stockholders that problems will not be found in new products, both before and after commencement of commercial production, despite testing by us, our suppliers, or our customers. For example, any such problems could result in:

    delays in development, manufacture and roll-out of new products;

    additional development costs;

    loss of, or delays in, market acceptance;

    diversion of technical and other resources from our other development efforts;

    claims for damages by our customers or others against us; and

    loss of credibility with our current and prospective customers.

Any such event could have a material adverse effect on our business, financial condition, and results of operations.

17

We may experience difficulties in transitioning to new wafer fabrication process technologies or in achieving higher levels of design integration, which may result in reduced manufacturing yields, delays in product deliveries and increased expenses.

We aim to use the most advanced manufacturing process technology appropriate for our solutions that is available from our third-party foundries. As a result, we periodically evaluate the benefits of migrating our solutions to other technologies to improve performance and reduce costs. These ongoing efforts require us from time to time to modify the manufacturing processes for our products and to redesign some products, which in turn may result in delays in product deliveries.

For example, as smaller line width geometry manufacturing processes become more prevalent, we intend to move our future products to increasingly smaller geometries to integrate greater levels of memory capacity and/or functionality into our products. This transition will require us and our third-party foundries to migrate to new designs and manufacturing processes for smaller geometry products.

We may face difficulties, delays, and increased expense as we transition our products to new processes, and potentially to new foundries. We will depend on our third-party foundries as we transition to new processes. We cannot assure our stockholders that our third-party foundries will be able to effectively manage such transitions or that we will be able to maintain our relationship with our third-party foundries or develop relationships with new third-party foundries. If we or any of our third-party foundries experience significant delays in transitioning to new processes or fail to efficiently implement transitions, we could experience reduced manufacturing yields, delays in product deliveries and increased expenses, any of which could harm our relationships with our customers and our operating results.

Changes to industry standards and technical requirements relevant to our products and markets could adversely affect our business, results of operations and prospects.

Our products are only a part of larger electronic systems. All products incorporated into these systems must comply with various industry standards and technical requirements created by regulatory bodies or industry participants to operate efficiently together. Industry standards and technical requirements in our markets are evolving and may change significantly over time. For our products, the industry standards are developed by the Joint Electron Device Engineering Council, an industry trade organization. In addition, large industry-leading semiconductor and electronics companies play a significant role in developing standards and technical requirements for the product ecosystems within which our products can be used. Our customers also may design certain specifications and other technical requirements specific to their products and solutions. These technical requirements may change as the customer introduces new or enhanced products and solutions.

Our ability to compete in the future will depend on our ability to identify and comply with evolving industry standards and technical requirements. The emergence of new industry standards and technical requirements could render our products incompatible with products developed by other suppliers or make it difficult for our products to meet the requirements of certain of our customers in automotive, transportation, industrial, data storage, and other markets. As a result, we could be required to invest significant time and effort and to incur significant expense to redesign our products to ensure compliance with relevant standards and requirements. If our products are not in compliance with prevailing industry standards and technical requirements for a significant period of time, we could miss opportunities to achieve crucial design wins, our revenue may decline and we may incur significant expenses to redesign our products to meet the relevant standards, which could adversely affect our business, results of operations and prospects.

Our success depends on our ability to attract and retain key employees, and our failure to do so could harm our ability to grow our business and execute our business strategies.

Our success depends on our ability to attract and retain our key employees, including our management team and experienced engineers. Competition for personnel in the semiconductor memory technology field, and in the MRAM space in particular, is intense, and the availability of suitable and qualified candidates is limited. We compete to attract and retain qualified research and development personnel with other semiconductor companies, universities, and research institutions. Given our experience as an early entrant in the MRAM space, our employees are frequently contacted by MRAM startups and MRAM groups within larger companies seeking to employ them. The members of our management and our key employees are at-will. If we lose the services of any key senior management member or employee, we may not be able to locate suitable or qualified replacements, and may incur additional expenses to recruit and train new

18

personnel, which could severely impact our business and prospects. The loss of the services of one or more of our key employees, especially our key engineers, or our inability to attract and retain qualified engineers, could harm our business, financial condition, and results of operations.

We currently maintain and are seeking to expand operations outside of the United States which exposes us to significant risks.

The success of our business depends, in large part, on our ability to operate successfully from geographically disparate locations and to further expand our international operations and sales. Operating in international markets requires significant resources and management attention and subjects us to regulatory, economic, and political risks that are different from those we face in the United States. We cannot be sure that further international expansion will be successful. In addition, we face risks in doing business internationally that could expose us to reduced demand for our products, lower prices for our products or other adverse effects on our operating results. The success and profitability, as well as the expansion, of our international operations are subject to numerous risks and uncertainties, many of which are outside of our control, such as the following:

● public health issues, such as COVID-19, which can result in varying impacts to our business, employees, partners, customers, distributors or suppliers internationally as discussed elsewhere in this “Risk Factors” section;

● difficulties, inefficiencies and costs associated with staffing and managing foreign operations;

● longer and more difficult customer qualification and credit checks;

● greater difficulty collecting accounts receivable and longer payment cycles;

● the need for various local approvals to operate in some countries;

● difficulties in entering some foreign markets without larger-scale local operations;

● changes in import/export laws, trade restrictions, regulations and customs and duties and tariffs (foreign and domestic);

● compliance with local laws and regulations;

● unexpected changes in regulatory requirements, including the elimination of tax holidays;

● reduced protection for intellectual property rights in some countries;

● adverse tax consequences as a result of repatriating cash generated from foreign operations to the United States;

● adverse tax consequences, including potential additional tax exposure if we are deemed to have established a permanent establishment outside of the United States;

● the effectiveness of our policies and procedures designed to ensure compliance with the Foreign Corrupt Practices Act of 1977 and similar regulations;

● fluctuations in currency exchange rates, which could increase the prices of our products to customers outside of the United States, increase the expenses of our international operations by reducing the purchasing power of the U.S. dollar and expose us to foreign currency exchange rate risk if, in the future, we denominate our international sales in currencies other than the U.S. dollar;

● new and different sources of competition;

● political, economic, and social instability;

19

● terrorism and acts of war, such as the military conflict in Ukraine, which could have a negative impact on sales throughout Europe and Asia; and

● US Department of Commerce regulations or restrictions on exports of certain semiconductor technologies and equipment to China.

Our failure to manage any of these risks successfully could harm our operations and reduce our revenue.

Risk Factors Related to Our Intellectual Property and Technology

Failure to protect our intellectual property could substantially harm our business.

Our success and ability to compete depend in part upon our ability to protect our intellectual property. We rely on a combination of intellectual property rights, including patents, mask work protection, copyrights, trademarks, trade secrets and know-how, in the United States and other jurisdictions. The steps we take to protect our intellectual property rights may not be adequate, particularly in foreign jurisdictions such as China. Any patents we hold may not adequately protect our intellectual property rights or our products against competitors, and third parties may challenge the scope, validity, or enforceability of our issued patents, which third parties may have significantly more financial resources with which to litigate their claims than we have to defend against them. In addition, other parties may independently develop similar or competing technologies designed around any patents or patent applications that we hold. Some of our products and technologies are not covered by any patent or patent application, as we do not believe patent protection of these products and technologies is critical to our business strategy at this time. A failure to timely seek patent protection on products or technologies generally precludes us from seeking future patent protection on these products or technologies.

In addition to patents, we also rely on contractual protections with our customers, suppliers, distributors, employees, and consultants, and we implement security measures designed to protect our trade secrets and know-how. However, we cannot assure our stockholders that these contractual protections and security measures will not be breached, that we will have adequate remedies for any such breach or that our customers, suppliers, distributors, employees, or consultants will not assert rights to intellectual property or damages arising out of such contracts.

We may initiate claims against third parties to protect our intellectual property rights if we are unable to resolve matters satisfactorily through negotiation. Litigation brought to protect and enforce our intellectual property rights could be costly, time-consuming, and distracting to management. It could also result in the impairment or loss of portions of our intellectual property, as an adverse decision could limit our ability to assert our intellectual property rights, limit the value of our technology or otherwise negatively impact our business, financial condition, and results of operations. Additionally, any enforcement of our patents or other intellectual property may provoke third parties to assert counterclaims against us. Our failure to secure, protect and enforce our intellectual property rights could materially harm our business.

We may face claims of intellectual property infringement, which could be time-consuming, costly to defend or settle, result in the loss of significant rights, harm our relationships with our customers and distributors, or otherwise materially adversely affect our business, financial condition, and results of operations.

The semiconductor memory industry is characterized by companies that hold patents and other intellectual property rights and that vigorously pursue, protect, and enforce intellectual property rights. These companies include patent holding companies or other adverse patent owners who have no relevant product revenue and against whom our own patents may provide little or no deterrence. From time to time, third parties may assert against us and our customers’ patent and other intellectual property rights to technologies that are important to our business. We have in the past, and may in the future, face such claims.

20

Claims that our products, processes, or technology infringe third-party intellectual property rights, regardless of their merit or resolution, could be costly to defend or settle and could divert the efforts and attention of our management and technical personnel. We may also be obligated to indemnify our customers or business partners in connection with any such litigation, which could result in increased costs. Infringement claims also could harm our relationships with our customers or distributors and might deter future customers from doing business with us. If any such proceedings result in an adverse outcome, we could be required to:

    cease the manufacture, use or sale of the infringing products, processes or technology;

    pay substantial damages for infringement;

    expend significant resources to develop non-infringing products, processes or technology, which may not be successful;

    license technology from the third-party claiming infringement, which license may not be available on commercially reasonable terms, or at all;

    cross-license our technology to a competitor to resolve an infringement claim, which could weaken our ability to compete with that competitor; or

    pay substantial damages to our customers to discontinue their use of or to replace infringing technology sold to them with non-infringing technology, if available.

Any of the foregoing results could have a material adverse effect on our business, financial condition, and results of operations. Furthermore, our exposure to the foregoing risks may also be increased if we acquire other companies or technologies. For example, we may have a lower level of visibility into the development process with respect to intellectual property or the care taken to safeguard against infringement risks with respect to the acquired company or technology. In addition, third parties may make infringement and similar or related claims after we have acquired technology that had not been asserted prior to the acquisition.

We make significant investments in new technologies and products that may not achieve technological feasibility or profitability or that may limit our revenue growth.

We have made and will continue to make significant investments in research and development of new technologies and products, including new and more technically advanced versions of our MRAM technology.

Investments in new technologies are speculative and technological feasibility may not be achieved. Commercial success depends on many factors including demand for innovative technology, availability of materials and equipment, selling price the market is willing to bear, competition and effective licensing or product sales. We may not achieve significant revenue from new product investments for a number of years, if at all. Moreover, new technologies and products may not be profitable, and even if they are profitable, operating margins for new products and businesses may not be as high as the margins we have experienced historically or originally anticipated. Our inability to capitalize on or realize substantial revenue from our significant investments in research and development could harm our operating results and distract management, harming our business.

Interruptions in or other compromises of our information technology systems or data or that of third parties upon whom we rely could adversely affect our business.

We rely on the efficient, uninterrupted and uncompromised operation of complex information technology systems and networks (and those of third parties) to operate our business. Any significant disruption to or other compromise of our systems, networks or data (or those of third parties upon whom we rely), including, but not limited to, due to new system implementations, computer viruses, social-engineering attacks, personnel (including former personnel) misconduct or error, supply-chain attacks, ransomware attacks, software bugs, software or hardware failure, security breaches, facility issues, natural disasters, terrorism, war, telecommunication failures, energy blackouts, loss, theft or similar threats, could have a material adverse impact on our operations, sales, and financial results. Such disruption or other compromise could result in a loss of our intellectual property or the release of sensitive competitive information or supplier, customer, personnel or other relevant stakeholder’s personal data. Additionally, future or past business

21

transactions (such as acquisitions or integrations) could expose us to additional cybersecurity risks and vulnerabilities, as our systems could be negatively affected by vulnerabilities present in acquired or integrated entities’ systems and technologies. Furthermore, we may discover security issues that were not found during due diligence of such acquired or integrated entities, and it may be difficult to integrate companies into our information technology environment and security program. Any loss of such information could harm our competitive position, result in a loss of customer confidence, result in breaches of applicable obligations (such as laws and contracts) and cause us to incur significant costs to remedy the damages caused by any such disruptions or security breaches. Additionally, any failure to properly manage the collection, handling, transfer, or disposal of personal data of employees and customers may result in regulatory penalties, bans on processing personal data or orders not to use or destroy data, enforcement actions, remediation obligations, litigation, fines, and other actions.

We may experience attacks on our data and/or information systems, attempts to breach our security and attempts to introduce malicious software into our IT systems. Such threats are prevalent and continue to rise, are increasingly difficult to detect, and come from a variety of sources. During times of war and other major conflicts, we and the third parties upon which we rely may be vulnerable to a heightened risk of these attacks. If attacks are successful, we may be unaware of the incident, its magnitude, or its effects until significant harm is done. Any such attack or disruption could result in additional costs related to rebuilding of our internal systems, defending litigation, responding to regulatory actions, or paying damages. Such attacks or disruptions could have a material adverse impact on our business, operations, and financial results. Attempts to gain unauthorized access to our IT systems or other attacks have in the past, in certain instances and to certain degrees, been successful (but have not caused significant harm), and may in the future be successful, and in some cases, we might be unaware of an incident or its magnitude and effects.

Third-party service providers, such as wafer foundries, assembly and test contractors, distributors and other vendors have access to certain portions of our and our customers’ sensitive data. Our ability to monitor these third parties’ information security practices is limited, and these third parties may not have adequate information security measures in place. In the event that these service providers do not properly safeguard the data that they hold, security breaches and loss of data could result. Any such loss of data by our third-party service providers could negatively impact our business, operations, and financial results, as well as our relationship with our customers.

While we have implemented security measures designed to protect against security incidents, there can be no assurance that these measures will be effective. We take steps designed to detect, mitigate, and remediate vulnerabilities in our information systems (such as our hardware and/or software, including that of third parties upon which we rely). We may not, however, detect and remediate all such vulnerabilities including on a timely and effective basis. Further, we may experience delays in developing and deploying remedial measures and patches designed to address identified vulnerabilities. Vulnerabilities could be exploited and result in a security incident.

We may expend significant resources or modify our business activities to try to protect against security incidents. Additionally, certain data privacy and security obligations may require us to implement and maintain specific security measures or industry-standard or reasonable security measures to protect our information technology systems and sensitive data.

Risk Factors Related to Regulatory Matters and Compliance

To comply with environmental laws and regulations, we may need to modify our activities or incur substantial costs, and if we fail to comply with environmental regulations, we could be subject to substantial fines or be required to have our suppliers alter their processes.

The semiconductor memory industry is subject to a variety of international, federal, state, and local governmental regulations directed at preventing or mitigating environmental harm, as well as to the storage, discharge, handling, generation, disposal and labeling of toxic or other hazardous substances. Failure to comply with environmental regulations could subject us to civil or criminal sanctions and property damage or personal injury claims. Compliance with current or future environmental laws and regulations could restrict our ability to expand our business or require us to modify processes or incur other substantial expenses which could harm our business. In response to environmental concerns, some customers and government agencies impose requirements for the elimination of hazardous substances, such as lead (which is widely used in soldering connections in the process of semiconductor packaging and assembly), from electronic equipment. For example, the European Union adopted its Restriction on Hazardous Substance Directive which prohibits, with specified exceptions, the sale in the EU market of new electrical and electronic equipment

22

containing more than agreed levels of lead or other hazardous materials and China has enacted similar regulations. Environmental laws and regulations such as these could become more stringent over time, causing a need to redesign technologies, imposing greater compliance costs, and increasing risks and penalties associated with violations, which could seriously harm our business.

Increasing public attention has been focused on the environmental impact of electronic manufacturing operations. While we have not experienced any materially adverse effects on our operations from recently adopted environmental regulations, our business and results of operations could suffer if for any reason we fail to control the storage or use of, or to adequately restrict the discharge or disposal of, hazardous substances under present or future environmental regulations.

Regulations related to “conflict minerals” may force us to incur additional expenses, may make our supply chain more complex and may result in damage to our reputation with customers.

Pursuant to the Dodd-Frank Wall Street Reform and Consumer Protection Act, the SEC has adopted requirements for companies that use certain minerals and metals, known as conflict minerals, in their products, whether or not these products are manufactured by third parties. These requirements require companies to perform diligence and disclose and report whether or not such minerals originate from the Democratic Republic of Congo and adjoining countries. These requirements could adversely affect the sourcing, availability and pricing of minerals used in the manufacture of our products, and affect our costs and relationships with customers, distributors, and suppliers as we must obtain additional information from them to ensure our compliance with the disclosure requirement. In addition, we incur additional costs in complying with the disclosure requirements, including costs related to determining the source of any of the relevant minerals and metals used in our products. Since our supply chain is complex, we have not been able to sufficiently verify the origins for these minerals and metals used in our products through the due diligence procedures that we implement, which may harm our reputation. In such event, we may also face difficulties in satisfying customers who require that all of the components of our products are certified as conflict mineral free and these customers may discontinue, or materially reduce, purchases of our products, which could result in a material adverse effect on our results of operations and our financial condition may be adversely affected.

Our ability to use net operating losses to offset future taxable income may be subject to certain limitations.

In general, under Section 382 of the U.S. Internal Revenue Code of 1986, as amended, or the Code, a corporation that undergoes an “ownership change” is subject to limitations on its ability to utilize its pre-change net operating losses, or NOLs, to offset future taxable income and tax credits to offset tax. As of December 31, 2023, we had gross federal net operating loss carryforwards of approximately $96.2 million, of which $55.8 million will expire in 2028 through 2037 if not utilized, and $40.5 million will carryover indefinitely. As of December 31, 2023, we had state net operating loss carryforwards of approximately $48.7 million, of which $45.9 million will expire in 2028 through 2043 if not utilized, and $2.8 million will carryover indefinitely. The federal NOLs generated prior to 2018 will continue to be governed by the NOL tax rules as they existed prior to the adoption of the 2017 Tax Cuts and Jobs Act (2017 Tax Act), which means that generally they will expire 20 years after they were generated if not used prior thereto. The 2017 Tax Act repealed the 20-year carryforward and two-year carryback of NOLs originating after December 31, 2017, and also limits the NOL deduction to 80% of taxable income for tax years beginning after December 31, 2017. Any NOLs generated in 2018 and forward will be carried forward and will not expire. There is no current impact to us as the NOLs that we are utilizing in the current year were generated prior to 2018, and therefore, are not subject to the 80% limitation. Future changes in our stock ownership, many of which are outside of our control, could result in an ownership change under Section 382 of the Code. The ability to utilize our net operating losses and tax credits could also be impaired under state law. As a result, we might not be able to utilize a material portion of our state NOLs and tax credits.

Risks Related to Our Common Stock

We expect that the price of our common stock will fluctuate substantially.

The market price of our common stock is likely to be highly volatile and may fluctuate substantially due to many factors, including:

    the introduction of new products or product enhancements by us or others in our industry;

23

    announcements by us or our competitors of significant acquisitions, strategic partnerships, joint ventures, capital commitments or restructurings;

    disputes or other developments with respect to our or others’ intellectual property rights;

    product liability claims or other litigation;

    quarterly variations in our results of operations or those of others in our industry;

    sales of large blocks of our common stock, including sales by our executive officers and directors;

    changes in senior management or key personnel;

    changes in earnings estimates or recommendations by securities analysts; and

    general market conditions and other factors, including factors unrelated to our operating performance or the operating performance of our competitors, including the effects of COVID-19 and the military conflict in Ukraine.

Stock markets generally have experienced extreme price and volume fluctuations that have often been unrelated or disproportionate to the operating performance of those companies. Further, the semiconductor memory industry is highly cyclical, and our markets may experience significant cyclical fluctuations in demand as a result of changing economic conditions, budgeting and buying patterns of customers and other factors. Fluctuations in our revenue and operating results could also cause our stock price to decline.

In addition, in the past, class action litigation has often been instituted against companies whose securities have experienced periods of volatility in market price, or for other reasons. Securities litigation brought against us following volatility in our stock price or otherwise, regardless of the merit or ultimate results of such litigation, could result in substantial costs, which would hurt our financial condition and operating results and divert management’s attention and resources from our business.

These and other factors may make the price of our stock volatile and subject to unexpected fluctuation.

Provisions in our corporate charter documents and under Delaware law could make an acquisition of us more difficult and may prevent attempts by our stockholders to replace or remove our current management.

Provisions in our amended and restated certificate of incorporation and our amended and restated bylaws may discourage, delay, or prevent a merger, acquisition, or other change in control of us that stockholders may consider favorable, including transactions in which stockholders might otherwise receive a premium for their shares. These provisions could also limit the price that investors might be willing to pay in the future for shares of our common stock, thereby depressing the market price of our common stock. In addition, these provisions may frustrate or prevent any attempts by our stockholders to replace or remove our current management by making it more difficult for stockholders to replace members of our board of directors. Because our board of directors is responsible for appointing the members of our management team, these provisions could in turn affect any attempt by our stockholders to replace current members of our management team. Among others, these provisions include that:

    our board of directors has the right to expand the size of our board of directors and to elect directors to fill a vacancy created by the expansion of the board of directors or the resignation, death or removal of a director, which prevents stockholders from being able to fill vacancies on our board of directors;

    our stockholders may not act by written consent or call special stockholders’ meetings; as a result, a holder, or holders, controlling a majority of our capital stock would not be able to take certain actions other than at annual stockholders’ meetings or special stockholders’ meetings called by the board of directors pursuant to a resolution adopted by a majority of the total number of authorized directors, the chairman of the board or the chief executive officer;

24

    our amended and restated certificate of incorporation prohibits cumulative voting in the election of directors, which limits the ability of minority stockholders to elect director candidates;

    the affirmative vote of holders of at least 66-2/3% of the voting power of all of the then outstanding shares of voting stock, voting as a single class, will be required (a) to amend certain provisions of our certificate of incorporation, including provisions relating to the size of the board, special meetings, actions by written consent and cumulative voting and (b) to amend or repeal our amended and restated bylaws, although such bylaws may be amended by a simple majority vote of our board of directors;

    stockholders must provide advance notice and additional disclosures to nominate individuals for election to the board of directors or to propose matters that can be acted upon at a stockholders’ meeting, which may discourage or deter a potential acquiror from conducting a solicitation of proxies to elect the acquiror’s own slate of directors or otherwise attempting to obtain control of our company; and

    our board of directors may issue, without stockholder approval, shares of undesignated preferred stock; the ability to issue undesignated preferred stock makes it possible for our board of directors to issue preferred stock with voting or other rights or preferences that could impede the success of any attempt to acquire us.

Moreover, because we are incorporated in Delaware, we are governed by the provisions of Section 203 of the Delaware General Corporation Law, which prohibits a person who owns in excess of 15% of our outstanding voting stock from merging or combining with us for a period of three years after the date of the transaction in which the person acquired in excess of 15% of our outstanding voting stock, unless the merger or combination is approved in a prescribed manner.

Our amended and restated certificate of incorporation provides that the Court of Chancery of the State of Delaware and the federal district courts of the United States of America will be the exclusive forums for substantially all disputes between us and our stockholders, which could limit our stockholders’ ability to obtain a favorable judicial forum for disputes with us or our directors, officers, or employees.

Our amended and restated certificate of incorporation provides that the Court of Chancery of the State of Delaware is the exclusive forum for the following types of actions or proceedings under Delaware statutory or common law:

    any derivative action or proceeding brought on our behalf;

    any action asserting a claim of breach of a fiduciary duty owed by any director, officer or other employee to us or our stockholders;

    any action asserting a claim against us arising under the Delaware General Corporation Law, our amended and restated certificate of incorporation or our amended and restated bylaws; and

    any action asserting a claim against us that is governed by the internal-affairs doctrine.

This provision would not apply to suits brought to enforce a duty or liability created by the Exchange Act. Furthermore, Section 22 of the Securities Act creates concurrent jurisdiction for federal and state courts over all such Securities Act actions. Accordingly, both state and federal courts have jurisdiction to entertain such claims. To prevent having to litigate claims in multiple jurisdictions and the threat of inconsistent or contrary rulings by different courts, among other considerations, our amended and restated certificate of incorporation provides that, unless we consent in writing to the selection of an alternative forum, the federal district courts of the United States will be the exclusive forum for resolving any complaint asserting a cause of action arising under the Securities Act. While the Delaware courts have determined that such choice of forum provisions are facially valid, a stockholder may nevertheless seek to bring a claim in a venue other than those designated in the exclusive forum provisions. In such instance, we would expect to vigorously assert the validity and enforceability of the exclusive forum provisions of our amended and restated certificate of incorporation. This may require significant additional costs associated with resolving such action in other jurisdictions and there can be no assurance that the provisions will be enforced by a court in those other jurisdictions.

These exclusive forum provisions may limit a stockholder’s ability to bring a claim in a judicial forum that it finds favorable for disputes with us or our directors, officers, or other employees, which may discourage lawsuits against us and our directors, officers, and other employees. If a court were to find either exclusive-forum provision in our amended and restated certificate of incorporation to be inapplicable or unenforceable in an action, we may incur further significant

25

additional costs associated with resolving the dispute in other jurisdictions, all of which could seriously harm our business.

General Risk Factors

Unfavorable economic and market conditions, domestically and internationally, may adversely affect our business, financial condition, results of operations and cash flows.

We have significant customer sales both in the United States and internationally. We also rely on domestic and international suppliers, manufacturing partners and distributors. We are therefore susceptible to adverse U.S. and international economic and market conditions. If any of our manufacturing partners, customers, distributors or suppliers experience slowdowns in their business, serious financial difficulties or cease operations, our business will be adversely affected. In addition, the adverse impact of general economic factors that are beyond our control, including, but not limited to, housing markets, recession, inflation, deflation, consumer credit activity, consumer debt levels, exchange rate volatility, fuel and energy costs, interest rates, bank failures, tax rates and policy, unemployment trends, potential industry downturn, the impact of natural disasters such as pandemics, civil disturbances, terrorist activities and acts of war, including the military conflict in Ukraine, may adversely impact consumer spending, which may adversely impact our customers’ spending and demand for our products. As an example, in the United States, capital markets have experienced and continue to experience volatility and disruption. Furthermore, inflation rates in the United States have recently increased to levels not seen in decades resulting in federal action to increase interest rates, affecting capital markets. In addition to the foregoing, adverse developments that affect financial institutions, transactional counterparties or other third parties, such as bank failures, or concerns or speculation about any similar events or risks, could lead to market-wide liquidity problems, which in turn may cause third parties, including customers, to become unable to meet their obligations under various types of financial arrangements as well as general disruptions or instability in the financial markets. Additionally, the military conflict in Ukraine and escalating geopolitical tensions resulting from such conflict have resulted and may continue to result in sanctions, tariffs, and import-export restrictions which, when combined with retaliatory actions taken by Russia, could cause further inflationary pressures and economic and supply chain disruptions, as well as cause us to experience extended lead times and increased prices from our suppliers. Any of the foregoing could adversely affect our business, financial condition, results of operations and cash flows.

Our business may be adversely impacted by natural disasters and other catastrophic events.

Our operations and business, and those of our manufacturing partners, customers, distributors, or suppliers, can be disrupted by natural disasters; industrial accidents; public health issues, such as COVID-19; cybersecurity incidents; interruptions of service from utilities, transportation, telecommunications, or IT systems providers; manufacturing equipment failures; or other catastrophic events. For example, some of our foundries and suppliers’ facilities in Asia are located near known earthquake fault zones and, therefore, are vulnerable to damage from earthquakes. We are also vulnerable to damage from other types of disasters, such as power loss, fire, floods, and similar events. If any such natural disasters or other catastrophic events were to occur, our ability to operate our business could be seriously impaired. In addition, we may not have adequate insurance to cover our losses resulting from disasters or other similar significant business interruptions. Any significant losses that are not recoverable under our insurance policies could seriously impair our business and financial condition.

Item 1B. Unresolved Staff Comments.

None.

Item 1C. Cybersecurity.

Risk Management and Strategy

We implement and maintain various information security processes designed to identify, assess and manage material risks from cybersecurity threats to our critical computer networks, third party hosted services, communications systems, hardware and software, products and our critical data, including intellectual property, confidential information that is proprietary, strategic or competitive in nature (collectively, “Information Systems and Data”).

Our Senior Director of Information Technology (“IT”), internal IT, information security and legal functions, and third-party service providers (collectively, “Cybersecurity Team”) help identify, assess and manage the Company’s

26

cybersecurity threats and risks. Our Cybersecurity Team identifies and assesses risks from cybersecurity threats by monitoring and evaluating our threat environment. The Cybersecurity Team uses various methods designed to accomplish this task including, for example: manual tools, automated tools, subscribing to reports and services that identify cybersecurity threats, analyzing reports of threats and threat actors, scanning the threat environment, evaluating our and our industry’s risk profile, maintaining policies designed to coordinate our efforts with law enforcement to respond to threats, internal and external audits, conducting threat assessments, conducting third party threat assessments, and conducting vulnerability assessments.

Depending on the relevant information systems environment, we implement and maintain various technical, physical, and organizational measures, processes, standards and policies designed to manage and mitigate material risks from cybersecurity threats to our Information Systems and Data, including, for example: an incident response strategy, incident detection and response measures, a vulnerability management policy, risk assessments, encryption of certain data, network security controls, data segregation, access controls, physical security controls, systems monitoring controls, personnel training, penetration testing, cybersecurity insurance, dedicated cybersecurity personnel, background checks for certain personnel, vendor management strategies, and asset management strategy (such as tracking and disposal of Company information systems).

Our assessment and management of material risks from cybersecurity threats are integrated into the Company’s overall risk management processes. For example, the Senior Director of IT works with management to prioritize our risk management processes and mitigate cybersecurity threats that are more likely to lead to a material impact to our business.

We use service providers in an effort to identify, assess, and manage material risks from cybersecurity threats, including for example: threat intelligence service providers, cybersecurity consultants, penetration testing firms, cybersecurity software providers, managed cybersecurity service providers, and professional services firms (including legal counsel).

We use service providers to perform a variety of functions throughout our business, such as application providers, hosting companies, and contract manufacturing organizations. We maintain a vendor management strategy designed to manage cybersecurity risks associated with our use of these providers. The strategy includes vendor risk assessments, security assessment reviews, and imposing information security contractual obligations on a vendor as appropriate. Depending on the nature of the services provided, the sensitivity of the Information Systems and Data at issue, and the identity of the provider, our vendor management strategy may involve different levels of assessment designed to help identify, mitigating and manage cybersecurity risks associated with a particular provider.

For a description of the risks from cybersecurity threats that may materially affect the Company and how they may do so, see our risk factors under Part 1. Item 1A. Risk Factors in this Annual Report on Form 10-K, including “Interruptions in or other compromises of our information technology systems or data or that of third parties upon whom we rely could adversely affect our business.”

Governance

Our board of directors addresses the Company’s cybersecurity risk management as part of its general oversight function. The board of directors is responsible for overseeing Company’s cybersecurity risk management processes, including oversight and mitigation of risks from cybersecurity threats.

Our cybersecurity risk assessment and management processes are implemented and maintained by certain Company management, including our Senior Director of IT, the Chief Executive Officer, and the Chief Financial Officer. Our Senior Director of IT has approximately 25 years of experience in IT and cybersecurity.

Our cybersecurity incident response and vulnerability management policies are designed to escalate certain cybersecurity incidents and threats to management members depending on the circumstances, including the Chief Executive Officer and Chief Financial Officer. The Chief Executive Officer and Chief Financial Officer work with the Company’s incident response team in an effort to help the Company mitigate and remediate cybersecurity incidents of which they are notified. In addition, the Company’s management and its designees report to the board of directors for certain cybersecurity incidents.

The board of directors receives periodic reports from management and its designees concerning the Company’s significant cybersecurity threats and risks, and the processes the Company has implemented in an effort to address them. The board of directors also has access to various reports, summaries or presentations related to cybersecurity threats, risk, and mitigation.

27

Item 2. Properties.

We lease office space for our corporate headquarters located in Chandler, Arizona and for our design facility located in Austin, Texas. We also lease fabrication, lab, and office space for our manufacturing operations in Chandler, Arizona.

The Chandler, Arizona corporate headquarters lease is for 18,815 square feet of office and laboratory space. The prior lease for the Chandler, Arizona corporate headquarters facility expired in January 2022, upon which a new lease was entered into, with an initial term that ends on January 31, 2029, and an option to renew the lease through January 31, 2034. The Austin, Texas lease is for 6,171 square feet of space for our design facility. The prior lease for the Austin, Texas facility expired in January 2022, upon which a new lease was entered into with an initial term that ends on April 15, 2027, and an option to renew the lease through April 15, 2030. The Chandler, Arizona manufacturing operations lease is for 11,496 square feet of fabrication, lab, and office space. The prior Chandler, Arizona manufacturing operations lease was initially set to expire in January 2023 but was renewed and amended in 2022 to extend the lease through January 2028.

We believe our existing facilities are well maintained and in good operating condition and they are adequate for our foreseeable business needs.

Item 3. Legal Proceedings.

From time to time, we may become involved in legal proceedings arising from the ordinary course of our business. Management is currently not aware of any matters that will have a material adverse effect on our financial position, results of operations or cash flows.

Item 4. Mine Safety Disclosures.

Not applicable.

28

PART II

Item 5. Market for Registrant’s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities.

Trading Market for our Common Stock

Our common stock has been listed on the Nasdaq Global Market under the symbol “MRAM” since October 7, 2016. Prior to that date, there was no public trading market for our common stock.

Holders of Record

As of February 26, 2024, we had 17 holders of record of our common stock. The actual number of stockholders is greater than this number of record holders, and includes stockholders who are beneficial owners, but whose shares are held in street name by brokers and other nominees. This number of holders of record also does not include stockholders whose shares may be held in trust by other entities.

Dividends

We have never declared or paid any cash dividends on our capital stock, and we do not currently intend to pay any cash dividends on our capital stock in the foreseeable future. We currently intend to retain all available funds and any future earnings to support operations and to finance the growth and development of our business. Any future determination to pay dividends will be made at the discretion of our board of directors subject to applicable laws, and will depend upon, among other factors, our results of operations, financial condition, contractual restrictions, and capital requirements. Our future ability to pay cash dividends on our capital stock may also be limited by the terms of any future debt or preferred securities or future credit facility.

Item 6. [Reserved].

29

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

You should read the following discussion and analysis of our financial condition and results of operations together with our audited financial statements and related notes included elsewhere in this report. This discussion and other parts of this report contain forward-looking statements that involve risk and uncertainties, such as statements of our plans, objectives, expectations, and intentions. As a result of many factors, including those factors set forth in the “Risk Factors” section of this report, our actual results could differ materially from the results described in or implied by the forward-looking statements contained in the following discussion and analysis.

For an overview of our business, see “Part I – Item 1. Business.”

Key Metrics

We monitor a variety of key financial metrics to help us evaluate trends, establish budgets, measure the effectiveness of our business strategies, and assess operational efficiencies. These financial metrics include revenue, gross margin, operating expenses, and operating income determined in accordance with generally accepted accounting principles in the United States (GAAP). Additionally, we monitor and project cash flow to determine our sources and uses for working capital to fund our operations. We also monitor Adjusted EBITDA, a non-GAAP financial measure, and design wins. We define Adjusted EBITDA as net income or loss adjusted for interest expense, taxes, depreciation and amortization, stock-based compensation expense, and restructuring costs, if any.

Adjusted EBITDA. Our management and board of directors use Adjusted EBITDA to understand and evaluate our operating performance and trends, to prepare and approve our annual budget and to develop short-term and long-term operating and financing plans. Accordingly, we believe that Adjusted EBITDA provides useful information for investors in understanding and evaluating our operating results in the same manner as our management and our board of directors. Adjusted EBITDA is a non-GAAP financial measure and should be considered in addition to, not as superior to, or as a substitute for, net income reported in accordance with GAAP. The following table presents a reconciliation of net income, the most directly comparable GAAP measure, to Adjusted EBITDA for the periods indicated:

Year Ended December 31, 

    

2023

    

2022

Adjusted EBITDA reconciliation:

 

  

 

  

Net income

$

9,052

$

6,129

Depreciation and amortization

 

1,205

 

982

Stock-based compensation expense

 

5,005

 

4,408

Interest expense

 

63

 

274

Income tax (benefit) expense

(16)

14

Adjusted EBITDA

$

15,309

$

11,807

Our Adjusted EBITDA for the year ended December 31, 2023 includes a one-time employee retention tax credit received of $2.0 million in the second quarter of 2023.

Design wins. To continue to grow our revenue, we must continue to achieve design wins for our MRAM products. We consider a design win to occur when an OEM or contract manufacturer notifies us that it has qualified one of our products as a component in a product or system for production. Because the life cycles for our customers’ products can last for many years, if these products have successful commercial introductions, we expect to continue to generate revenues over an extended period of time for each successful design win. New design wins in each successive quarter of 2023 were 66, 62, 37, and 52, respectively, compared to 61, 49, 48, and 52 in each successive quarter of 2022, respectively.

Effect of COVID-19 on our Business

The COVID-19 outbreak resulted in government authorities around the world implementing numerous measures to try to reduce the spread of COVID-19. Overall, our business remained operational in the midst of COVID-19. The United States Government has declared that it was no longer treating COVID-19 as a pandemic. Since our business is

30

dependent on a global supply chain, we expect to continue to navigate the impact of COVID-19, particularly in some Asian countries. We will continue to monitor the situation and take additional actions as warranted. These actions may include further altering our operations in order to protect the best interests of our employees, customers and suppliers, and to comply with government requirements, while also planning and executing our business to best support our customers, suppliers, and partners.

The ultimate extent of the impact of COVID-19 on our business, results of operations and financial condition will depend on future developments, which are highly uncertain, continuously evolving and cannot be predicted. See “Risk Factors” in Part II, Item 1A of this report for additional risks we face due to COVID-19.

Results of Operations

Below are factors we want to highlight for understanding our 2023 annual results and year over year comparison with proper historical perspective:

The first half of 2023 was impacted by supply chain challenges that were overcome in the second half of the year as the industry reverted to pre-COVID-19 seasonal patterns.
Our commitment to improving our manufacturing excellence enabled us to drive yield improvements within our internal and external foundries network to sustain and improve existing product margins.

The following table sets forth our results of operations for the periods indicated:

Year Ended December 31, 

2023

    

2022

    

2023

    

2022

(In thousands)

(As a percentage of revenue)

Product sales

$

53,123

$

55,032

83

%

92

%

Licensing, royalty, patent, and other revenue

 

10,642

 

4,953

 

17

 

8

Total revenue

 

63,765

 

59,985

 

100

 

100

Cost of product sales

24,693

25,112

39

42

Cost of licensing, royalty, patent, and other revenue

1,827

928

3

2

Total cost of sales

 

26,520

 

26,040

 

42

 

43

Gross profit

 

37,245

 

33,945

 

58

 

57

Operating expenses:

 

  

 

  

 

  

 

  

Research and development

 

11,776

 

11,108

 

19

 

19

General and administrative

 

14,296

 

11,741

 

22

 

20

Sales and marketing

 

5,288

 

4,869

 

8

 

8

Total operating expenses

 

31,360

 

27,718

 

49

 

47

Income from operations

 

5,885

 

6,227

 

9

 

10

Interest expense

 

(63)

 

(274)

 

 

Other income, net

 

3,214

 

190

 

5

 

Net income before income taxes

 

9,036

 

6,143

 

14

 

10

Income tax benefit (expense)

 

16

 

(14)

 

 

Net income and comprehensive income

$

9,052

$

6,129

14

%

10

%

Comparison of the Years Ended December 31, 2023 and 2022

Revenue

We generated 78% and 85% of our revenue from products sold through distributors for the years ended December 31, 2023 and 2022, respectively.

We maintain a direct selling relationship, for strategic purposes, with several key customer accounts. We have organized our sales team and representatives into three primary regions: Asia-Pacific (APAC); North America; and

31

Europe, Middle East and Africa (EMEA). We recognize revenue by geography based on the region in which our products are sold, and not to where the end products in which they are assembled are shipped. Our revenue by region for the periods indicated was as follows (in thousands):

Year Ended December 31, 

2023

    

2022

APAC

$

33,096

$

35,631

North America

15,922

14,533

EMEA

14,747

9,821

Total revenue

$

63,765

$

59,985

Year Ended December 31, 

Change

    

2023

    

2022

    

Amount

    

%  

(Dollars in thousands)

Product sales

$

53,123

$

55,032

$

(1,909)

 

(3.5)

%

Licensing, royalty, patent, and other revenue

 

10,642

 

4,953

 

5,689

 

114.9

%

Total revenue

$

63,765

$

59,985

$

3,780

 

6.3

%

Total revenue increased by $3.8 million, or 6.3%, from $60.0 million during the year ended December 31, 2022, to $63.8 million during the year ended December 31, 2023. The increase was primarily driven by the increase in licensing, royalty, patent, and other revenue of $5.7 million due to revenue recognized under our RAD-Hard projects. This was offset by a decline in product sales due to volume shifts in customer demand of $1.9 million or 3.5%, from $55.0 million during the year ended December 31, 2022, to $53.1 million during the year ended December 31, 2023.

Licensing, royalty, patent, and other revenue is a highly variable revenue item characterized by a small number of transactions annually with revenue based on size and terms of each transaction. We estimate royalty revenue earned throughout the year, with an annual adjustment recognized for actual sales in the first quarter of each fiscal year. Licensing, royalty, patent, and other revenue increased by $5.7 million, from $5.0 million during the year ended December 31, 2022, to $10.6 million during the year ended December 31, 2023. The increase was primarily due to an increase in licensing revenues of $5.5 million from our contractual agreements with customers for the development of RAD-Hard products, along with an increase of $0.7 million of other revenue related to a contractual arrangement with a customer for the development of reliability models for strategic radiation hardened toggle MRAM, offset in part by a decrease of $0.5 million in royalty revenue. There were no patent sales during the year ended December 31, 2023.

Cost of Sales and Gross Margin

Year Ended December 31, 

Change

 

    

2023

    

2022

    

Amount

    

%  

 

(Dollars in thousands)

 

Cost of sales

$

24,693

$

25,112

$

(419)

 

(1.7)

%  

Cost of licensing, royalty, patent, and other revenue

1,827

928

899

96.9

%

Total cost of sales

$

26,520

$

26,040

$

480

1.8

%

Gross margin

58.4

%  

 

56.6

%  

*

*

Cost of product sales decreased by $0.4 million, or 1.7%, from $25.1 million during the year ended December 31, 2022, to $24.7 million during the year ended December 31, 2023. The decrease was primarily due to a reduction in product sales compared to the prior year.

Cost of licensing, royalty, patent, and other revenue increased by $0.9 million, or 96.9%, from $0.9 million during the year ended December 31, 2022, to $1.8 million during the year ended December 31, 2023. The increase was due to an increase in licensing costs related to labor and materials associated with the progression of our RAD-Hard projects.

32

Our gross margin increased from 56.6% during the year ended December 31, 2022, to 58.4% during the year ended December 31, 2023. Our gross margin increased by offsetting increased pricing from suppliers with increased yields on our toggle products and increased licensing revenue to offset the decrease in product sales.

Operating Expenses

Our operating expenses consist of research and development, general and administrative and sales and marketing expenses. Personnel-related expenses, including salaries, benefits, bonuses, and stock-based compensation, are among the most significant component of each of our operating expense categories.

Year Ended December 31, 

Change

 

    

2023

    

2022

    

Amount

    

%

 

(Dollars in thousands)

 

Research and development

$

11,776

$

11,108

$

668

 

6.0

%

Research and development as a % of revenue

19

%  

19

%  

Research and Development Expenses. Research and development expenses increased by $0.7 million, or 6.0%, from $11.1 million during the year ended December 31, 2022, to $11.8 million during the year ended December 31, 2023. The increase was primarily due to higher expenses relating to the development and enhancement of our new xSPI family of STT-MRAM products and increases in share-based compensation.

Year Ended December 31, 

Change

 

    

2023

    

2022

    

Amount

    

%

 

(Dollars in thousands)

 

General and administrative

$

14,296

$

11,741

$

2,555

 

21.8

%

General and administrative as a % of revenue

22

%  

20

%  

General and Administrative Expenses. General and administrative expenses increased by $2.6 million, or 21.8%, from $11.7 million during the year ended December 31, 2022, to $14.3 million during the year ended December 31, 2023. The increase was primarily due to increases in professional service costs, share-based compensation, and depreciation.

Year Ended December 31, 

Change

 

    

2023

    

2022

    

Amount

    

%

 

(Dollars in thousands)

 

Sales and marketing

$

5,288

$

4,869

$

419

 

8.6

%

Sales and marketing as a % of revenue

8

%  

8

%  

Sales and Marketing Expenses. Sales and marketing expenses increased by $0.4 million, or 8.6%, from $4.9 million during the year ended December 31, 2022, to $5.3 million during the year ended December 31, 2023. The increase was primarily due to an increase in variable compensation costs and contract labor.

Interest Expense

Year Ended December 31, 

Change

 

    

2023

    

2022

    

Amount

    

%  

 

(Dollars in thousands)

 

Interest expense

$

63

$

274

$

(211)

 

(77.0)

%

Interest expense decreased by $0.2 million, or 77.0%, from $0.3 million during the year ended December 31, 2022, to $0.1 million during the year ended December 31, 2023. The decrease was due to having no outstanding balance under our 2019 Credit Facility as we paid off the outstanding balance in full in March 2023, resulting in no interest incurred during the remainder of 2023 after the outstanding balance was paid in full.

33

Other Income, Net

Year Ended December 31, 

Change

    

2023

    

2022

    

Amount

    

%  

(Dollars in thousands)

Other income, net

$

3,214

$

190

$

3,024

 

1,591.6

%

Other income, net changed by $3.0 million, from $0.2 million of expense during the year ended December 31, 2022, to $3.2 million of income during the year ended December 31, 2023. The increase was primarily due to the employee retention tax credit received during the second quarter of 2023 of $2.0 million, along with an increase in interest income earned on the money market cash account as a result of increased cash balances and increasing interest rates, offset by a loss on prepayment and termination of our 2019 Credit Facility.

Liquidity and Capital Resources

As of December 31, 2023, we had $36.9 million of cash and cash equivalents, compared to $26.8 million as of December 31, 2022. As of December 31, 2023, we have no outstanding debt as we paid off our 2019 Credit Facility in full in March 2023. We believe our cash and cash equivalents are sufficient to meet our anticipated capital requirements in the next 12 months. Our future capital requirements will depend on many factors, including, among other things, our growth rate, the timing and extent of our spending to support research and development activities, the timing and cost of establishing additional sales and marketing capabilities, and the introduction of new products.

Additionally, see “Credit Facilities” below for information regarding our debt financing.

Cash Flows

The following table summarizes our cash flows for the periods indicated (in thousands):

Year Ended December 31, 

    

2023

    

2022

(In thousands)

Cash provided by operating activities

$

13,128

$

9,493

Cash used in investing activities

 

(1,385)

 

(2,586)

Cash used in financing activities

 

(1,592)

 

(1,521)

Cash Flows From Operating Activities

During the year ended December 31, 2023, cash provided by operating activities was $13.1 million, which consisted of net income of $9.1 million, non-cash charges of $6.4 million and changes in net operating assets and liabilities of $2.3 million. The non-cash charges primarily consisted of stock-based compensation of $5.0 million, depreciation and amortization of $1.2 million, and a loss on prepayment and termination of our 2019 credit facility of $0.2 million. The change in our net operating assets and liabilities was primarily due to an increase in accounts receivable of $0.9 million due to timing of cash receipts for outstanding balances, an increase in inventory of $1.7 million to meet anticipated production volumes, an increase in prepaid and other current assets of $0.4 million, an increase in other assets of $0.2 million, an increase in accounts payable of $0.5 million, an increase in accrued liabilities of $0.8 million, and a decrease in deferred revenue of $0.5 million.

During the year ended December 31, 2022, cash provided by operating activities was $9.5 million, which primarily consisted of net income of $6.1 million, adjusted by non-cash charges of $5.3 million and a decrease of $1.9 million in our net operating assets and liabilities. The non-cash charges primarily consisted of stock-based compensation of $4.4 million, depreciation and amortization of $1.0 million, and non-cash interest expense of $0.1 million, offset by a gain on disposal of property and equipment of $0.2 million. The change in our net operating assets and liabilities was primarily due to an increase of $2.5 million in accounts receivable due to an increased sales volume and timing of cash receipts for outstanding balances and a $0.3 million increase in inventory. These were offset by an increase of $0.6 million in accounts payable due to timing of invoice due dates and a $0.2 million increase in lease liabilities.

34

Cash Flows From Investing Activities

During the year ended December 31, 2023, cash used in investing activities was $1.4 million, which consisted of capital expenditures primarily for the purchase of manufacturing equipment offset by a nominal amount in proceeds received on the sale of property and equipment.

During the year ended December 31, 2022, cash used in investing activities was $2.6 million, which consisted of capital expenditures primarily for the purchase of manufacturing equipment and purchased software offset by a nominal amount in proceeds received on the sale of property and equipment.

Cash Flows From Financing Activities

During the year ended December 31, 2023, cash used in financing activities was $1.6 million, which primarily consisted of $2.8 million of payments to pay off our 2019 Credit Facility offset by $1.2 million in proceeds from stock option exercises and purchases of shares under our employee stock purchase plan.

During the year ended December 31, 2022, cash used in financing activities was $1.5 million, which primarily consisted of $2.4 million in payments on long-term debt offset by $0.9 million in proceeds from stock option exercises and purchases of shares under our employee stock purchase plan.

Credit Facilities

In May 2017, we executed a Loan and Security Agreement (2017 Credit Facility) with Silicon Valley Bank (SVB) for a $12.0 million term loan, which we subsequently amended in January 2019 and June 2019. In August 2019, we executed an Amended and Restated Loan and Security Agreement (2019 Credit Facility), which amended and restated the 2017 Credit Facility, providing for a formula revolving line of credit (Line of Credit) and a term loan (2019 Term Loan) with SVB to refinance in full the outstanding principal balance of $8.0 million under the 2017 Credit Facility.

In July 2020, we executed the first amendment to the 2019 Credit Facility with SVB. The amendment, among other things, extended the initial 12-month interest-only period for the term loan to a 16-month interest-only period and lowered the floor interest rate. The floor interest rates for 2019 Term Loan and the Line of Credit Facility were reduced from 4.75% and 6.75% to 3.75% and 4.75%, respectively.

The amended Line of Credit allowed for a maximum draw of $5.0 million, subject to a formula borrowing base, has a two-year term and bears interest at a floating rate equal to the Wall Street Journal (WSJ) prime rate plus 1.5%, per annum, subject to a floor of 4.75%. The Line of Credit required a commitment fee of 1.6% of the maximum availability of the Line of Credit, which was paid in August 2019 upon closing, and was accounted for as a debt discount. The Line of Credit also provided for a termination fee equal to 1% of the maximum availability under the Line of Credit, which was due in case of a termination of the Line of Credit prior to the scheduled maturity date, and an unused facility fee equal to 0.125% per annum of the average unused portion of the Line of Credit, which is expensed as incurred. The Line of Credit was set to mature on August 5, 2023.

The amended 2019 Term Loan provided for a $6.0 million term loan. The amended 2019 Term Loan had a term of 46 months, and a 16-month interest-only period followed by 30 months of equal principal payments of $200,000 per month, plus accrued interest. The 2019 Term Loan incurred interest at a floating rate equal to the WSJ prime rate minus 0.75%, subject to a floor of 3.75%. A final payment of 7% of the original principal amount of the 2019 Term Loan was to be made when the 2019 Term Loan is prepaid or repaid, whether at maturity or as a result of a prepayment or acceleration or otherwise. The additional payment, which is accounted for as a debt discount, was being accreted using the effective interest method. The 2019 Term Loan had a prepayment fee equal to 2% of the total commitment, which was due only if the 2019 Term Loan was prepaid prior to the scheduled maturity date for any reason. The 2019 Term Loan was to mature on June 1, 2023.

In conjunction with entering into the 2019 Credit Facility, on August 5, 2019, we and SVB amended and restated the warrant issued to SVB in connection with the first amendment to the 2017 Credit Facility, which was a warrant to purchase 9,375 shares of our common stock at an exercise price of $8.91 per share, to add an option by SVB to put the warrant back to us for $50,000 upon expiration or a liquidity event, to be prorated if SVB exercises a portion of the warrant. The warrants were set to expire on July 6, 2023. The warrant was classified as a liability and recorded at fair

35

value within other liabilities in our balance sheet. Due to the put right, the warrant was subject to fair value remeasurement at each subsequent reporting date until the exercise or expiration of the warrant. Any resulting change in the fair value of the warrant was to be recorded as other income, net, in our statements of income and comprehensive income. The other income recognized for the years ended 2023 and 2022 related to the change in fair value of the warrant has been minimal and immaterial to the financial statements. These warrants were extinguished as of December 31, 2023.

Collateral for the 2019 Credit Facility included all of our assets except for intellectual property. We were required to comply with certain covenants under the 2019 Credit Facility, including requirements to maintain a minimum cash balance and availability under the Line of Credit, and restrictions on certain actions without the consent of the lender, such as limitations on our ability to engage in mergers or acquisitions, sell assets, incur indebtedness, or grant liens or negative pledges on our assets, make loans or make other investments. Under these covenants, we were prohibited from paying cash dividends with respect to our capital stock. The 2019 Credit Facility contained a material adverse effect clause which provides that an event of default will occur if, among other triggers, an event occurs that could reasonably be expected to result in a material adverse effect on our business, operations, or condition, or on our ability to perform our obligations under the 2019 Term Loan.

In March 2023, the 2019 Credit Facility, consisting of our Term Loan and Line of Credit, was paid in full, and there was no outstanding balance as of December 31, 2023. We paid an early termination and prepayment fee of $170,000, which was recorded within other income, net, within the statements of income and comprehensive income for the year ended December 31, 2023. We were in compliance with all covenants throughout the 2019 Credit Facility payoff date in March 2023.

The amortization of the debt issuance costs and accretion of the debt discount is included in interest expense within the statements of income and comprehensive income and included in non-cash interest expense within the statement of cash flows.

For additional information about the 2019 Credit Facility, see Note 6 in the accompanying Notes to Financial Statements in Part II, Item 8 of this Form 10-K.

Critical Accounting Policies and Significant Judgements and Estimates

Our financial statements have been prepared in accordance with U.S. GAAP. The preparation of these financial statements requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the date of the financial statements, as well as the reported revenue generated and expenses incurred during the reporting periods. We base our estimates on our historical experience and on various other factors that we believe are reasonable under the circumstances, the results of which form the basis for making judgments about the carrying value of assets and liabilities that are not readily apparent from other sources. Actual results may differ from these estimates under different assumptions or conditions.

Revenue Recognition

We recognize revenue when a customer obtains control of the promised products or services, in an amount that reflects the consideration we expect to receive in exchange for those products or services. We recognize revenue net of allowances for returns and price concessions, and any taxes imposed on revenue transactions, which are subsequently remitted to governmental authorities.

Nature of Products and Services

We derive our revenue from the sale of MRAM-based products in discrete unit form, licenses of and royalties on our MRAM and magnetic sensor technology, the sale of backend foundry services, and design services to third parties. We recognize sales of products in discrete unit form at a point in time, revenue related to licensing agreements when we have delivered control of the technology, revenue related to royalty agreements in the period in which sales generated from products sold using our technology occurs, sales of backend foundry services over time, and design services to third parties either at a point in time or over time, depending on the nature of the services.

36

Product Revenue

For products sold in their discrete form, we either sell our products directly to OEMs, ODMs, contract manufacturers (CMs), or through a network of distributors, who in turn sell to those customers. For sales directly to OEMs, ODMs and CMs, we recognize revenue when the OEM, ODM or CM obtains control of the product, which occurs at a point in time, generally upon shipment to the customer.

From time to time, we may provide distributors with price adjustments subsequent to the delivery of product to them and such amounts are dependent on the end customer and product sales price. Price adjustments can be based on a variety of factors, including customer, product, quantity, geography, and competitive differentiation. Price protection rights grant distributors the right to a credit in the event of declines in the price of our products. Under these circumstances, we remit back to the distributor a portion of their original purchase price after the resale transaction is completed in the form of a credit against the distributors’ outstanding accounts receivable balance. The credits are on a per unit basis and are not given to the distributor until the distributor provides information regarding the sale to their end customer. We estimate these credits and record such estimates in the same period the related revenue is recognized, resulting in a reduction of product revenue and the establishment of an allowance for price adjustments for amounts due to distributors. We estimate credits to distributors based on the historical rate of credits provided to distributors relative to sales and evaluation of current market conditions. Revenue on shipments to distributors is recorded when control of the products has been transferred to the distributor.

We estimate the amount of our product sales that may be returned by our customers and record this estimate as a reduction of revenue in the period the related product revenue is recognized. We estimate our product return liability by analyzing our historical returns, current economic trends and changes in customer demand and acceptance of products. We have received insignificant returns to date and believe that returns of our products will continue to be minimal.

Upon the transfer of control, generally at shipment, we record a trade receivable for the selling price as there is a legally enforceable obligation of the distributor to pay for the product delivered, an allowance is recorded for the estimated discount that will be provided to the distributor, and the net of these amounts is recorded as revenue on the statements of income and comprehensive income.

License Revenue

For licenses of technology, recognition of revenue is dependent upon whether we have delivered rights to the technology, and whether there are future performance obligations under the contract. In some instances, the license agreements call for future events or activities to occur in order for milestone amounts to become due from the customer. The terms of such agreements include payment to us of one or more of the following: non-refundable upfront fees; and royalties on net sales of licensed products. Historically, these license agreements have not included other future performance obligations once the license has been transferred to the customer.

We recognize revenue from non-refundable upfront payments when the license is transferred to the customer and we have no other performance obligations.

We also have entered into multiple contractual agreements with customers for the development of a RAD-Hard product, consisting of a technology license, a design license agreement and development contract and for the development of a strategic radiation hardened field programmable gate array product, consisting of a technology license to provide design and development services under the contractual agreements. We applied a five-step approach in determining the amount and timing of revenue to be recognized: (1) identifying the contract with a customer; (2) identifying the performance obligations in the contract; (3) determining the transaction price; (4) allocating the transaction price to the performance obligations in the contract; and (5) recognizing revenue when the performance obligation is satisfied.

We concluded these contractual arrangements represent one arrangement and evaluated our promises to the customer and whether the performance obligations granted under the arrangement were distinct. The licenses provided to the customer are not transferable, are of limited value without the promised development services, and the customer cannot benefit from the license agreements without the specific obligated services in the development subcontract, as there is strong interdependency between the licenses and the development subcontract. Accordingly, we determined the

37

licenses were not distinct within the context of the contract and combined the license with other performance obligations.

As a result, we are recognizing revenue related to the performance obligations over time using the input method based on costs incurred to date relative to the total expected costs of the contract over the performance obligation period.

Inventory

We record inventories at the lower of cost, determined on a first-in, first-out basis or net realizable value. We write down inventory for estimated excess or obsolete inventory equal to the difference between cost and estimated net realizable value. Inventory write downs establish a new cost basis for inventory and charges are not subsequently reversed even if circumstances subsequently indicate that increased carrying amounts are recoverable. In estimating these reserves, our evaluation takes into consideration historical and expected future demand considering current market conditions and trends, the effect new products may have on the sale of existing products, technological obsolescence, and other factors. We record inventory write-downs for the valuation of inventory when required based on our analyses and any write-downs result in a new cost basis for the affected item.

Recent Accounting Pronouncements

See Note 2 in the accompanying Notes to Financial Statements in Part II, Item 8 of this Form 10-K for more information about recent accounting pronouncements, the timing of their adoption, and our assessment, to the extent we have made one yet, of their potential impact on our financial condition of results of operations.

Item 7A. Quantitative and Qualitative Disclosures About Market Risk.

Not required for a smaller reporting company.

38

Item 8. Financial Statements and Supplementary Data.

EVERSPIN TECHNOLOGIES, INC.

INDEX TO FINANCIAL STATEMENTS

Page

Report of Independent Registered Public Accounting Firm (PCAOB ID 42)

40

Financial Statements:

Balance Sheets

42

Statements of Income and Comprehensive Income

43

Statements of Stockholders’ Equity

44

Statements of Cash Flows

45

Notes to Financial Statements

46

39

REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM

To the Stockholders and the Board of Directors of Everspin Technologies, Inc.

Opinion on the Financial Statements

We have audited the accompanying balance sheets of Everspin Technologies, Inc. (the Company) as of December 31, 2023 and 2022, the related statements of income and comprehensive income, stockholders’ equity, and cash flows for each of the two years in the period ended December 31, 2023, and the related notes (collectively referred to as the “financial statements”). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company at December 31, 2023 and 2022, and the results of its operations and its cash flows for each of the two years in the period ended December 31, 2023, in conformity with U.S. generally accepted accounting principles.

Basis for Opinion

These financial statements are the responsibility of the Company's management. Our responsibility is to express an opinion on the Company’s financial statements based on our audits. We are a public accounting firm registered with the Public Company Accounting Oversight Board (United States) (PCAOB) and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.

We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. The Company is not required to have, nor were we engaged to perform, an audit of its internal control over financial reporting. As part of our audits we are required to obtain an understanding of internal control over financial reporting but not for the purpose of expressing an opinion on the effectiveness of the Company's internal control over financial reporting. Accordingly, we express no such opinion.

Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.

Critical Audit Matter

The critical audit matter communicated below is a matter arising from the current period audit of the financial statements that was communicated or required to be communicated to the audit committee and that: (1) relates to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging, subjective or complex judgments. The communication of the critical audit matter does not alter in any way our opinion on the financial statements, taken as a whole, and we are not, by communicating the critical audit matter below, providing a separate opinion on the critical audit matter or on the account or disclosures to which it relates.

40

Accounting for Inventory

Description of the Matter

As discussed in Note 2 to the financial statements, Inventory is valued at the lower of cost or net realizable value using the first-in, first-out method. At December 31, 2023 the Company’s inventory balance was $8.4 million.

Auditing the Company's accounting for inventory was challenging and complex primarily due to the high volume of transactions and multiple data sources involved in the initiation, processing, and recording of inventory transactions. The data sources include information received from the Company’s several third-party suppliers involved in the manufacturing process.

How We Addressed the Matter in Our Audit

To test the Company’s accounting for inventory, we performed audit procedures that included, among others, performing physical observation and direct confirmations of inventory held at third-party suppliers, and testing a sample of inventory transactions and manufacturing costs incurred during the year to evaluate the cost of inventory.

/s/ Ernst & Young LLP

We have served as the Company’s auditor since 2008.

Phoenix, Arizona

February 29, 2024

41

EVERSPIN TECHNOLOGIES, INC.

Balance Sheets

(In thousands, except share and per share amounts)

December 31, 

December 31,

2023

2022

Assets

 

  

 

  

Current assets:

 

  

 

  

Cash and cash equivalents

$

36,946

$

26,795

Accounts receivable, net

 

11,554

 

10,665

Inventory

 

8,391

 

6,683

Prepaid expenses and other current assets

 

988

 

604

Total current assets

 

57,879

 

44,747

Property and equipment, net

 

3,717

 

3,883

Right-of-use assets

5,495

 

6,641

Other assets

 

212

 

62

Total assets

$

67,303

$

55,333

Liabilities and Stockholders’ Equity

 

  

 

  

Current liabilities:

 

  

 

  

Accounts payable

$

2,916

$

2,778

Accrued liabilities

 

4,336

 

3,533

Deferred revenue

336

821

Current portion of long-term debt

 

 

2,594

Lease liabilities, current portion

1,190

1,122

Other liabilities

27

Total current liabilities

 

8,778

 

10,875

Long-term debt, net of current portion

 

 

Lease liabilities, net of current portion

4,390

5,580

Long-term income tax liability

214

214

Total liabilities

$

13,382

$

16,669

Commitments and contingencies (Note 5)

 

  

 

  

Stockholders’ equity:

 

  

 

  

Preferred stock, $0.0001 par value per share; 5,000,000 shares authorized; no shares issued and outstanding as of December 31, 2023 and December 31, 2022, respectively

Common stock, $0.0001 par value per share; 100,000,000 shares authorized; 21,080,472 and 20,374,288 shares issued and outstanding as of December 31, 2023 and December 31, 2022, respectively

 

2

2

Additional paid-in capital

 

191,569

 

185,364

Accumulated deficit

 

(137,650)

 

(146,702)

Total stockholders’ equity

 

53,921

 

38,664

Total liabilities and stockholders’ equity

$

67,303

$

55,333

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

42

EVERSPIN TECHNOLOGIES, INC.

Statements of Income and Comprehensive Income

(In thousands, except share and per share amounts)

Year Ended December 31, 

    

2023

    

2022

Product sales

$

53,123

$

55,032

Licensing, royalty, patent, and other revenue

10,642

 

4,953

Total revenue

 

63,765

 

59,985

Cost of product sales

24,693

25,112

Cost of licensing, royalty, patent, and other revenue

1,827

928

Total cost of sales

 

26,520

 

26,040

Gross profit

 

37,245

 

33,945

Operating expenses:1

 

  

 

  

Research and development

 

11,776

 

11,108

General and administrative

 

14,296

 

11,741

Sales and marketing

 

5,288

 

4,869

Total operating expenses

 

31,360

 

27,718

Income from operations

 

5,885

 

6,227

Interest expense

 

(63)

 

(274)

Other income, net

 

3,214

 

190

Net income before income taxes

9,036

6,143

Income tax benefit (expense)

16

(14)

Net income and comprehensive income

$

9,052

$

6,129

Net income per common share:

Basic

$

0.44

$

0.30

Diluted

$

0.42

$

0.29

Weighted average shares of common stock outstanding:

Basic

 

20,748,302

 

20,130,336

Diluted

 

21,367,304

 

20,775,925

1Operating expenses include stock-based compensation as follows:

Research and development

$

1,981

$

1,704

General and administrative

2,519

2,190

Sales and marketing

505

514

Total stock-based compensation

$

5,005

$

4,408

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

43

EVERSPIN TECHNOLOGIES, INC.

Statements of Stockholders’ Equity

(In thousands, except share amounts)

Additional

Total

Common Stock

Paid-In

Accumulated

Stockholders’

  

Shares

  

Amount

  

Capital

  

Deficit

  

Equity

Balance at December 31, 2021

19,858,460

$

2

$

180,067

$

(152,831)

$

27,238

Issuance of common stock under stock incentive plans and exercise of stock options

515,828

889

889

Stock-based compensation expense

4,408

4,408

Net income

6,129

6,129

Balance at December 31, 2022

20,374,288

$

2

$

185,364

$

(146,702)

$

38,664

Issuance of common stock under stock incentive plans and exercise of stock options

705,948

1,198

1,198

Exercise of warrants

236

2

2

Stock-based compensation expense

5,005

5,005

Net income

9,052

9,052

Balance at December 31, 2023

21,080,472

$

2

$

191,569

$

(137,650)

$

53,921

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

44

EVERSPIN TECHNOLOGIES, INC.

Statements of Cash Flows

(In thousands)

Year Ended December 31, 

    

2023

    

2022

Cash flows from operating activities

 

  

 

  

Net income

$

9,052

$

6,129

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

 

 

Depreciation and amortization

 

1,205

 

982

Gain on sale of property and equipment

 

(15)

 

(167)

Stock-based compensation

 

5,005

 

4,408

Loss on prepayment and termination of credit facility

170

Non-cash warrant revaluation

(25)

(23)

Non-cash interest expense

 

26

 

105

Changes in operating assets and liabilities:

 

 

Accounts receivable

 

(889)

 

(2,472)

Inventory

 

(1,708)

 

(287)

Prepaid expenses and other current assets

 

(384)

 

158

Other assets

 

(150)

 

(28)

Accounts payable

 

499

 

563

Accrued liabilities

 

803

 

(46)

Deferred revenue

(485)

(11)

Lease liabilities, net

24

182

Net cash provided by operating activities

 

13,128

 

9,493

Cash flows from investing activities

 

 

Purchases of property and equipment

 

(1,404)

 

(2,788)

Proceeds received from sale of property and equipment

19

202

Net cash used in investing activities

 

(1,385)

 

(2,586)

Cash flows from financing activities

 

 

Payments on long-term debt

 

(2,790)

 

(2,400)

Payments of debt issuance costs

 

 

(10)

Proceeds from exercise of stock options and purchase of shares in employee stock purchase plan

 

1,198

 

889

Net cash used in financing activities

 

(1,592)

 

(1,521)

Net increase in cash and cash equivalents

 

10,151

 

5,386

Cash and cash equivalents at beginning of period

 

26,795

 

21,409

Cash and cash equivalents at end of period

$

36,946

$

26,795

Supplementary cash flow information:

 

 

Interest paid

$

37

$

169

Operating cash flows paid for operating leases

$

1,384

$

1,320

Financing cash flows paid for finance leases

$

12

$

11

Non-cash investing and financing activities:

 

 

Right-of-use assets obtained in exchange for operating lease liabilities

$

$

6,837

Right-of-use assets obtained in exchange for finance lease liabilities

$

$

36

Purchases of property and equipment in accounts payable and accrued liabilities

$

446

$

807

Cashless exercise of warrants

$

2

$

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

45

EVERSPIN TECHNOLOGIES, INC.

Notes to Financial Statements

1. Organization and Operations

Everspin Technologies, Inc. (the Company) was incorporated in Delaware on May 16, 2008. The Company’s magnetoresistive random access memory (MRAM) solutions offer the persistence of non-volatile memory with the speed and endurance of random access memory (RAM) and enable the protection of mission critical data particularly in the event of power interruption or failure. The Company’s MRAM solutions allow its customers in key markets, such as industrial, medical, automotive/transportation, aerospace, and data center, to design high performance, power-efficient and reliable systems without the need for bulky batteries or capacitors.

2. Summary of Significant Accounting Policies

Use of Estimates

The preparation of the financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities as of the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. On an ongoing basis, management evaluates its estimates, including those related to revenue recognition, fair value of assets and liabilities, inventory net realizable value, deferred tax assets and related valuation allowances, and stock-based compensation. The Company believes its estimates and assumptions are reasonable; however, actual results may differ from the Company’s estimates.

Segments

The Company’s chief operating decision maker is its Chief Executive Officer who reviews financial information for purposes of allocating resources and evaluating financial performance for the entire Company. As a result, the Company has single operating and reportable segment.

Cash and Cash Equivalents

The Company considers all highly liquid, short-term investments with maturity dates of 90 days or less at the date of purchase to be cash equivalents. The Company’s cash equivalents consist solely of money market funds.

Accounts Receivable, Net

Accounts receivable are recorded at the invoiced amount and do not bear interest. The Company generally does not require collateral or other security in support of accounts receivable. Allowances would be provided for individual accounts receivable when the Company becomes aware of a customer’s inability to meet its financial obligations, such as in the case of bankruptcy, deterioration in the customer’s operating results or change in financial position. If circumstances related to customers change, estimates of the recoverability of receivables would be further adjusted. The Company also considers a number of factors in evaluating the sufficiency of its allowance for doubtful accounts, including the length of time receivables are past due, significant one-time events, creditworthiness of customers and historical experience. Account balances would be charged off against the allowance after all means of collection have been exhausted and the potential for recovery is considered remote. The Company’s evaluation determined that no material allowance for doubtful accounts was necessary at December 31, 2023 and 2022.

The unbilled accounts receivable is an estimate of consideration to which the Company expects to be entitled for uses of the Company’s intellectual property. Certain customers report on a lagged basis and actual information is not available timely. The estimates recorded are based on historical trends in the customer’s usage and current market conditions. At December 31, 2023 and 2022, the unbilled accounts receivable balance was $475,000 and $551,000, respectively.

The Company establishes an allowance for product returns. The Company analyzes historical returns, current economic trends and changes in customer demand and acceptance of products when evaluating the adequacy of sales returns. Returns are processed as credits on future purchases and, as a result, the allowance is recorded against the

46

balance of trade accounts receivable. In addition, the Company from time to time may establish an allowance for estimated price adjustments related to its distributor agreements. The Company estimates credits to distributors based on the historical rate of credits provided to distributors relative to sales and evaluation of current market conditions. At December 31, 2023 and 2022, the allowance for product returns and price adjustments was $410,000 and $384,000, respectively.

Accounts receivable, net consisted of the following (in thousands):

December 31, 

December 31,

2023

2022

Trade accounts receivable

$

11,489

$

10,498

Unbilled accounts receivable

475

551

Allowance for product returns and price adjustments

(410)

(384)

Accounts receivable, net

$

11,554

$

10,665

Concentration of Credit Risk

Financial instruments that potentially expose the Company to a concentration of credit risk consist principally of cash and cash equivalents that are held by a financial institution in the United States and accounts receivable. Amounts on deposit with a financial institution may at times exceed federally insured limits.

Significant customers are those which represent more than 10% of the Company’s total revenue or net accounts receivable balance at each respective balance sheet date. For the purposes of this disclosure, the Company defines “customer” as the entity that is purchasing the products or licenses directly from the Company, which includes the distributors of the Company’s products in addition to end customers that the Company sells to directly. For each significant customer, revenue as a percentage of total revenue and accounts receivable as a percentage of total accounts receivable, net are as follows:

Revenue

Accounts Receivable

 

Year Ended December 31, 

December 31, 

December 31,

 

Customers

2023

    

2022

    

    

2023

    

2022

 

Customer A

*

18

%

*

30

%

Customer B

15

%

15

%

13

%

18

%

Customer C

12

%

11

%

*

*

Customer D

11

%

*

22

%

*

Customer E

17

%

*

37

%

*

*

Less than 10%

Inventory

Inventory is valued at the lower of cost, using the first-in, first-out or net realizable value. The carrying value of inventory is adjusted for excess and obsolescence based on the Company’s evaluation which takes into consideration historical and expected future demand, the effect new products may have on the sale of existing products, technological obsolescence, and other factors including inventory age and shipment. At the point of loss recognition, a new lower cost basis for that inventory is established and subsequent changes in facts and circumstances do not result in the restoration or increase in that new cost basis.

Fair Value of Financial Instruments

Fair value is defined as an exit price, representing the amount that would be received to sell an asset, or paid to transfer a liability, in an orderly transaction between market participants. The framework for measuring fair value provides a three-tier hierarchy prioritizing inputs to valuation techniques used in measuring fair value as follows:

Level 1— Observable inputs such as quoted prices for identical assets or liabilities in active markets;

47

Level 2— Inputs, other than quoted prices for identical assets or liabilities in active markets, which are observable either directly or indirectly; and

Level 3— Unobservable inputs in which there is little or no market data requiring the reporting entity to develop its own assumptions.

The carrying value of accounts receivable, accounts payable, and other accruals readily convertible into cash approximate fair value because of the short-term nature of the instruments. The Company’s financial instruments consist of Level 1 assets and a Level 3 liability. Where quoted prices are available in an active market, securities are classified as Level 1. Level 1 assets consist of highly liquid money market funds that are included in cash equivalents. The Company’s Level 3 liability consisted of warrants issued in connection with the 2019 Credit Facility (as defined in Note 6). These warrants were extinguished as of December 31, 2023. The change in the fair value of the warrant liability during the year ended December 31, 2023, was immaterial.

The following tables sets forth the fair value of the Company’s financial assets and liabilities measured at fair value on a recurring basis (in thousands):

December 31, 2023

    

Level 1

    

Level 2

    

Level 3

    

Total

Assets:

  

  

  

Money market funds

$

36,946

  

$

  

$

  

$

36,946

Total assets measured at fair value

$

36,946

  

$

  

$

  

$

36,946

December 31, 2022

    

Level 1

    

Level 2

    

Level 3

    

Total

Assets:

  

  

  

Money market funds

$

26,812

  

$

  

$

  

$

26,812

Total assets measured at fair value

$

26,812

  

$

  

$

  

$

26,812

Liabilities:

  

  

  

Warrant liability

$

  

$

  

$

27

  

$

27

Total liabilities measured at fair value

$

  

$

  

$

27

  

$

27

Property and Equipment

Property and equipment are stated at cost, less accumulated depreciation and amortization. Depreciation begins at the time the asset is placed in service. Maintenance and repairs are charged to operations as incurred. Depreciation is computed using the straight-line method over the following estimated useful lives of the assets:

Useful Lives

Computer and network equipment

2 years

Manufacturing equipment

2 – 7 years

Furniture and fixtures

7 years

Software

3 years

Leasehold improvements

Lesser of useful life of the asset or the remaining lease term

Costs incurred to develop software for internal use during the application development phase are capitalized and amortized over such software’s estimated useful life. Costs related to the design or maintenance of internal-use software are included in operating expenses as incurred. Upon sale or retirement of assets, the cost and related accumulated depreciation are removed from the balance sheet and any resulting gain or loss is reflected in operations. Amortization expense of assets acquired through finance leases is included in the statements of income and comprehensive income.

Impairment of Long-lived Assets

The Company evaluates its long-lived assets, including property and equipment, at the asset group level, for impairment whenever events or changes in circumstances indicate that the carrying value of these assets may not be

48

recoverable. If such events or changes in circumstances occur, for purposes of this assessment, long-lived assets are grouped with other assets and liabilities at the lowest level for which identifiable cash flows are largely independent of the cash flows of other assets and liabilities. Recoverability of these assets is measured by comparison of the carrying amount of each asset group to the future undiscounted cash flows the asset group is expected to generate over its remaining life. If the asset group is considered to be impaired, the amount of any impairment is measured as the difference between the carrying value and the fair value of the impaired asset. There have been no impairments of the Company’s long-lived assets during either of the periods presented.

Leases

The Company leases office, lab, manufacturing space and equipment in various locations with initial lease terms of up to seven years. These leases require monthly lease payments that may be subject to annual increases throughout the lease term. The terms of these leases also include renewal options at the election of the Company to renew or extend the lease for a range of an additional two to five years. These optional periods have not been considered in the determination of the right-of-use-assets (ROU) or lease liabilities associated with these leases as the Company did not consider it reasonably certain it would exercise the options.

The Company determines if an arrangement is a lease at inception. ROU assets represent the Company’s right to use an underlying asset for the lease term and lease liabilities represent the Company’s obligation to make lease payments arising from the lease. The classification of the Company’s leases as operating or finance leases along with the initial measurement and recognition of the associated ROU assets and lease liabilities is performed at the lease commencement date. The measurement of lease liabilities is based on the present value of future lease payments over the lease term. The Company uses its incremental borrowing rate, based on the information available at commencement date, to determine the present value of lease payments when its leases do not provide an implicit rate. The Company uses the implicit rate when readily determinable. The ROU asset is based on the measurement of the lease liability, includes any lease payments made prior to or on lease commencement and excludes lease incentives and initial direct costs incurred, as applicable. Lease expense for the Company’s operating leases is recognized on a straight-line basis over the lease term. Amortization expense for ROU assets associated with finance leases is recognized on a straight-line basis over the shorter of the useful life of the asset or the lease term and interest expense associated with finance leases is recognized on the balance of the lease liability using the effective interest method based on the estimated incremental borrowing rate.

The Company has lease agreements with lease and non-lease components. The Company has elected to not separate lease and non-lease components for any leases involving real estate and office equipment classes of assets and, as a result, accounts for the lease and non-lease components as a single lease component. The Company has elected to separate lease and non-lease components for any leases involving manufacturing facility classes of assets. Further, the Company elected the short-term lease exception policy, permitting it to not apply the recognition requirements of this standard to leases with terms of 12 months or less (short-term leases) for all classes of assets. As of December 31, 2023, the Company did not have any short-term leases.

Operating leases are included in right-of-use assets, lease liabilities, and lease liabilities, net of current portion in the Company’s balance sheet. Finance leases are immaterial.

Debt Issuance Costs

The Company deferred and amortized issuance costs, underwriting fees, end of term payments, and related expenses incurred in connection with the issuance of debt instruments using the effective interest method over the terms of the respective instruments. Debt issuance costs were reflected as a direct reduction of the carrying amount of the related debt liability.

Government Tax Credits, Incentives and Grants

From time to time, the Company may receive government funding in the form of tax credits, operating-related grants, capital-related grants, or other incentives to support various business activities, including capital development, research and development, and other activities as defined by the relevant government agency awarding the tax credit, incentive, or grant. The amount received is typically based on the amount of qualifying costs incurred. The Company typically has to meet certain requirements to retain the government funding. The Company records operating-related

49

grants and non-income related tax credits as other income in the statements of income and comprehensive income when there is reasonable assurance that the grant will be received, and the Company will comply with the conditions specified in the grant agreement.

The Company received Employee Retention Tax Credit (“ERTC”) refunds from the United States Treasury totaling $2.0 million, relating to the payroll periods from October 1, 2020 through September 30, 2021. The amounts were received pursuant to provisions within the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”), the Taxpayer Certainty and Disaster Tax Relief Act of 2020 enacted as part of the Consolidated Appropriations Act, 2021 (“Relief Act”), the American Rescue Plan Act of 2021 (“ARPA”) which provide tax relief and other stimulus measures, including the ERTC. The ERTC program allows for employers to claim a refundable tax credit against a portion of the employer share of Social Security tax for qualified wages paid to employees from March 13, 2020 through September 30, 2021.

The Company recognized the $2.0 million tax credit within other income, net in the statements of income and comprehensive income in the second quarter of 2023, which is when the amount was received and it was determined that those amounts were reasonably assured to be retained by the Company. The Company’s compliance with the program’s qualifications may be subject to audit through the year ended December 31, 2025, which is when the statute of limitation expires. The Company has received all expected ERTC refunds based on applications that have been submitted.

Revenue Recognition

The Company recognizes revenue when a customer obtains control of the promised products or services, in an amount that reflects the consideration the Company expects to receive in exchange for those products or services. Revenue is recognized net of allowances for returns and price adjustments, and any taxes imposed on specific revenue-producing transactions, which are subsequently remitted to governmental authorities.

Nature of Products and Services

The Company’s revenue is derived from the sale of MRAM-based products in discrete unit form, licenses of and royalties on its MRAM and magnetic sensor technology, the sale of backend foundry services and design services to third parties. Sales of products in discrete unit form are recognized at a point in time, revenue related to licensing agreements is recognized when the Company has delivered control of the technology, revenue related to royalty agreements is recognized in the period in which sales generated from products sold using the Company’s technology occurs, sales of backend foundry services are recognized over time, and design services to third parties are recognized either at a point in time or over time, depending on the nature of the services.

Product Revenue

For products sold in their discrete form, the Company either sells its products directly to OEMs, ODMs and CMs, or through a network of distributors, who in turn sell to those customers. For sales directly to OEMs, ODMs and CMs, revenue is recognized when the OEM, ODM or CM obtains control of the product, which occurs at a point in time, generally upon shipment to the customer. Contracts for sales of products are generally less than one year.

From time to time, the Company may provide distributors with price adjustments subsequent to the delivery of product to them and such amounts are dependent on the end customer and product sales price. Price adjustments can be based on a variety of factors, including customer, product, quantity, geography, and competitive differentiation. Price protection rights grant distributors the right to a credit in the event of declines in the price of the Company’s products. Under these circumstances, the Company remits back to the distributor a portion of their original purchase price after the resale transaction is completed in the form of a credit against the distributors’ outstanding accounts receivable balance. The credits are on a per unit basis and are not given to the distributor until the distributor provides information regarding the sale to their end customer. The Company estimates these credits and record such estimates in the same period the related revenue is recognized, resulting in a reduction of product revenue and the establishment of an allowance for price adjustments for amounts due to distributors. The Company estimates credits to distributors based on the historical rate of credits provided to distributors relative to sales and evaluation of current market conditions. Revenue on shipments to distributors is recorded when control of the products has been transferred to the distributor.

50

The Company estimates the amount of our product sales that may be returned by its customers and records this estimate as a reduction of revenue in the period the related product revenue is recognized. The Company estimates its product return liability by analyzing its historical returns, current economic trends and changes in customer demand and acceptance of products. The Company has received insignificant returns to date and believes that returns of its products will continue to not be material.

Upon the transfer of control, generally at shipment, the Company records a trade receivable for the selling price as there is a legally enforceable obligation of the distributor to pay for the product delivered, an allowance is recorded for the estimated discount that will be provided to the distributor, and the net of these amounts is recorded as revenue on the statements of income and comprehensive income.

License Revenue

For licenses of technology, recognition of revenue is dependent upon whether the Company has delivered rights to the technology, and whether there are future performance obligations under the contract. In some instances, the license agreements call for future events or activities to occur in order for milestones amounts to become due from the customer. The terms of such agreements include payment to the Company of one or more of the following: non-refundable upfront fees; and royalties on net sales of licensed products. Historically, these license agreements have not included other future performance obligations for the Company once the license has been transferred to the customer.

Revenue from non-refundable upfront payments is recognized when the license is transferred to the customer and the Company has no other performance obligations.

The Company entered into a contractual agreement with a customer in 2021 for the development of a RAD-Hard product, consisting of a technology license, a design license agreement and development contract, and separate contractual agreements with a customer in 2022 and 2023 for the development of a strategic radiation hardened field programmable gate array product, consisting of a technology license to provide design and development services under the contractual agreement. The Company applies a five-step approach in determining the amount and timing of revenue to be recognized: (1) identifying the contract with a customer; (2) identifying the performance obligations in the contract; (3) determining the transaction price; (4) allocating the transaction price to the performance obligations in the contract; and (5) recognizing revenue when the performance obligation is satisfied.

The Company concluded these contractual arrangements represent one arrangement and evaluated its promises to the customer and whether the performance obligations granted under the arrangement were distinct. The licenses provided to the customer are not transferable, are of limited value without the promised development services, and the customer cannot benefit from the license agreements without the specific obligated services in the development subcontract, as there is strong interdependency between the licenses and the development subcontract. Accordingly, the Company determined the licenses were not distinct within the context of the contract and combined the license with other performance obligations.

As a result, the Company is recognizing revenue related to the performance obligations over the duration of the contract using the input method based on costs incurred to date relative to the total expected costs of the contract over the contract period.

Patents

In an effort to monetize on its intellectual property, the Company may sell patents to customers. The performance obligations are satisfied at the point in time at which the customer obtains control of the patents.

Royalties

Revenue from sales-based royalties from licenses of the Company’s technology are recognized at the later of when (1) the sale occurs or (2) the performance obligation to which some or all of the sales-based royalty has been allocated is satisfied (in whole or in part). The Company will record an unbilled receivable (within accounts receivable, net) for the portion of sales-based royalties that have been earned, but not invoiced at the end of each reporting period.

51

Other Revenue

For certain revenue streams, the Company recognizes revenue based on the pattern of transfer of the services. The Company uses the input method of measuring costs incurred to date compared to total estimated costs to be incurred under the contract as this method most faithfully depicts its performance. The Company will record an unbilled receivable (within accounts receivable, net) for the portion of the work that has been completed but not invoiced at the end of each reporting period.

At the inception of each agreement that includes milestone payments, the Company evaluates whether the milestones are considered probable of being reached and estimates the amount to be included in the transaction price by using the most likely amount method. If it is probable that a significant reversal of cumulative revenue would not occur, the associated milestone value is included in the transaction price. At the end of each subsequent reporting period, the Company re-evaluates the probability or achievement of each such milestone and any related constraint, and if necessary, adjusts its estimate of the overall transaction price. Any such adjustments are recorded on a cumulative catch-up basis, which would affect revenues and earnings in the period of adjustment.

Product Warranty

The Company generally sells products with a limited warranty of product quality and a limited indemnification of customers against intellectual property infringement claims related to the Company’s products. The Company accrues for known warranty and indemnification issues if a loss is probable and can be reasonably estimated and accrues for estimated losses incurred for unidentified issues based on historical experience. A warranty liability was not recorded at December 31, 2023 and 2022, as the estimated future warranty costs were not material based on the Company’s historical experience.

Research and Development

Research and development expenses are incurred in support of internal development programs or as part of the Company’s joint development agreement with GLOBALFOUNDRIES (see Note 10). Research and development expenses include personnel-related costs (including stock-based compensation), circuit design costs, purchases of materials and laboratory supplies, fabrication and packaging of experimental integrated circuit products, depreciation of research and development related capital equipment and overhead and are expensed as incurred.

Stock-based Compensation

Stock-based compensation arrangements include stock option grants and restricted stock unit (RSU) awards under the Company’s equity incentive plans, as well as shares issued under the Company’s Employee Stock Purchase Plan (ESPP), through which employees may purchase the Company’s common stock at a discount to the market price.

The Company uses RSUs with a service condition as its primary equity incentive compensation instrument for employees.  Share-based compensation expense for RSUs is measured on the grant date based on the fair market value of the Company’s common stock and is recognized over the requisite service period using the straight-line method. The Company accounts for forfeitures as they occur.

The Company measures its stock option grants based on the estimated fair value of the options as of the grant date using the Black-Scholes option-pricing model. Stock-based compensation expense for stock option grants is recognized over the requisite service period using the straight-line method. The Company accounts for forfeitures as they occur.

Expected volatility. The Company determines the expected stock price volatility based on the historical volatility of its common stock and the historical volatilities of a peer group. Industry peers consist of several public companies in the technology industry similar in size, stage of life cycle and financial leverage. If circumstances change such that the identified companies are no longer similar, the Company will revise its peer group to substitute more suitable companies in this calculation.

Risk-free interest rate. The risk-free interest rate is based on the U.S. Treasury yield with a maturity equal to the expected term of the option in effect at the time of grant.

52

Expected term. The expected term represents the period that the stock-based awards are expected to be outstanding. The Company used the simplified method to determine the expected term, which is calculated as the average of the time to vesting and the contractual life of the options.

Dividend yield. The Company has never paid dividends on its common stock and is prohibited from paying dividends on its common stock. Therefore, the Company used an expected dividend yield of zero.

Income Taxes

The Company uses the liability method of accounting for income taxes. Under this method, deferred tax assets and liabilities are determined based on the differences between the financial reporting and the tax bases of assets and liabilities and are measured using the enacted tax rates and laws that will be in effect when the differences are expected to reverse. The Company must then assess the likelihood that the resulting deferred tax assets will be realized. A valuation allowance is provided when it is more likely than not that some portion or all of a deferred tax asset will not be realized.

The Company recognizes benefits of uncertain tax positions if it is more likely than not that such positions will be sustained upon examination based solely on their technical merits, as the largest amount of benefit that is more likely than not to be realized upon the ultimate settlement. The Company’s policy is to recognize interest and penalties related to the underpayment of income taxes as a component of income tax expense or benefit.

Net Income per Common Share

Basic net income per common share is calculated by dividing the net income by the weighted-average number of shares of common stock outstanding for the period less shares subject to repurchase, without consideration of potentially dilutive securities. Diluted earnings per share is calculated using the treasury stock method by dividing net income by the total weighted average shares of common stock outstanding in addition to the potential impact of dilutive securities including restricted stock units, warrants, and options. In periods with a net loss, diluted net loss per common share is the same as basic net loss per common share since the effect of potentially dilutive securities is anti-dilutive.

Recently Issued Pronouncements

In June 2016, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) No. 2016-13, Financial Instruments-Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments, which amends the incurred loss impairment methodology in current GAAP with a methodology that reflects expected credit losses and requires consideration of a broader range of reasonable and supportable information to inform credit loss estimates. As the Company is a smaller reporting company, ASU 2016-13 is effective for the Company’s annual reporting periods, and interim periods within those years, beginning after December 15, 2022, and requires a cumulative effect adjustment to the balance sheet as of the beginning of the first reporting period in which the guidance is effective. In April 2019, the FASB issued ASU 2019-04, Codification Improvements Financial Instruments-Credit Losses (Topic 326). ASU 2019-04 provides narrow-scope amendments to help apply ASU 2016-13, and is effective with the adoption of ASU 2016-13. The Company adopted ASU 2016-13 and ASU 2019-04 on January 1, 2023, and it did not have a material impact on its financial statements.

In December 2023, the FASB issued ASU No. 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which is intended to improve an entity’s income tax disclosures, primarily through disaggregated information about an entity’s effective income tax rate reconciliation and additional disclosures regarding income taxes paid. ASU 2023-09 is effective for the Company’s annual reporting periods, and interim periods within those years, beginning after December 15, 2024, on a prospective basis. The Company is currently evaluating the impact that the standard will have on its financial statements.

The Company reviewed all other recently issued accounting pronouncements and concluded that they were either not applicable or not expected to have a significant impact to the financial statements.

53

Subsequent Events

The Company evaluated events after December 31, 2023, and through the date the financial statements were issued, and determined any events or transactions occurring during this period that would require recognition or disclosure are appropriately addressed in these financial statements.

3. Revenue

The Company sells products to its distributors, ODMs and OEMs. The Company also recognizes revenue under licensing, patent, and royalty agreements with some customers. The following table presents the Company’s revenues disaggregated by sales channel (in thousands):

Year Ended December 31, 

    

2023

    

2022

Distributor

$

49,845

$

50,943

Non-distributor

13,920

9,042

Total revenue

$

63,765

$

59,985

The following table presents the Company’s revenues disaggregated by timing of recognition (in thousands):

Year Ended December 31, 

    

2023

    

2022

Point in time

$

54,183

$

56,675

Over time

9,582

3,310

Total revenue

$

63,765

$

59,985

The following table presents the Company’s revenues disaggregated by type (in thousands):

Year Ended December 31, 

    

2023

    

2022

Product sales

$

53,123

$

55,032

Licensing

7,476

1,937

Royalties

862

1,414

Other revenue

2,304

1,602

Total revenue

$

63,765

$

59,985

The Company licenses its intellectual property and is entitled to consideration based on the customer’s sales. The Company makes estimates in instances when the customer reports sales on a lagged basis and actual information is not available timely. The estimates are based on historical trends in the customer’s activity and current market conditions. In the year ended December 31, 2023, the Company recognized less than $0.1 million of royalty revenue related to activity occurring in the year ended December 31, 2022. In the year ended December 31, 2022, the Company recognized $0.3 million of royalty revenue related to activity occurring in the year ended December 31, 2021. This is a change in estimate and is based on actual information received from the customer. The amounts are reported in licensing, royalty, patent and other revenue in the statements of income and comprehensive income.

We recognize revenue by geography based on the region in which our products are sold, and not to where the end products in which they are assembled are shipped. Our revenue by region for the periods indicated was as follows (in thousands):

Year Ended December 31, 

    

2023

    

2022

APAC

$

33,096

$

35,631

North America

15,922

14,533

EMEA

14,747

9,821

Total revenue

$

63,765

$

59,985

54

4. Balance Sheet Components

Inventory

Inventory consisted of the following (in thousands):

December 31, 

December 31, 

    

2023

    

2022

Raw materials

$

189

$

666

Work-in-process

 

6,724

 

4,746

Finished goods

 

1,478

 

1,271

Total inventory

$

8,391

$

6,683

Property and Equipment, Net

Property and equipment, net consisted of the following (in thousands):

December 31, 

December 31, 

    

2023

    

2022

Manufacturing equipment

$

13,494

$

16,130

Computer and network equipment

520

1,124

Furniture and fixtures

113

187

Software

825

929

Leasehold improvements

1,476

1,444

Total property and equipment, gross

16,428

19,814

Less: accumulated depreciation

(12,711)

(15,931)

Total property and equipment, net

$

3,717

$

3,883

Depreciation and amortization expense during the years ended December 31, 2023 and 2022 was $1.2 million and $1.0 million, respectively.

Accrued Liabilities

Accrued liabilities consisted of the following (in thousands):

December 31, 

December 31,

    

2023

    

2022

Payroll-related expenses

$

3,347

$

2,886

Inventory

317

185

Other

 

672

 

462

Total accrued liabilities

$

4,336

$

3,533

Deferred Revenue

During the year ended December 31, 2022, the Company executed contractual arrangements with a customer for the development of a RAD-Hard product, consisting of a technology license, design license agreement and development subcontract (RAD-Hard 1). The Company does not share in the rights to future revenues or royalties. The total arrangements are for $6.5 million in consideration.

The Company concluded these contractual arrangements represent one arrangement and evaluated its promises to the customer and whether the performance obligations granted under the arrangement were distinct. The licenses provided to the customer are not transferable, are of limited value without the promised development services, and the customer cannot benefit from the license agreements without the specific obligated services in the development subcontract, as there is strong interdependency between the licenses and the development subcontract. Accordingly, the Company determined the licenses were not distinct within the context of the contract and combined the license with other performance obligations. The total transaction price of $6.5 million was allocated to the single performance obligation.

55

The Company recognizes revenue related to the performance obligations over time using the input method based on costs incurred to date relative to the total expected costs of the contract and began recognizing revenue in the second quarter of 2021 over the contract period. This method depicts performance under the contract and requires the Company to make estimates about the future costs expected to be incurred to perform under the contact, including labor and material costs.

As of December 31, 2023, the Company has billed $6.0 million for the performance under the RAD-Hard 1 contractual agreements. Under the input method of recognition, the Company has recognized $0.7 million in revenue for the year ending December 31, 2023, and $5.7 million in revenue since inception of the contractual agreements. As a result, the Company has recorded $0.3 million in deferred revenue as of December 31, 2023. The Company expects to recognize the remaining $0.8 million of the transaction price as services are performed throughout the contractual period and performance is expected to be complete in the year ended December 31, 2024.

As of December 31, 2022, the Company had recorded $0.8 million in deferred revenue, of which $0.7 million was recognized as revenue during the year ending December 31, 2023.

5. Commitments and Contingencies

Leases

Operating leases consist of fabrication, lab, and office space expiring at various dates through 2029. Finance leases relate to a server lease expiring in January 2025. The Company’s lease agreements do not contain any material residual value guarantees or material restrictive covenants.

The undiscounted future non-cancellable lease payments under the Company’s operating and finance leases were as follows (in thousands):

As of December 31, 2023

    

Amount

2024

$

1,411

2025

1,416

2026

1,431

2027

1,314

2028

529

Thereafter

38

Total lease payments

6,139

Less: imputed interest

(559)

Total lease liabilities

5,580

Less: current portion of lease liabilities

(1,190)

Total lease liabilities, net of current portion

$

4,390

Other information related to the Company's operating lease liabilities was as follows:

December 31, 

December 31,

    

2023

    

2022

Weighted-average remaining lease term (years)

    

4.37

5.35

    

Weighted-average discount rate

4.50

%

4.50

%

Other information related to the Company’s finance lease liabilities was as follows:

December 31, 

December 31,

    

2023

    

2022

Weighted-average remaining lease term (years)

    

1.09

2.09

    

Weighted-average discount rate

4.50

%

4.50

%

Lease costs for the Company’s operating leases were $1.4 million for the years ended December 31, 2023 and 2022, respectively. Lease costs for the Company’s finance lease were immaterial for the years ended December 31, 2023 and 2022.

56

Legal Proceedings

From time to time, the Company may become involved in legal proceedings arising from the ordinary course of its business. Management is currently not aware of any matters that it expects will have a material adverse effect on the financial position, results of operations or cash flows of the Company.

Indemnifications

In the ordinary course of business, the Company enters into agreements that may include indemnification provisions. Pursuant to such agreements, the Company may indemnify, hold harmless and defend an indemnified party for losses suffered or incurred by the indemnified party. Some of the provisions will limit losses to those arising from third party actions. In some cases, the indemnification will continue after the termination of the agreement. The maximum potential amount of future payments the Company could be required to make under these provisions is not determinable. The Company has never incurred material costs to defend lawsuits or settle claims related to these indemnification provisions. The Company has also entered into indemnification agreements with its directors and officers that may require the Company to indemnify its directors and officers against liabilities that may arise by reason of their status or service as directors or officers to the fullest extent permitted by Delaware corporate law. The Company currently has directors’ and officers’ insurance.

6. Debt

In March 2023, the 2019 Credit Facility, consisting of the Company’s Term Loan and Line of Credit, was paid in full, and there was no outstanding balance as of December 31, 2023. The Company paid an early termination and prepayment fee of $170,000, which was recorded within other income (expense) within the statements of income and comprehensive income for the year ended December 31, 2023. The Company was in compliance with all covenants throughout the 2019 Credit Facility payoff date in March 2023.

The amortization of the debt issuance costs and accretion of the debt discount is included in interest expense within the statements of income and comprehensive income and included in non-cash interest expense within the statement of cash flows.

The carrying value of the Company’s 2019 Credit Facility at December 31, 2022, was as follows (in thousands):

    

Current

    

Long-Term

    

Portion

Debt

Total

Credit Facility

$

2,620

$

$

2,620

Unamortized debt discounts

(26)

 

 

(26)

Net carrying value

$

2,594

$

$

2,594

7. Stockholders’ Equity

Common Stock

Common stockholders are entitled to dividends if and when declared by the board of directors. As of December 31, 2023, no dividends on common stock had been declared by the board of directors.

57

Reserved Shares of Common Stock

The Company had reserved shares of common stock for future issuance as follows:

December 31, 

December 31, 

2023

2022

Options issued and outstanding

 

1,793,485

 

1,994,726

Shares available for future option grants

 

598,397

 

689,472

RSUs subject to future vesting

905,781

656,646

Common stock warrants

 

18,461

 

18,461

Total

 

3,316,124

 

3,359,305

Warrants

In connection with the Company’s prior credit facility with Ares Venture Finance entered into in June 2015, the Company issued Ares Venture Finance a warrant to purchase 18,461 shares of the Company’s common stock at an exercise price of $26.00 per share. The warrant can be exercised at any time and expires on June 5, 2025.

8. Stock-Based Compensation

2016 Employee Incentive Plan

The Company’s board of directors adopted the 2016 Equity Incentive Plan (the 2016 Plan) on April 25, 2016, which was subsequently approved on September 20, 2016 by the Company’s stockholders. The 2016 Plan became effective on October 7, 2016, the date the Company’s S-8 registration statement relating to the 2016 Plan was declared effective by the SEC.

The Company’s 2016 Plan provides for the grant of incentive stock options, non-statutory stock options, stock appreciation rights, restricted stock awards, restricted stock unit awards, performance-based stock awards, and other forms of equity compensation to employees, directors, and consultants. In addition, the Company’s 2016 Plan provides for the grant of performance cash awards to employees, directors, and consultants.

The maximum number of shares of common stock that may be issued under the Company’s 2016 Plan was initially 500,000 subject to an automatic increase on January 1 of each year, beginning on January 1, 2017, and continuing through and including January 1, 2026, by 3% of the total number of shares of capital stock outstanding on December 31 of the preceding calendar year, or a lesser number of shares determined by the Company’s board of directors. On May 20, 2021, the Company’s stockholders approved an amendment to the 2016 Plan to increase the total number of authorized shares of common stock available for grant thereunder by an additional 550,000 shares. At December 31, 2023, of the 3,297,663 shares of common stock reserved and available for grant under the 2016 Plan, 598,397 shares of common stock remain available for grant under the 2016 Plan.

2008 Employee Incentive Plan

The 2008 Equity Incentive Plan (the 2008 Plan) provided for the issuance of incentive stock options (ISO), nonqualified stock options, and other stock compensation awards.

Due to the adoption of the 2016 Plan, no further grants will be made under the Company’s 2008 Plan. However, any outstanding stock awards granted under the 2008 Plan will remain outstanding, subject to the terms of the Company’s 2008 Plan and the applicable stock award agreements, until such outstanding stock awards that are stock options are exercised or until they terminate or expire by their terms, or until such stock awards are fully settled, terminated, or forfeited. At December 31, 2023, 35,943 options under the 2008 Plan remained outstanding.

58

Summary of Stock Option Activity

The following table summarizes the stock option and award activity for all grants under the 2008 Plan and 2016 Plan:

Options Outstanding

Weighted-

Weighted-

Options and

Average

Average

Aggregate

Awards

Exercise

Remaining

Intrinsic

Available for

Number of

Price Per

Contractual

Value

Grant

    

Options

    

Share

    

Life (years)

    

(In thousands)

Balance—December 31, 2022

 

689,472

1,994,726

$

5.88

7.8

$

1,275

Authorized

 

611,228

RSUs granted

(713,301)

RSUs cancelled/forfeited

7,057

Warrants exercised

(236)

Options granted

(8,000)

8,000

$

6.47

Options exercised

 

(161,121)

$

4.99

$

679

Options cancelled/forfeited

 

12,177

(12,177)

$

6.48

Balance—December 31, 2023

 

598,397

 

1,829,428

$

5.96

6.9

$

5,676

Options exercisable—December 31, 2023

 

 

1,296,776

$

5.67

6.5

$

4,411

During the years ended December 31, 2023 and 2022, the Company granted options with a weighted-average grant date fair value of $3.85 and $5.40 per share, respectively.

The total fair value of options vested during the year was $2.0 million and $1.3 million, for the years ended December 31, 2023, and 2022, respectively.

As of December 31, 2023, there was $2.3 million of total unrecognized compensation expense related to unvested options which is expected to be recognized over a weighted-average period of 1.7 years. Compensation cost capitalized within inventory at December 31, 2023 and 2022 was not material.

The Company estimated the fair value of each option grant using the Black-Scholes option-pricing model. The fair value of employee stock options is being amortized on a straight-line basis over the requisite service period of the awards. The fair value of employee stock options was estimated using the assumptions below.

Year Ended

December 31, 

 

2023

    

2022

 

Expected volatility

50.9 - 73.9

%  

73.7 - 74.1

%

Risk-free interest rate

2.33 - 3.45

%  

2.13 - 2.93

%

Expected term (in years)

6.01 - 6.05

 

6.05 - 6.08

Dividend yield

%  

%

2016 Employee Stock Purchase Plan

The Company’s board of directors adopted the 2016 Employee Stock Purchase Plan (the ESPP) on April 25, 2016, which was subsequently approved on September 20, 2016 by the Company’s stockholders. The Company had 890,161 shares available for issuance under the Company’s ESPP as of December 31, 2023. Employees purchased 87,718 shares for $394,000 during the year ended December 31, 2023, and 77,221 shares for $342,000 during the year ended December 31, 2022.

Restricted Stock Units

In September 2017, the Company’s board of directors authorized the issuance of restricted stock units (RSUs), under the 2016 Plan and adopted a form of Restricted Stock Unit Award Agreement, which is intended to serve as a standard form agreement for RSU grants issued to employees, executive officers, directors, and consultants. The fair

59

value of the RSUs is recognized as expense ratably over the vesting period, as determined by the board of directors on the date of grant.

The following table summarizes RSU activity for the year ended December 31, 2023:

RSUs Outstanding

    

Weighted-

    

Average

Number of

    

Grant Date

Restricted Stock

    

Fair Value Per

    

Units

    

Share

Balance—December 31, 2022

656,646

$

6.45

Granted

 

713,301

$

6.52

Vested

(457,109)

$

6.29

Cancelled/forfeited

(7,057)

$

6.32

Balance—December 31, 2023

 

905,781

    

$

6.59

The fair value of RSUs is determined on the date of grant based on the market price of the Company’s common stock on that date. As of December 31, 2023, there was $4.6 million of unrecognized stock-based compensation expense related to RSUs to be recognized over a weighted-average period of 1.8 years. Compensation cost capitalized within inventory at December 31, 2023 and 2022 was not material.

9. 401(k) Plan

The Company has a defined contribution employee benefit plan pursuant to Section 401(k) of the Internal Revenue Code. The plan allows eligible employees to defer a portion of their annual compensation up to certain statutory limits. At the election of the Board of Directors, the Company may elect to match employee contributions but has not done so to date.

10. Significant Agreements

GLOBALFOUNDRIES, Inc. Joint Development Agreement

Since October 17, 2014, the Company has participated in a joint development agreement (JDA) with GLOBALFOUNDRIES Inc. (GF), a semiconductor foundry, for the joint development of STT-MRAM technology to produce a family of discrete and embedded MRAM technologies. The term of the agreement is until the completion, termination, or expiration of the last statement of work entered into pursuant to the joint development agreement. The agreement was extended on December 31, 2019 to include a new phase of support for 12nm MRAM development.

Under the current JDA extension terms, each party licenses its relevant intellectual property to the other party. For certain jointly developed works, the parties have agreed to follow an invention allocation procedure to determine ownership. In addition, GF possesses the exclusive right to manufacture the Company’s discrete and embedded STT-MRAM devices developed pursuant to the agreement until the earlier of three years after the qualification of the MRAM device for a particular technology node or four years after the completion of the relevant statement of work under which the device was developed. For the same exclusivity period associated with the relevant device, GF agreed not to license intellectual property developed in connection with the JDA to named competitors of the Company.

If GF manufactures, sells, or transfers to customers wafers containing production quantified STT-MRAM devices that utilize certain design information, GF will be required to pay the Company a royalty.

60

11. Geographic Information

Property and equipment, net by country was as follows (in thousands):

December 31, 

2023

    

2022

United States

$

2,555

$

2,335

Singapore

1,077

1,459

Other

85

89

$

3,717

$

3,883

Revenue from customers is designated based on the geographic region or country to which the product is delivered or the licensee is located. Revenue by country was as follows (in thousands):

Year Ended December 31, 

2023

    

2022

United States

$

14,599

$

14,585

Japan

12,216

12,442

Hong Kong

10,748

12,820

Germany

9,767

3,839

Singapore

4,285

1,075

China

2,727

3,739

Canada

1,324

5,670

All other

8,099

5,815

Total revenue

$

63,765

$

59,985

12. Income Taxes

For the years ended December 31, 2023 and 2022, the Company’s provision for income tax consisted of (in thousands):

Year Ended December 31, 

2023

    

2022

Current:

Federal

$

$

State

134

14

Foreign

Total Current

$

134

$

14

Deferred:

Federal

$

40

$

State

(190)

Foreign

Total Deferred

$

(150)

$

Provision for income taxes

$

(16)

$

14

61

The reconciliation of the statutory federal income tax rate to the Company’s effective tax rate is as follows:

Year Ended December 31, 

    

2023

    

2022

    

Tax at statutory federal rate

21.0

%  

21.0

%  

State taxes, net of federal benefit

1.7

1.9

Stock-based compensation

0.6

4.2

IRC section 162(m) limitation

3.9

1.1

Change in valuation allowance

(28.5)

(28.0)

Other

1.1

Provision for income taxes

(0.2)

%  

0.2

%  

The tax effects of temporary differences and carryforwards that give rise to significant portions of the deferred tax assets are as follows (in thousands):

December 31, 

    

2023

    

2022

Deferred tax assets:

Net operating loss carryforwards

$

22,068

$

27,110

Inventory

287

273

Accruals

863

737

Depreciation and amortization

13

27

Research and experimental expenditures

4,728

2,229

Stock-based compensation

268

270

Right of use liability

1,245

1,477

Gross deferred tax assets

29,472

32,123

Valuation allowance

(27,748)

(30,328)

Deferred tax assets

1,724

1,795

Deferred tax liabilities:

Right of use asset

(1,226)

(1,463)

Other

(348)

(332)

Deferred tax liabilities

(1,574)

(1,795)

Net deferred tax assets

$

150

$

The Company is required to reduce its deferred tax assets by a valuation allowance if it is more likely than not that some or all of its deferred tax assets will not be realized. Management must use judgment in assessing the potential need for a valuation allowance, which requires an evaluation of both negative and positive evidence. The weight given to the potential effect of negative and positive evidence should be commensurate with the extent to which it can be objectively verified. In determining the need for and amount of the valuation allowance, if any, the Company assesses the likelihood that it will be able to recover its deferred tax assets using historical levels of income, estimates of future income and tax planning strategies. As a result of projected taxable income, the Company determined that, based on all available evidence, there was substantial certainty as to whether it will recover recorded net deferred taxes for certain state jurisdictions in future periods. However, as it pertains to the federal, Arizona, and Colorado net deferred tax assets, based on all the available evidence, there is substantial uncertainty as to whether it will recover recorded net deferred taxes in future periods. Accordingly, the Company recorded a partial and full valuation allowance against all of its net deferred tax assets as of December 31, 2023 and 2022, respectively. The net valuation allowance decreased by $2.6 million in 2023.

As of December 31, 2023, the Company has federal net operating loss carryforwards of approximately $96.2 million, of which $55.8 million will expire in 2028 through 2037 if not utilized, and $40.5 million that will carryover indefinitely. In addition, the Company has state net operating loss carryforwards of approximately $48.7 million, of which $45.9 million will expire in 2028 through 2043 if not utilized, and $2.8 million that will carryover indefinitely.

The Tax Reform Act of 1986 (the Act) provides for a limitation on the annual use of net operating loss carryforwards following certain ownership changes (as defined by the Act and codified under Section 382 of the U.S. Internal Revenue Code of 1986, as amended (the Code)) that could limit the Company’s ability to utilize these carryforwards. Further, a portion of the carryforwards may expire before utilized to reduce future income tax liabilities

62

as a result of the annual limitation. The Company experienced an ownership change in October 2016 and as a result, $43.8 million ($9.2 million tax effected) of the federal NOLs are expected to expire unutilized due to limitation under Section 382 of the Code. The NOLs expected to expire unutilized are included in the NOL carryforward amounts disclosed, subject to a valuation allowance.

The Company files income tax returns in the U.S. federal and various state jurisdictions. The Company is generally subject to U.S. federal and state income tax examination for all tax years beginning in 2008, due to the net operating losses that are carried forward.

A summary of changes in the Company’s gross unrecognized tax benefits for the years ended December 31, 2023 and 2022 was as follows (in thousands):

Year Ended December 31, 

2023

    

2022

Unrecognized tax expense, beginning of the year

$

105

$

105

Decrease related to prior year tax positions

(16)

Increase related to prior year tax positions

368

Increase related to current year tax positions

16

Unrecognized tax expense, end of year

$

473

$

105

Included in the balance of unrecognized tax benefits as of December 31, 2023, are $105,000 of tax benefit that, if recognized, would affect the effective tax rate. Included in the balance of uncertain tax benefits as of December 31, 2023 is $368,000 of tax benefits that, if recognized, would result in adjustments to deferred taxes.

The Company's policy is to recognize interest and penalties accrued on any unrecognized tax benefit as a component of income tax expense. The Company has accrued penalties and interest of $155,000, as of both December 31, 2023 and 2022.

13. Net Income Per Common Share

The following table sets forth the computation of basic and diluted net income per share (in thousands, except share and per share amounts):

Basic EPS

Year Ended December 31, 

    

    

2023

    

2022

Numerator:

 

 

  

 

  

Net income

$

9,052

$

6,129

Denominator:

 

  

 

  

Weighted-average shares of common stock outstanding, basic

 

20,748,302

 

20,130,336

Net income per common share, basic

$

0.44

$

0.30

63

Diluted EPS

Year Ended December 31, 

    

    

2023

    

2022

Numerator:

 

 

  

 

  

Net income

$

9,052

$

6,129

Less: warrant liability fair value gain recognized  

(25)

(23)

Net income attributable to common stockholders, diluted

$

9,027

$

6,106

Denominator:

 

  

 

  

Weighted-average shares of common stock outstanding, basic

 

20,748,302

 

20,130,336

Dilutive effect of stock options and RSUs

619,002

645,589

Weighted-average shares of common stock outstanding, diluted

 

21,367,304

 

20,775,925

Net income per common share, diluted

$

0.42

$

0.29

The following outstanding shares of potentially dilutive securities outstanding have been excluded from the computation of diluted net income per common share for the periods presented as their inclusion would be anti-dilutive:

Year Ended December 31, 

2023

    

2022

Options to purchase common stock

613,652

 

841,845

RSUs

330,082

4,147

Common stock warrants

18,461

 

18,461

ESPP

Total

962,195

 

864,453

Item 9. Changes in and Disagreements with Accountants on Accounting and Financial Disclosure.

None.

Item 9A. Controls and Procedures.

Evaluation of disclosure controls and procedures.

Our management, with the participation of our management team, including our Chief Executive Officer (CEO) and Chief Financial Officer (CFO) evaluated the effectiveness of the design and operation of our disclosure controls and procedures (as defined in Rules 13a-15(e) and 15d-15(e) under the Exchange Act) as of December 31, 2023.

Based on this evaluation, our CEO and CFO concluded that, our disclosure controls and procedures were effective at the reasonable assurance level as of December 31, 2023.

Management’s Annual Report on Internal Control Over Financial Reporting

This Annual Report on Form 10-K includes a report of management’s assessment regarding internal control over financial reporting (as defined in Rules 13a-15(f) and 15d-15(f) under the Exchange Act). This Annual Report on Form 10-K does not include an attestation report of our independent registered public accounting firm because, as a “smaller reporting company”, and non-accelerated filer, our independent registered public accounting firm is not required to issue such an attestation report.

The following report is provided by management in respect of our internal control over financial reporting:

Our management is responsible for establishing and maintaining adequate internal control over financial reporting. Our management used the Committee of Sponsoring Organizations of the Treadway Commission’s Internal Control - Integrated Framework (2013), or the COSO framework, to evaluate the effectiveness of internal control over financial reporting. Management believes that the COSO framework is a suitable framework for its evaluation of financial

64

reporting because it is free from bias, permits reasonably consistent qualitative and quantitative measurements of our internal control over financial reporting, is sufficiently complete so that those relevant factors that would alter a conclusion about the effectiveness of our internal control over financial reporting are not omitted and is relevant to an evaluation of internal control over financial reporting. Management has assessed the effectiveness of our internal control over financial reporting as of December 31, 2023, and has concluded that such internal control over financial reporting was effective.

Changes in internal control over financial reporting.

There have been no changes in our internal control over financial reporting that occurred during the year ended December 31, 2023, that materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

Inherent limitation on the effectiveness of internal control.

The effectiveness of any system of internal control over financial reporting, including ours, is subject to inherent limitations, including the exercise of judgment in designing, implementing, operating, and evaluating the controls and procedures, and the inability to eliminate misconduct completely. Accordingly, any system of internal control over financial reporting, including ours, no matter how well designed and operated, can only provide reasonable, not absolute assurances. In addition, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate. We intend to continue to monitor and upgrade our internal controls as necessary or appropriate for our business, but cannot assure you that such improvements will be sufficient to provide us with effective internal control over financial reporting.

Item 9B. Other Information.

Trading Arrangements of Directors and Executive Officers.

None of our directors or executive officers adopted, modified, or terminated a Rule 10b5-1 trading arrangement or a non-Rule 10b5-1 trading arrangement (as defined under Item 408(a) of Regulation S-K) during the quarter ended December 31, 2023.

Election of a Director.

On February 26, 2024, Douglas Mitchell was elected as a member of our board of directors. Mr. Mitchell was appointed to serve on our Nominating and Corporate Governance Committee, effective immediately. There is no arrangement or understanding between Mr. Mitchell and any other person pursuant to which he was selected as a director. Mr. Mitchell does not have any direct or indirect material interest in any transaction required to be disclosed pursuant to Item 404(a) of Regulation S-K. We will enter into our standard indemnification and standard non-disclosure agreement with Mr. Mitchell.

Mr. Mitchell will participate in our non-employee director compensation program. In connection with Mr. Mitchell’s election to our board of directors, Mr. Mitchell will be granted an initial RSU award with a grant value of $250,000, which will vest 50% on each of the first and second anniversary from the date of grant. Mr. Mitchell will also receive an annual cash retainer of $55,000 for his service on our board of directors.

Item 9C. Disclosure Regarding Foreign Jurisdictions that Prevent Inspections.

Not applicable.

65

PART III

Item 10. Directors, Executive Officers and Corporate Governance.

Information required by this item will be contained in our definitive proxy statement to be filed with the SEC on Schedule 14A in connection with our 2024 Annual Meeting of Stockholders, or the Proxy Statement, which will be filed not later than 120 days after the end of our fiscal year ended December 31, 2023, under the headings “Management,” “Proposal 1 - Election of Directors,” “Board Committees and Meetings,” and, to the extent applicable, “Delinquent Section 16(a) Reports,” and is incorporated herein by reference.

We have adopted a Code of Business Conduct and Ethics that applies to our officers, directors and employees which is available on our website at www.everspin.com. The Code of Business Conduct and Ethics is intended to qualify as a “code of ethics” within the meaning of Section 406 of the Sarbanes-Oxley Act of 2002 and Item 406 of Regulation S-K. In addition, we intend to promptly disclose (1) the nature of any substantive amendment to our Code of Business Conduct and Ethics that applies to our principal executive officer, principal financial officer, principal accounting officer or controller or persons performing similar functions and (2) the nature of any waiver, including an implicit waiver, from a provision of our code of ethics that is granted to one of these specified officers, the name of such person who is granted the waiver and the date of the waiver, on our website in the future.

Item 11. Executive Compensation.

The information required by this item regarding executive compensation is incorporated by reference to the information set forth in the sections titled “Executive Compensation” and “Compensation of Non-Employee Board Members” in our Proxy Statement.

Item 12. Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters.

The information required by this item regarding security ownership of certain beneficial owners and management is incorporated by reference to the information set forth in the sections titled “Security Ownership of Certain Beneficial Owners and Management” and “Securities Authorized for Issuance Under Equity Compensation Plans” in our Proxy Statement.

Item 13. Certain Relationships and Related Transactions, and Director Independence.

The information required by this item regarding certain relationships and related transactions and director independence is incorporated by reference to the information set forth in the sections titled “Certain Relationships and Related Party Transactions” and “Corporate Governance”, respectively, in our Proxy Statement.

Item 14. Principal Accountant Fees and Services.

The information required by this item regarding principal accountant fees and services is incorporated by reference to the information set forth in the section titled “Principal Accountant Fees and Services” in our Proxy Statement.

66

PART IV

Item 15. Exhibits and Financial Statement Schedules.

(a) The following documents are filed as part of this report:

1. Financial Statements

Information in response to this Item is included in Part II, Item 8 of this Annual Report on Form 10-K.

2. Financial Statement Schedules

All schedules are omitted because they are not applicable or the required information is shown in the financial statements or notes thereto.

3. Exhibits

67

EXHIBIT INDEX

Incorporation By Reference

Exhibit
Number

    

Description

    

Form

    

SEC File No.

    

Exhibit

    

Filing Date

 

 

 

3.1

Amended and Restated Certificate of Incorporation.

8-K

001-37900

3.1

10/13/2016

 

3.1.1

Amendment to Amended and Restated Certificate of Incorporation.

8-K

001-37900

3.1

5/22/2019

3.1.2

Amendment to Amended and Restated Certificate of Incorporation.

8-K

001-37900

3.1

5/27/2020

3.1.3

Amendment to Amended and Restated Certificate of Incorporation

8-K

001-37900

3.1

5/25/2023

3.2

Amended and Restated Bylaws.

8-K

001-37900

3.2

5/22/2019

 

4.1

Form of Common Stock Certificate of the registrant.

S-1

333-213569

4.1

9/09/2016

4.2

Amended and Restated Warrant to Purchase Common Stock, dated as of August 5, 2019, between the registrant and Silicon Valley Bank.

10-Q

001-37900

4.2

11/08/2019

4.3

Warrant to Purchase Common Stock, dated as of July 15, 2020, between the registrant and Silicon Valley Bank.

10-Q

001-37900

4.3

8/06/2020

4.4

Description of Common Stock.

10-K

001-37900

4.4

3/04/2021

10.1

Form of Indemnity Agreement between the registrant and its directors and officers.

S-1

333-213569

10.1

9/09/2016

10.2

2008 Equity Incentive Plan, as amended, and Form of Stock Option Grant Notice, Option Agreement and Form of Notice of Exercise.

S-1/A

333-213569

10.2

9/26/2016

10.3

Amended and Restated 2016 Equity Incentive Plan.

8-K

001-37900

10.1

5/22/2018

10.3.1

First Amendment to the Amended and Restated 2016 Equity Incentive Plan.

8-K

001-37900

10.1

5/25/2021

10.4

Form of Stock Option Grant Notice, Option Agreement and Form of Notice of Exercise used with the 2016 Equity Incentive Plan.

S-1/A

333-213569

10.3

9/26/2016

10.5

Form of Restricted Stock Unit Award Agreement under the 2016 Equity Incentive Plan.

10-Q

001-37900

10.3

11/13/2017

68

10.6

2016 Employee Stock Purchase Plan.

S-1/A

333-213569

10.4

9/26/2016

10.7

Lease, dated as of June 6, 2008, by and between the registrant and Freescale Semiconductor, Inc.

S-1

333-213569

10.5

9/09/2016

10.7.1

Amendment No. 1 to Lease, dated as of February 2, 2009, by and between the registrant and Freescale Semiconductor, Inc.

S-1

333-213569

10.6

9/09/2016

10.7.2

Amendment No. 2 to Lease, dated as of February 18, 2010, by and between the registrant and Freescale Semiconductor, Inc.

S-1

333-213569

10.7

9/09/2016

10.7.3

Amendment No. 3 to Lease, dated as of July 20, 2011, by and between the registrant and Freescale Semiconductor, Inc.

S-1

333-213569

10.8

9/09/2016

10.7.4

Amendment No. 4 to Lease, dated as of June, 2014 by and between the registrant and Freescale Semiconductor, Inc.

S-1

333-213569

10.9

9/09/2016

10.7.5

Amendment No. 5 to Lease, dated as of March 22, 2017 by and between the registrant and Freescale Semiconductor, Inc.

8-K

001-37900

10.1

3/28/2017

10.7.6

Amendment No. 6 to Lease, dated as of October 31, 2017 by and between the registrant and NXP USA, Inc. (formerly Freescale Semiconductor, Inc.).

10-K

001-37900

10.40

3/15/2018

10.7.7

Amendment No. 7 to Lease, effective as of June 30, 2018 by and between the registrant and NXP USA, Inc. (formerly Freescale Semiconductor, Inc.).

10-Q

001-37900

10.1

11/14/2018

10.7.8

Amendment No. 8 to Lease, effective as of November 30, 2019 by and between the registrant and NXP USA, Inc. (formerly Freescale Semiconductor, Inc.).

10-K

001-37900

10.15

3/13/2020

10.7.9

Amendment No. 9 to Lease, effective as of March 31, 2020 by and between the registrant and NXP USA, Inc. (formerly Freescale Semiconductor, Inc.).

10-Q

001-37900

10.2

8/06/2020

69

10.7.10

Amendment No. 10 to Lease, effective as of February 12, 2022 by and between the registrant and NXP USA, Inc. (formerly Freescale Semiconductor, Inc.)

10-K

001-37900

10.7.10

3/2/2023

10.8

Amended and Restated Loan and Security Agreement, dated as of August 5, 2019, between the registrant and Silicon Valley Bank.

10-Q

001-37900

10.1

11/08/2019

10.8.1

First Amendment to Amended and Restated Loan and Security Agreement, dated as of July 15, 2020, by and between the registrant and Silicon Valley Bank.

10-Q

001-37900

10.3

8/06/2020

10.8.2

Second Amendment to Amended and Restated Loan and Security Agreement, dated as of July 28, 2021, by and between the registrant and Silicon Valley Bank.

10-Q

001-37900

10.5

8/12/2021

10.8.3

Third Amendment to Amended and Restated Loan and Security Agreement, dated as of July 22, 2022, by and between the registrant and Silicon Valley Bank

10-Q

001-37900

10.1

8/12/2022

10.9

Commercial Industrial Lease Agreement, dated as of May 18, 2012 by and between the registrant and Principal Life Insurance Company.

S-1

333-213569

10.17

9/09/2016

10.9.1

Amendment No. 1 to Commercial Industrial Lease Agreement, dated August 12, 2016 by and between the registrant and Legacy Stonelake JV-T, LLC, successor in interest to Principal Life Insurance Company.

S-1

333-213569

10.22

9/09/2016

10.10

Sublease Agreement, dated January 31, 2017 by and between the registrant and NXP USA, Inc. and Consent to of Landlord to Sublease, dated March 10, 2017, by and among the registrant, NXP USA, Inc. and VWP-BV CM 5670, LLC.

8-K

001-37900

10.1

3/28/2017

10.10.1

First Amendment to Sublease Agreement, dated February 13, 2017, by and between the registrant and NXP USA, Inc. and Consent of Landlord to Amendment to Sublease, dated March 10, 2017, by and among the registrant, NXP USA, Inc. and VWP-BV CM 5670, LLC.

8-K

001-37900

10.2

3/28/2017

70

10.10.2

Second Amendment to Sublease Agreement dated March 2, 2017 by and between the registrant and NXP USA, Inc. and Consent of Landlord to Sublease, dated March 10, 2017, by and among the registrant, NXP USA, Inc. and VWP-BV CM 5670, LLC.

8-K

001-37900

10.3

3/28/2017

10.10.3

Third Amendment to Sublease Agreement, dated October 17, 2017 by and between the registrant and NXP USA, Inc. and Consent of Landlord to Sublease, dated March 10, 2017, by and among the registrant, NXP USA, Inc. and VWP-BV CM 5670, LLC.

10-K

001-37900

10.39

3/15/2018

10.11++

STT-MRAM Joint Development Agreement, dated as of October 17, 2014 by and between the registrant and GLOBALFOUNDRIES Inc.

10-Q

001-37900

10.1

11/2/2023

10.11.1++

Amendment No. 1 to the STT-MRAM Joint Development Agreement, dated as of May 27, 2016 by and between the registrant and GLOBALFOUNDRIES Inc.

10-Q

001-37900

10.2

11/2/2023

10.11.2++

Amendment No. 2 to the STT-MRAM Joint Development Agreement, effective as of July 25, 2017 by and between the registrant and GLOBALFOUNDRIES Inc.

10-K

001-37900

10.11.2

3/04/2021

10.11.3++

Amendment No. 3 to the STT-MRAM Joint Development Agreement, effective as of January 1, 2018 by and between the registrant and GLOBALFOUNDRIES Inc.

10-Q

001-37900

10.3

11/2/2023

10.11.4++

Amendment No. 4 to the STT-MRAM Joint Development Agreement, effective as of December 31, 2019 by and between the registrant and GLOBALFOUNDRIES, Inc.

10-K

001-37900

10.11.4

3/04/2021

10.12+

Manufacturing Agreement, dated as of October 23, 2014 by and between the registrant and GLOBALFOUNDRIES Singapore Pte. Ltd.

S-1

333-213569

10.20

9/09/2016

10.13

Restricted Stock Purchase Agreement, dated as of October 21, 2014 by and between the registrant and GLOBALFOUNDRIES Inc.

S-1

333-213569

10.21

9/09/2016

71

10.14

Common Stock Purchase Agreement, dated as of September 23, 2016 by and between the registrant and GigaDevice (HK) Limited.

S-1/A

333-213569

10.23

9/26/2016

10.15

Subcontract Agreement, dated as of October 3, 2022, by and between the registrant and QuickLogic Corporation.

10-Q

001-37900

10.2

11/10/2022

10.16

Non-employee Director Compensation Program, as Amended.

10-Q

001-37900

10.1

5/4/2023

10.17

Offer Letter, dated December 30, 2020, by and between the registrant and Darin Billerbeck.

10-K

001-37900

10.26

3/04/2021

10.18

Executive Employment Agreement, effective as of April 3, 2021, by and between the registrant and Sanjeev Aggarwal.

8-K

001-37900

10.1

7/22/2021

10.19

Executive Employment Agreement, effective as of July 2, 2021, by and between the registrant and Anuj Aggarwal.

8-K

001-37900

10.2

7/22/2021

10.20

First Amendment to Executive Employment Agreement, effective as of March 14, 2022, by and between the registrant and Sanjeev Aggarwal.

8-K

001-37900

10.1

3/02/2022

10.21

First Amendment to Offer Letter, effective as of March 14, 2022, by and between the registrant and Darin Billerbeck.

8-K

001-37900

10.2

3/02/2022

10.22

First Amendment to Executive Employment Agreement, effective as of March 14, 2022, by and between the registrant and Anuj Aggarwal.

8-K

001-37900

10.3

3/02/2022

10.23

Executive Severance and Change in Control Plan.

8-K

001-37900

10.4

3/02/2022

10.24

Restricted Stock Unit Grants to Executive Chairman, CEO and CFO

8-K

001-37900

Item 5.02

5/12/2022

23.1*

Consent of Ernst & Young LLP, Independent Registered Public Accounting Firm.

24.1*

Power of Attorney (included on the Signatures page of this Annual Report on Form 10-K).

72

31.1*

Certification of Principal Executive Officer Pursuant to Rules 13a-14(a) and 15d-14(a) under the Securities Exchange Act of 1934, as amended.

31.2*

Certification of Principal Financial Officer Pursuant to Rules 13a-14(a) and 15d-14(a) under the Securities Exchange Act of 1934, as amended.

32.1**

Certification of Principal Executive Officer and Principal Financial Officer Pursuant to 18 U.S.C. Section 1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.

97.1*

Incentive Compensation Recoupment Policy

101.INS*

Inline XBRL Instance Document – the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.

101.SCH*

Inline XBRL Taxonomy Extension Schema Document.

101.CAL*

Inline XBRL Taxonomy Extension Calculation Linkbase Document.

101.DEF*

Inline XBRL Taxonomy Extension Definition Linkbase Document.

101.LAB*

Inline XBRL Taxonomy Extension Label Linkbase Document.

101.PRE*

Inline XBRL Taxonomy Extension Presentation Linkbase Document.

104*

Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101).

*

Filed herewith.

**

Furnished herewith. Exhibit 32.1 is being furnished and shall not be deemed to be “filed” for purposes of Section 18 of the Securities Exchange Act of 1934, as amended (the “Exchange Act”), or otherwise subject to the liability of that section, nor shall such exhibit be deemed to be incorporated by reference in any registration statement or other document filed under the Securities Act of 1933, as amended, or the Exchange Act, except as otherwise specifically stated in such filing.

+

Confidential treatment has been granted for certain portions of this exhibit.

++

Portions of the exhibit, marked by brackets, have been omitted because the omitted information (i) is not material and (ii) would likely cause competitive harm if publicly disclosed.

73

Indicates a management contract or compensatory plan.

(b) We have filed or incorporated into this Annual Report on Form 10-K by reference, the exhibits listed on the Exhibit Index immediately above.

(c) See Item 15(a)2 above.

Item 16. Form 10-K Summary.

Not provided.

74

SIGNATURES

Pursuant to the requirements of Section 13 or 15(d) of the Securities Exchange Act of 1934, as amended, the Registrant has duly caused this Report to be signed on its behalf by the undersigned, thereunto duly authorized, in Chandler, Arizona, on February 29, 2024.

Everspin Technologies, Inc.

By:

/s/ Sanjeev Aggarwal

Sanjeev Aggarwal

Chief Executive Officer

(Principal Executive Officer)

By:

/s/ Anuj Aggarwal

Anuj Aggarwal

Chief Financial Officer

(Principal Financial and Accounting Officer)

75

KNOW ALL PERSONS BY THESE PRESENTS, that each person whose signature appears below constitutes and appoints Sanjeev Aggarwal and Anuj Aggarwal, and each of them, as his true and lawful attorneys-in-fact and agents, each with the full power of substitution, for him and in his name, place or stead, in any and all capacities, to sign any and all amendments to this Annual Report on Form 10-K, and to file the same, with all exhibits thereto and other documents in connection therewith, with the Securities and Exchange Commission, granting unto said attorneys-in-fact and agents, and each of them, full power and authority to do and perform each and every act and thing requisite and necessary to be done in and about the premises, as fully to all intents and purposes as he might or could do in person, hereby ratifying and confirming all that said attorneys-in-fact and agents, or their or his substitute or substitutes, may lawfully do or cause to be done by virtue hereof.

Pursuant to the requirements of the Securities Exchange Act of 1934, as amended, this Report has been signed below by the following persons on behalf of the Registrant in the capacities and on the dates indicated.

Signature

    

Title

    

Date

/s/ Sanjeev Aggarwal

Chief Executive Officer and Director

February 29, 2024

Sanjeev Aggarwal

(Principal Executive Officer)

/s/ Anuj Aggarwal

Chief Financial Officer

February 29, 2024

Anuj Aggarwal

(Principal Financial and Accounting Officer)

/s/ Darin G. Billerbeck

Chairman of the Board

February 29, 2024

Darin G. Billerbeck

/s/ Lawrence G. Finch

Director

February 29, 2024

Lawrence G. Finch

/s/ Geoff Ribar

Director

February 29, 2024

Geoff Ribar

/s/ Tara Long

Director

February 29, 2024

Tara Long

/s/ Glen Hawk

Director

February 29, 2024

Glen Hawk

/s/ Douglas Mitchell

Director

February 29, 2024

Douglas Mitchell

76

EX-23.1 2 mram-20231231xex23d1.htm EX-23.1

Exhibit 23.1

CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM

We consent to the incorporation by reference in the following Registration Statements:

1)Registration Statement (Form S-8 No. 333-214018) pertaining to the Everspin Technologies, Inc. 2008 Equity Incentive Plan, 2016 Equity Incentive Plan and the 2016 Employee Stock Purchase Plan,
2)Registration Statement (Form S-8 No. 333-219938) pertaining to the Everspin Technologies, Inc. 2016 Equity Incentive Plan and the 2016 Employee Stock Purchase Plan,
3)Registration Statement (Form S-8 No. 333-225119) pertaining to the Everspin Technologies, Inc. 2016 Equity Incentive Plan and the 2016 Employee Stock Purchase Plan,
4)Registration Statement (Form S-8 No. 333-230349) pertaining to the Everspin Technologies, Inc. 2016 Equity Incentive Plan and the 2016 Employee Stock Purchase Plan,
5)Registration Statement (Form S-8 No. 333-237146) pertaining to the Everspin Technologies, Inc. 2016 Equity Incentive Plan and the 2016 Employee Stock Purchase Plan,
6)Registration Statement (Form S-8 No. 333-253884) pertaining to the Everspin Technologies, Inc. 2016 Equity Incentive Plan and the 2016 Employee Stock Purchase Plan,
7)Registration Statement (Form S-8 No. 333-258794) pertaining to the Everspin Technologies, Inc. Amended and Restated 2016 Equity Incentive Plan,
8)Registration Statement (Form S-8 No. 333-263404) pertaining to the Everspin Technologies, Inc. Amended and Restated 2016 Equity Incentive Plan and Everspin Technologies, Inc. 2016 Employee Stock Purchase Plan,
9)Registration Statement (Form S-8 No. 333-270242) pertaining to the Everspin Technologies, Inc. Amended and Restated 2016 Equity Incentive Plan and Everspin Technologies, Inc. 2016 Employee Stock Purchase Plan, and
10)Registration Statement (Form S-3 No. 333-275585) of Everspin Technologies, Inc.;

of our report dated February 29, 2024, with respect to the financial statements of Everspin Technologies, Inc. included in this Annual Report (Form 10-K) for the year ended December 31, 2023.

/s/ Ernst & Young LLP

Phoenix, Arizona

February 29, 2024


EX-31.1 3 mram-20231231xex31d1.htm EX-31.1

Exhibit 31.1

Certification of the Principal Executive Officer

I, Sanjeev Aggarwal, certify that:

1.I have reviewed this Form 10-K of Everspin Technologies, Inc.;

2.Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;

3.Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;

4.The registrant's other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e), 15d-15(e)), and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:

(a) Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

(b) Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;

(c) Evaluated the effectiveness of the registrant's disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and

(d) Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

5.The registrant's other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant's auditors and the audit committee of the registrant's board of directors (or persons performing the equivalent functions):

(a) All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant's ability to record, process, summarize and report financial information; and

(b) Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant's internal control over financial reporting.

Date: February 29, 2024

 

/s/ Sanjeev Aggarwal

 

Sanjeev Aggarwal

 

Chief Executive Officer

(Principal Executive Officer)


EX-31.2 4 mram-20231231xex31d2.htm EX-31.2

Exhibit 31.2

Certification of Principal Financial Officer

I, Anuj Aggarwal, certify that:

1.I have reviewed this Form 10-K of Everspin Technologies, Inc.;

2.Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;

3.Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;

4.The registrant's other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e), 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:

(a) Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

(b) Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;

(c) Evaluated the effectiveness of the registrant's disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and

(d) Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

5.The registrant's other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant's auditors and the audit committee of the registrant's board of directors (or persons performing the equivalent functions):

(a) All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant's ability to record, process, summarize and report financial information; and

(b) Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant's internal control over financial reporting.

Date: February 29, 2024

/s/ Anuj Aggarwal

Anuj Aggarwal

(Chief Financial Officer)

(Principal Financial Officer)


EX-32.1 5 mram-20231231xex32d1.htm EX-32.1

Exhibit 32.1

Certification Pursuant to

18 U.S.C. Section 1350,

As Adopted Pursuant to

Section 906 of the Sarbanes-Oxley Act of 2002

In connection with the Annual Report of Everspin Technologies, Inc. (the “Company”) on Form 10-K for the year ended December 31, 2023 (the “Report”), Sanjeev Aggarwal, Chief Executive Officer of the Company, and Anuj Aggarwal, Chief Financial Officer of the Company, each hereby certifies, pursuant to the requirement set forth in Rule 13a-14(b) of the Securities Exchange Act of 1934, as amended (the “Exchange Act”), and Section 1350 of Chapter 63 of Title 18 of the United States Code (18 U.S.C. Section 1350), as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that, to the best of his knowledge:

1.The Report fully complies with the requirements of Section 13(a) or Section 15(d) of the Exchange Act; and

2.The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

Date: February 29, 2024

/s/ Sanjeev Aggarwal

Sanjeev Aggarwal

Chief Executive Officer

(Principal Executive Officer)

/s/ Anuj Aggarwal

Anuj Aggarwal

Chief Financial Officer

(Principal Financial Officer)

This certification accompanies the Form 10-K to which it relates, is not deemed filed with the Securities and Exchange Commission and is not to be incorporated by reference into any filing of Everspin Technologies, Inc. under the Securities Act of 1933, as amended, or the Securities Exchange Act of 1934, as amended (whether made before or after the date of the Form 10-K), irrespective of any general incorporation language contained in such filing.


EX-97.1 6 mram-20231231xex97d1.htm EX-97.1

Exhibit 97.1

Everspin Technologies, Inc.

Incentive Compensation Recoupment Policy

1.Introduction

The Board of Directors (the “Board”) of Everspin Technologies, Inc., a Delaware corporation (the “Company”), has determined that it is in the best interests of the Company and its stockholders to adopt this Incentive Compensation Recoupment Policy (this “Policy”) providing for the Company’s recoupment of Recoverable Incentive Compensation that is received by Covered Officers of the Company under certain circumstances. Certain capitalized terms used in this Policy have the meanings given to such terms in Section 3 below.

This Policy is designed to comply with, and shall be interpreted to be consistent with, Section 10D of the Exchange Act, Rule 10D-1 promulgated thereunder (“Rule 10D-1”) and Nasdaq Listing Rule 5608 (the “Listing Standards”).

2.Effective Date

This Policy shall apply to all Incentive Compensation that is received by a Covered Officer on or after October 2, 2023 (the “Effective Date”). Incentive Compensation is deemed “received” in the Company’s fiscal period in which the Financial Reporting Measure specified in the Incentive Compensation award is attained, even if the payment or grant of such Incentive Compensation occurs after the end of that period.

3.Definitions

Accounting Restatement” means an accounting restatement that the Company is required to prepare due to the material noncompliance of the Company with any financial reporting requirement under the securities laws, including any required accounting restatement to correct an error in previously issued financial statements that is material to the previously issued financial statements, or that would result in a material misstatement if the error were corrected in the current period or left uncorrected in the current period.

Accounting Restatement Date” means the earlier to occur of (a) the date that the Board, a committee of the Board authorized to take such action, or the officer or officers of the Company authorized to take such action if Board action is not required, concludes, or reasonably should have concluded, that the Company is required to prepare an Accounting Restatement, or (b) the date that a court, regulator or other legally authorized body directs the Company to prepare an Accounting Restatement.

Administrator” means the Compensation Committee or, in the absence of such committee, the Board.

Code” means the U.S. Internal Revenue Code of 1986, as amended, and the regulations promulgated thereunder.

Compensation Committee” means the Compensation Committee of the Board.

Covered Officer” means each current and former Executive Officer.

Exchange” means the Nasdaq Stock Market.


Exchange Act” means the U.S. Securities Exchange Act of 1934, as amended.

Executive Officer” means the Company’s president, principal financial officer, principal accounting officer (or if there is no such accounting officer, the controller), any vice-president of the Company in charge of a principal business unit, division, or function (such as sales, administration, or finance), any other officer who performs a policy-making function, or any other person who performs similar policy-making functions for the Company. Executive officers of the Company’s parent(s) or subsidiaries are deemed executive officers of the Company if they perform such policy-making functions for the Company. Policy-making function is not intended to include policy-making functions that are not significant. Identification of an executive officer for purposes of this Policy would include at a minimum executive officers identified pursuant to Item 401(b) of Regulation S-K promulgated under the Exchange Act.

Financial Reporting Measures” means measures that are determined and presented in accordance with the accounting principles used in preparing the Company’s financial statements, and any measures derived wholly or in part from such measures, including Company stock price and total stockholder return (“TSR”). A measure need not be presented in the Company’s financial statements or included in a filing with the SEC in order to be a Financial Reporting Measure.

Incentive Compensation” means any compensation that is granted, earned or vested based wholly or in part upon the attainment of a Financial Reporting Measure.

Lookback Period” means the three completed fiscal years immediately preceding the Accounting Restatement Date, as well as any transition period (resulting from a change in the Company’s fiscal year) within or immediately following those three completed fiscal years (except that a transition period of at least nine months shall count as a completed fiscal year). Notwithstanding the foregoing, the Lookback Period shall not include fiscal years completed prior to the Effective Date.

Recoverable Incentive Compensation” means Incentive Compensation received by a Covered Officer during the Lookback Period that exceeds the amount of Incentive Compensation that would have been received had such amount been determined based on the Accounting Restatement, computed without regard to any taxes paid (i.e., on a gross basis without regard to tax withholdings and other deductions). For any compensation plans or programs that take into account Incentive Compensation, the amount of Recoverable Incentive Compensation for purposes of this Policy shall include, without limitation, the amount contributed to any notional account based on Recoverable Incentive Compensation and any earnings to date on that notional amount. For any Incentive Compensation that is based on stock price or TSR, where the Recoverable Incentive Compensation is not subject to mathematical recalculation directly from the information in an Accounting Restatement, the Administrator will determine the amount of Recoverable Incentive Compensation based on a reasonable estimate of the effect of the Accounting Restatement on the stock price or TSR upon which the Incentive Compensation was received. The Company shall maintain documentation of the determination of that reasonable estimate and provide such documentation to the Exchange in accordance with the Listing Standards.

SEC” means the U.S. Securities and Exchange Commission.

4.Recoupment
(a)Applicability of Policy. This Policy applies to Incentive Compensation received by a Covered Officer (i) after beginning services as an Executive Officer, (ii) who served as an Executive Officer at any time during the performance period for such Incentive Compensation, (iii) while the Company had a class of securities listed on a national securities exchange or a national securities association, and (iv) during the Lookback Period.


(b)Recoupment Generally.  Pursuant to the provisions of this Policy, if there is an Accounting Restatement, the Company must reasonably promptly recoup the full amount of the Recoverable Incentive Compensation, unless the conditions of one or more subsections of Section 4(c) of this Policy are met and the Compensation Committee, or, if such committee does not consist solely of independent directors, a majority of the independent directors serving on the Board, has made a determination that recoupment would be impracticable. Recoupment is required regardless of whether the Covered Officer engaged in any misconduct and regardless of fault, and the Company’s obligation to recoup Recoverable Incentive Compensation is not dependent on whether or when any restated financial statements are filed.  

(c)Impracticability of Recovery. Recoupment may be determined to be impracticable if, and only if:
(i)the direct expense paid to a third party to assist in enforcing this Policy would exceed the amount of the applicable Recoverable Incentive Compensation; provided that, before concluding that it would be impracticable to recover any amount of Recoverable Incentive Compensation based on expense of enforcement, the Company shall make a reasonable attempt to recover such Recoverable Incentive Compensation, document such reasonable attempt(s) to recover, and provide that documentation to the Exchange in accordance with the Listing Standards; or
(ii)recoupment of the applicable Recoverable Incentive Compensation would likely cause an otherwise tax-qualified retirement plan, under which benefits are broadly available to employees of the Company, to fail to meet the requirements of Code Section 401(a)(13) or Code Section 411(a) and regulations thereunder.

(d)Sources of Recoupment.  To the extent permitted by applicable law, the Administrator shall, in its sole discretion, determine the timing and method for recouping Recoverable Incentive Compensation hereunder, provided that such recoupment is undertaken reasonably promptly. The Administrator may, in its discretion, seek recoupment from a Covered Officer from any of the following sources or a combination thereof, whether the applicable compensation was approved, awarded, granted, payable or paid to the Covered Officer prior to, on or after the Effective Date: (i) direct repayment of Recoverable Incentive Compensation previously paid to the Covered Officer; (ii) cancelling prior cash or equity-based awards (whether vested or unvested and whether paid or unpaid); (iii) cancelling or offsetting against any planned future cash or equity-based awards; (iv) forfeiture of deferred compensation, subject to compliance with Code Section 409A; and (v) any other method authorized by applicable law or contract. Subject to compliance with any applicable law, the Administrator may effectuate recoupment under this Policy from any amount otherwise payable to the Covered Officer, including amounts payable to such individual under any otherwise applicable Company plan or program, e.g., base salary, bonuses or commissions and compensation previously deferred by the Covered Officer. The Administrator need not utilize the same method of recovery for all Covered Officers or with respect to all types of Recoverable Incentive Compensation.

(e)No Indemnification of Covered Officers. Notwithstanding any indemnification agreement, applicable insurance policy or any other agreement or provision of the Company’s certificate of incorporation or bylaws to the contrary, no Covered Officer shall be entitled to indemnification or advancement of expenses in connection with any enforcement of this Policy by the Company, including paying or reimbursing such Covered Officer for insurance premiums to cover potential obligations to the Company under this Policy.

(f)Indemnification of Administrator. Any members of the Administrator, and any other members of the Board who assist in the administration of this Policy, shall not be personally liable for any action, determination or interpretation made with respect to this Policy and shall be indemnified by the

Company to the fullest extent under applicable law and Company policy with respect to any such action, determination or interpretation. The foregoing sentence shall not limit any other rights to indemnification of the members of the Board under applicable law or Company policy.

(g)No “Good Reason” for Covered Officers.  Any action by the Company to recoup or any recoupment of Recoverable Incentive Compensation under this Policy from a Covered Officer shall not be deemed (i) “good reason” for resignation or to serve as a basis for a claim of constructive termination under any benefits or compensation arrangement applicable to such Covered Officer, or (ii) to constitute a breach of a contract or other arrangement to which such Covered Officer is party.

5.Administration

Except as specifically set forth herein, this Policy shall be administered by the Administrator. The Administrator shall have full and final authority to make any and all determinations required under this Policy.  Any determination by the Administrator with respect to this Policy shall be final, conclusive and binding on all interested parties and need not be uniform with respect to each individual covered by this Policy. In carrying out the administration of this Policy, the Administrator is authorized and directed to consult with the full Board or such other committees of the Board as may be necessary or appropriate as to matters within the scope of such other committee’s responsibility and authority. Subject to applicable law, the Administrator may authorize and empower any officer or employee of the Company to take any and all actions that the Administrator, in its sole discretion, deems necessary or appropriate to carry out the purpose and intent of this Policy (other than with respect to any recovery under this Policy involving such officer or employee).

6.Severability

If any provision of this Policy or the application of any such provision to a Covered Officer shall be adjudicated to be invalid, illegal or unenforceable in any respect, such invalidity, illegality or unenforceability shall not affect any other provisions of this Policy, and the invalid, illegal or unenforceable provisions shall be deemed amended to the minimum extent necessary to render any such provision or application enforceable.

7.No Impairment of Other Remedies

Nothing contained in this Policy, and no recoupment or recovery as contemplated herein, shall limit any claims, damages or other legal remedies the Company or any of its affiliates may have against a Covered Officer arising out of or resulting from any actions or omissions by the Covered Officer. This Policy does not preclude the Company from taking any other action to enforce a Covered Officer’s obligations to the Company, including, without limitation, termination of employment and/or institution of civil proceedings. This Policy is in addition to the requirements of Section 304 of the Sarbanes-Oxley Act of 2002 (“SOX 304”) that are applicable to the Company’s Chief Executive Officer and Chief Financial Officer and to any other compensation recoupment policy and/or similar provisions in any employment, equity plan, equity award, or other individual agreement, to which the Company is a party or which the Company has adopted or may adopt and maintain from time to time; provided, however, that compensation recouped pursuant to this Policy shall not be duplicative of compensation recouped pursuant to SOX 304 or any such compensation recoupment policy and/or similar provisions in any such employment, equity plan, equity award, or other individual agreement except as may be required by law.

8.Amendment; Termination

The Administrator may amend, terminate or replace this Policy or any portion of this Policy at any time and from time to time in its sole discretion. The Administrator shall amend this Policy as it deems necessary to comply with applicable law or any Listing Standard.


9.Successors

This Policy shall be binding and enforceable against all Covered Officers and, to the extent required by Rule 10D-1 and/or the applicable Listing Standards, their beneficiaries, heirs, executors, administrators or other legal representatives.

10.Required Filings

The Company shall make any disclosures and filings with respect to this Policy that are required by law, including as required by the SEC.

*****


Everspin Technologies, Inc.

Incentive Compensation Recoupment Policy

Form of Executive Acknowledgment

I, the undersigned, agree and acknowledge that I am bound by, and subject to, the Everspin Technologies, Inc. Incentive Compensation Recoupment Policy, as may be amended, restated, supplemented or otherwise modified from time to time (the “Policy”). In the event of any inconsistency between the Policy and the terms of any employment agreement, offer letter or other individual agreement with Everspin Technologies, Inc. (the “Company”) to which I am a party, or the terms of any compensation plan, program or agreement, whether or not written, under which any compensation has been granted, awarded, earned or paid to me, the terms of the Policy shall govern.

In the event that the Administrator (as defined in the Policy) determines that any compensation granted, awarded, earned or paid to me must be forfeited or reimbursed to the Company pursuant to the Policy, I will promptly take any action necessary to effectuate such forfeiture and/or reimbursement. I further agree and acknowledge that I am not entitled to indemnification, and hereby waive any right to advancement of expenses, in connection with any enforcement of the Policy by the Company.

Agreed and Acknowledged:

​ ​

Name: ​ ​

Title: ​ ​

Date: ​ ​

6


EX-101.SCH 7 mram-20231231.xsd EX-101.SCH 99900 - Disclosure - Standard And Custom Axis Domain Defaults link:presentationLink link:calculationLink link:definitionLink 00100 - Statement - Balance Sheets link:presentationLink link:calculationLink link:definitionLink 00200 - Statement - Statements of Income and Comprehensive Income link:presentationLink link:calculationLink link:definitionLink 00400 - Statement - Statement of Cash Flows link:presentationLink link:calculationLink link:definitionLink 40201 - Disclosure - Summary of Significant Accounting Policies - Accounts Receivable (Details) link:presentationLink link:calculationLink link:definitionLink 40203 - Disclosure - Summary of Significant Accounting Policies - Schedule of Fair Value of Financial Assets and Liabilities Measured on Recurring Basis (Details) link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - Balance Sheet Components - Schedule of Inventory (Details) link:presentationLink link:calculationLink link:definitionLink 40402 - Disclosure - Balance Sheet Components - Property and Equipment Net (Details) link:presentationLink link:calculationLink link:definitionLink 40403 - Disclosure - Balance Sheet Components - Schedule of Accrued Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - Commitments and Contingencies (Details) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - Commitments and Contingencies (Details) (Calc 2) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - Debt - Carrying Value (Details) link:presentationLink link:calculationLink link:definitionLink 40602 - Disclosure - Debt - Carrying Value (Details) - Cal2 link:presentationLink link:calculationLink link:definitionLink 41201 - Disclosure - Income Taxes - Components of Income Tax Expense (Details) link:presentationLink link:calculationLink link:definitionLink 41202 - Disclosure - Income Taxes - Reconciliation Effective Tax Rate (Details) link:presentationLink link:calculationLink link:definitionLink 41203 - Disclosure - Income Taxes - Deferred tax assets (Details) link:presentationLink link:calculationLink link:definitionLink 41301 - Disclosure - Net Income Per Common Share (Details) link:presentationLink link:calculationLink link:definitionLink 00105 - Statement - Balance Sheets (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 00205 - Statement - Statements of Income and Comprehensive Income (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 00300 - Statement - Statements of Stockholders' Equity link:presentationLink link:calculationLink link:definitionLink 10101 - Disclosure - Organization and Nature of Business link:presentationLink link:calculationLink link:definitionLink 10201 - Disclosure - Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - Balance Sheet Components link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - Debt link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - Stockholders' Equity link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - Stock-Based Compensation link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - 401 (k) Plan link:presentationLink link:calculationLink link:definitionLink 11001 - Disclosure - Significant Agreements link:presentationLink link:calculationLink link:definitionLink 11101 - Disclosure - Geographic Information link:presentationLink link:calculationLink link:definitionLink 11201 - Disclosure - Income Taxes link:presentationLink link:calculationLink link:definitionLink 11301 - Disclosure - Net Income Per Common Share link:presentationLink link:calculationLink link:definitionLink 20202 - Disclosure - Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 30203 - Disclosure - Summary of Significant Accounting Policies (Tables) link:presentationLink link:calculationLink link:definitionLink 30403 - Disclosure - Balance Sheet Components (Tables) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - Commitments and Contingencies (Tables) link:presentationLink link:calculationLink link:definitionLink 30603 - Disclosure - Debt (Tables) link:presentationLink link:calculationLink link:definitionLink 30703 - Disclosure - Stockholders' Equity (Tables) link:presentationLink link:calculationLink link:definitionLink 30803 - Disclosure - Stock-Based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 31103 - Disclosure - Geographic Information (Tables) link:presentationLink link:calculationLink link:definitionLink 31203 - Disclosure - Income Taxes (Tables) link:presentationLink link:calculationLink link:definitionLink 31303 - Disclosure - Net Income Per Common Share (Tables) link:presentationLink link:calculationLink link:definitionLink 40202 - Disclosure - Summary of Significant Accounting Policies - Schedule of Revenue and Accounts Receivable for Each Significant Customer (Details) link:presentationLink link:calculationLink link:definitionLink 40204 - Disclosure - Summary of Significant Accounting Policies - Property and Equipment (Details) link:presentationLink link:calculationLink link:definitionLink 40206 - Disclosure - Summary of Significant Accounting Policies - Leases (Details) link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - Revenue - Disaggregated by Sales Channel (Details) link:presentationLink link:calculationLink link:definitionLink 40302 - Disclosure - Revenue - Disaggregated by Timing of Recognition (Details) link:presentationLink link:calculationLink link:definitionLink 40303 - Disclosure - Revenue - Disaggregated by Type (Details) link:presentationLink link:calculationLink link:definitionLink 40304 - Disclosure - Revenue - Disaggregated by Geographic Region (Details) link:presentationLink link:calculationLink link:definitionLink 40404 - Disclosure - Balance Sheet Components - Deferred Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 40701 - Disclosure - Stockholders' Equity - (Details) link:presentationLink link:calculationLink link:definitionLink 40702 - Disclosure - Stockholders' Equity - Warrants (Details) link:presentationLink link:calculationLink link:definitionLink 40801 - Disclosure - Stock-Based Compensation - Summary of Options and Awards Activity (Details) link:presentationLink link:calculationLink link:definitionLink 40802 - Disclosure - Stock-Based Compensation - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 40803 - Disclosure - Stock-Based Compensation - Schedule of Fair Value of Employee Stock Options (Details) link:presentationLink link:calculationLink link:definitionLink 40804 - Disclosure - Stock-Based Compensation - Restricted Stock Units (Details) link:presentationLink link:calculationLink link:definitionLink 41001 - Disclosure - Significant Agreements (Details) link:presentationLink link:calculationLink link:definitionLink 41101 - Disclosure - Geographic Information (Details) link:presentationLink link:calculationLink link:definitionLink 41204 - Disclosure - Income Taxes - Net operating loss carryforwards and Tax Act (Details) link:presentationLink link:calculationLink link:definitionLink 41302 - Disclosure - Net Income Per Common Share - Potentially Dilutive Securities (Details) link:presentationLink link:calculationLink link:definitionLink 00090 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 10301 - Disclosure - Revenue link:presentationLink link:calculationLink link:definitionLink 30303 - Disclosure - Revenue (Tables) link:presentationLink link:calculationLink link:definitionLink 40205 - Disclosure - Summary of Significant Accounting Policies - Schedule of Employee Retention Tax Credit (Details) link:presentationLink link:calculationLink link:definitionLink 41205 - Disclosure - Income Taxes - Unrecognized Tax Expense (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 8 mram-20231231_cal.xml EX-101.CAL EX-101.DEF 9 mram-20231231_def.xml EX-101.DEF EX-101.LAB 10 mram-20231231_lab.xml EX-101.LAB Document And Entity Information Document Type Document Type Document Annual Report Document Transition Report Document Period End Date Document Period End Date Entity File Number Entity Registrant Name Entity Registrant Name Entity Incorporation, State or Country Code Entity Tax Identification Number Entity Address, Address Line One Entity Address, Address Line Two Entity Address, City or Town Entity Address, State or Province Entity Address, Postal Zip Code City Area Code Local Phone Number Title of 12(b) Security Trading Symbol Trading Symbol Security Exchange Name Entity Current Reporting Status Entity Interactive Data Current Document Financial Statement Error Correction [Flag] Entity Filer Category Entity Filer Category Entity Small Business Entity Emerging Growth Company ICFR Auditor Attestation Flag Auditor Name Auditor Firm ID Auditor Location Entity Shell Company Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Current Fiscal Year End Date Current Fiscal Year End Date Document Fiscal Year Focus Document Fiscal Year Focus Document Fiscal Period Focus Document Fiscal Period Focus Entity Central Index Key Entity Central Index Key Amendment Flag Amendment Flag Entity Well-known Seasoned Issuer Entity Voluntary Filers Entity Public Float Balance Sheets Statement [Table] Statement [Line Items] Statement Assets [Abstract] Assets Assets, Current [Abstract] Current assets: Cash and Cash Equivalents, at Carrying Value Cash and cash equivalents Accounts Receivable, Net, Current Accounts receivable, net Accounts receivable, net Inventory, Net Inventory Total inventory Prepaid Expense and Other Assets, Current Prepaid expenses and other current assets Assets, Current Total current assets Property, Plant and Equipment, Net Property and equipment, net Total property and equipment, net Operating Lease, Right-of-Use Asset Right-of-use assets Other Assets, Noncurrent Other assets Assets Total assets Liabilities and Equity [Abstract] Liabilities and Stockholders' Equity Liabilities, Current [Abstract] Current liabilities: Accounts Payable, Current Accounts payable Accrued Liabilities, Current Accrued liabilities Total accrued liabilities Deferred Revenue, Current Deferred licensing revenue Deferred revenue Long-term Debt, Current Maturities Current portion of long-term debt Net carrying value of debt, Current Portion Present value of lessee's discounted obligation for lease payments from leases, classified as current. Lease, Liability, Current Less: current portion of lease liabilities Lease liabilities, current portion Other Liabilities, Current Other liabilities Liabilities, Current Total current liabilities Present value of lessee's discounted obligation for lease payments from lease, classified as noncurrent. Lease, Liability, Noncurrent Total lease liabilities, net of current portion Lease liabilities, net of current portion Accrued Income Taxes, Noncurrent Long-term income tax liability Liabilities Total liabilities Commitments and Contingencies. Commitments and contingencies (Note 5) Stockholders' Equity Attributable to Parent [Abstract] Stockholders' equity: Preferred Stock, Value, Issued Preferred stock, $0.0001 par value per share; 5,000,000 shares authorized; no shares issued and outstanding as of December 31, 2023 and December 31, 2022, respectively Common Stock, Value, Issued Common stock, $0.0001 par value per share; 100,000,000 shares authorized; 21,080,472 and 20,374,288 shares issued and outstanding as of December 31, 2023 and December 31, 2022, respectively Additional Paid in Capital, Common Stock Additional paid-in capital Retained Earnings (Accumulated Deficit) Accumulated deficit Stockholders' Equity Attributable to Parent Balance Balance Total stockholders' equity Liabilities and Equity Total liabilities and stockholders' equity Preferred Stock, Par Value Preferred stock, par value Preferred Stock, Shares Authorized Preferred stock, shares authorized Preferred Stock, Shares Issued Preferred stock, shares Issued Preferred Stock, Shares Outstanding Preferred stock, shares outstanding Common Stock, Par or Stated Value Per Share Common stock, par value Common Stock, Shares Authorized Common stock, shares authorized Common Stock, Shares, Issued Common stock, shares issued Common Stock, Shares, Outstanding Common stock, shares outstanding Statements of Income and Comprehensive Income Products and Services [Axis] Products and Services [Domain] Product sales Pertaining to licensing, royalty and other revenues. Licensing, royalty and other revenue Represents Licensing, royalty, patents and other revenues from customers not including related parties. Licensing, royalty, patent and other revenue Revenue from Contract with Customer, Excluding Assessed Tax Total revenue Revenue Cost of Goods and Services Sold Total cost of sales Gross Profit Gross profit Operating Expenses [Abstract] Operating expenses: Research and Development Expense Research and development General and Administrative Expense General and administrative Selling and Marketing Expense Sales and marketing Operating Expenses Total operating expenses Operating Income (Loss) Income from operations Interest Expense Interest expense Other Nonoperating Income (Expense) Other income, net Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Net income before income taxes Income Tax Expense (Benefit) Income tax benefit (expense) Provision for income taxes Net income and comprehensive income Net income Earnings Per Share, Basic Net income per common share, Basic Earnings Per Share, Diluted Net income per common share, Diluted Weighted Average Number of Shares Outstanding, Basic Weighted average shares of common stock outstanding, basic Weighted Average Number of Shares Outstanding, Diluted Weighted average shares of common stock outstanding, diluted Weighted-average shares of common stock outstanding, diluted Income Statement Location [Axis] Income Statement Location [Domain] Research and Development [Member] Research and Development General and Administrative [Member] General and Administrative Sales and Marketing [Member] Sales and Marketing Compensation Items [Abstract] Operating expenses include stock-based compensation as follows: Share-based Compensation Stock-based compensation Total stock-based compensation Statements of Stockholders' Equity Equity Components [Axis] Equity Component [Domain] Common Stock [Member] Common Stock Additional Paid-In Capital Accumulated Deficit Increase (Decrease) in Stockholders' Equity [Roll Forward] Increase (Decrease) in Stockholders' Equity Shares, Outstanding Balance (in shares) Balance (in shares) Stock Issued During Period, Value, Stock Options Exercised Exercise of stock options Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period Number of Options, Options exercised Exercise of stock options (in shares) Stock Issued During Period, Value, Share-based Compensation, Net of Forfeitures Issuance of common stock under stock incentive plans and exercise of stock options Stock Issued During Period, Shares, Share-based Compensation, Net of Forfeitures Number of shares issued (in shares) Issuance of common stock under stock incentive plans and exercise of stock options (in shares) Stock Issued During Period, Value, Conversion of Convertible Securities Exercise of warrants Stock Issued During Period, Shares, Conversion of Convertible Securities Exercise of warrants (in shares) Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition Stock-based compensation expense Statement of Cash Flows Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract] Cash flows from operating activities Net Income (Loss), Including Portion Attributable to Noncontrolling Interest Net income Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Adjustments to reconcile net income to net cash provided by operating activities: Depreciation, Depletion and Amortization, Nonproduction Depreciation and amortization Gain (Loss) on Disposition of Property Plant Equipment, Excluding Oil and Gas Property and Timber Property Gain on sale of property and equipment Gain (Loss) on Extinguishment of Debt Loss on prepayment and termination of credit facility It represents the amount of gain on warrant revaluation during the period. Gain On Warrant Revaluation Non-cash warrant revaluation Amortization of Debt Issuance Costs and Discounts Non-cash interest expense Increase (Decrease) in Operating Capital [Abstract] Changes in operating assets and liabilities: Increase (Decrease) in Accounts Receivable Accounts receivable Increase (Decrease) in Inventories Inventory Increase (Decrease) in Prepaid Expense and Other Assets Prepaid expenses and other current assets Increase (Decrease) in Other Operating Assets Other assets Increase (Decrease) in Accounts Payable Accounts payable Increase (Decrease) in Accrued Liabilities Accrued liabilities Increase Decrease in a Contract with Customer Liability Deferred revenue The increase (decrease) in lease liabilities. Increase (Decrease) in Lease Liabilities Lease liabilities, net Net Cash Provided by (Used in) Operating Activities, Continuing Operations Net cash provided by operating activities Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract] Cash flows from investing activities Payments to Acquire Property, Plant, and Equipment Purchases of property and equipment Proceeds from Sale of Property, Plant, and Equipment Proceeds received from sale of property and equipment Net Cash Provided by (Used in) Investing Activities, Continuing Operations Net cash used in investing activities Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract] Cash flows from financing activities Repayments of Long-term Debt Payments on long-term debt Payments of Debt Issuance Costs Payments of debt issuance costs Proceeds from Issuance of Shares under Incentive and Share-based Compensation Plans, Including Stock Options Proceeds from exercise of stock options and purchase of shares in employee stock purchase plan Net Cash Provided by (Used in) Financing Activities, Continuing Operations Net cash used in financing activities Cash and Cash Equivalents, Period Increase (Decrease) Net increase in cash and cash equivalents Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents Cash and cash equivalents at end of period Cash and cash equivalents at beginning of period Supplemental Cash Flow Information [Abstract] Supplementary cash flow information: Interest Paid, Net Interest paid Operating Lease, Payments Operating cash flows paid for operating leases Finance Lease, Principal Payments Financing cash flows paid for finance leases Noncash Investing and Financing Items [Abstract] Non-cash investing and financing activities: Right-of-Use Asset Obtained in Exchange for Operating Lease Liability Right-of-use assets obtained in exchange for operating lease liabilities Right-of-Use Asset Obtained in Exchange for Finance Lease Liability Right-of-use assets obtained in exchange for finance lease liabilities Capital Expenditures Incurred but Not yet Paid Purchases of property and equipment in accounts payable and accrued liabilities Non-cash issuance of warrants. Noncash Issuance of Warrants Cashless exercise of warrants Organization and Operations Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block] Organization and Operations Summary of Significant Accounting Policies Basis of Presentation and Significant Accounting Policies [Text Block] Summary of Significant Accounting Policies Revenue. Revenue from Contract with Customer [Text Block] Revenue Balance Sheet Components Supplemental Balance Sheet Disclosures [Text Block] Balance Sheet Components Commitments and Contingencies Commitments and Contingencies Disclosure [Text Block] Commitments and Contingencies Debt Debt Disclosure [Text Block] Debt Stockholders' Equity Stockholders' Equity Note Disclosure [Text Block] Stockholders' Equity Stock-Based Compensation Disclosure of Compensation Related Costs, Share-based Payments [Text Block] Stock-Based Compensation 401 (k) Plan Pension and Other Postretirement Benefits Disclosure [Text Block] 401 (k) Plan Significant Arrangements [Abstract] Significant Agreements The entire disclosure for significant arrangements. Significant Arrangements [Text Block] Significant Agreements Geographic Information Segments Segment Reporting Disclosure [Text Block] Geographic Information Income Taxes Income Tax Disclosure [Text Block] Income Taxes Net Income Per Common Share Earnings Per Share [Text Block] Net Income Per Common Share Use of Estimates, Policy [Policy Text Block] Use of Estimates Segment Reporting, Policy [Policy Text Block] Segments Cash and Cash Equivalents, Policy [Policy Text Block] Cash and Cash Equivalents Trade and Other Accounts Receivable, Policy [Policy Text Block] Accounts Receivable, Net Concentration Risk, Credit Risk, Policy [Policy Text Block] Concentration of Credit Risk Inventory, Policy [Policy Text Block] Inventory Fair Value of Financial Instruments, Policy [Policy Text Block] Fair Value of Financial Instruments Property, Plant and Equipment, Policy [Policy Text Block] Property and Equipment Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block] Impairment of Long-lived Assets Lessee, Leases [Policy Text Block] Leases Debt, Policy [Policy Text Block] Debt Issuance Costs Disclosure of accounting policy related to Government Tax Credits, Incentives and Grants. Government Tax Credits, Incentives and Grants [Policy Text Block] Government Tax Credits, Incentives and Grants Revenue from Contract with Customer [Policy Text Block] Revenue Recognition Standard Product Warranty, Policy [Policy Text Block] Product Warranty Research and Development Expense, Policy [Policy Text Block] Research and Development Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block] Stock-based Compensation Income Tax, Policy [Policy Text Block] Income Taxes Earnings Per Share, Policy [Policy Text Block] Net Income per Common Share New Accounting Pronouncements, Policy [Policy Text Block] Recently Issued Pronouncements Subsequent Events, Policy [Policy Text Block] Subsequent Events Tabular disclosure of accounts receivable net. Schedule of Accounts Receivable Net [Table Text Block] Schedule of accounts receivable net Schedules of Concentration of Risk, by Risk Factor [Table Text Block] Schedule of revenue and accounts receivable for each significant customer Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block] Schedule of fair value of financial assets and liabilities measured on recurring basis Tabular disclosure of the useful life of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Schedule of Property, Plant and Equipment, Useful Life [Table Text Block] Schedule of estimated useful lives of the assets Disaggregation of Revenue [Table Text Block] Schedule of disaggregation of revenue Schedule of Inventory, Current [Table Text Block] Schedule of Inventory Property, Plant and Equipment [Table Text Block] Schedule of property and equipment, net Schedule of Accrued Liabilities [Table Text Block] Schedule of accrued liabilities Tabular disclosure of undiscounted cash flows of lessee's operating and financing lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating and financing lease liability recognized in statement of financial position. Lessee Operating And Financing Lease Liability Maturity [Table Text Block] Schedule of Undiscounted future non-cancellable lease payments The tabular disclosure of lease quantitative information. Lease Quantitative Disclosure [Table Text Block] Schedule of supplemental information Schedule of Debt [Table Text Block] Summary of debt Tabular disclosure of common stock reserved for future issuance. Schedule of Reserved Shares of Common Stock [Table Text Block] Summary of common stock reserved for future issuance Grantee Status [Axis] Grantee Status [Domain] Employee Schedule of Share-based Compensation, Stock Options, Activity [Table Text Block] Summary of stock option activity Schedule of Share-based Compensation, Restricted Stock Units Award Activity [Table Text Block] Schedule of restricted stock unit activity Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block] Schedule of fair value assumptions Long-lived Assets by Geographic Areas [Table Text Block] Schedule of property and equipment by country Schedule of Revenue from External Customers Attributed to Foreign Countries by Geographic Area [Table Text Block] Schedule of revenue by country Schedule of Components of Income Tax Expense (Benefit) [Table Text Block] Schedule of components of income taxes Schedule of Effective Income Tax Rate Reconciliation [Table Text Block] Schedule of reconciliation of statutory federal income tax rate Schedule of Deferred Tax Assets and Liabilities [Table Text Block] Schedule of tax effects of temporary differences and carryforwards Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block] Schedule of changes in the Company's gross unrecognized tax benefits Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Computation of basic and diluted net income (loss) per share Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block] Schedule of potentially dilutive securities excluded from diluted net loss per common share Disaggregation of Revenue [Table] Disaggregation of Revenue [Line Items] Disaggregation of Revenue Accounts Receivable, Net, Current [Abstract] Accounts receivable Accounts Receivable, Gross, Current Trade accounts receivable Unbilled Receivables, Current Unbilled accounts receivable A valuation allowance for product returns and price concessions. Allowance For Product Returns and Price Concessions Allowance for product returns and price adjustments Concentration Risk [Table] Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Domain] Revenue [Member] Revenue Accounts Receivable, net [Member] Accounts Receivable, net Concentration Risk Type [Axis] Concentration Risk Type [Domain] Customer Concentration Risk [Member] Customer Concentration Risk Customer [Axis] Customer [Domain] Customer A. Customer A [Member] Customer A Customer B. Customer B [Member] Customer B Customer C. Customer C [Member] Customer C Customer D. Customer D [Member] Customer D Customer E. Customer E Range [Axis] Range [Domain] Maximum [Member] Maximum Concentration Risk [Line Items] Concentration risk Concentration Risk, Percentage Concentration risk percentage Fair Value Measurements, Recurring and Nonrecurring [Table] Measurement Frequency [Axis] Fair Value, Measurement Frequency [Domain] Recurring Cash and Cash Equivalents [Axis] Cash and Cash Equivalents [Domain] Money Market Funds [Member] Money Market Funds Fair Value, Hierarchy [Axis] Fair Value Hierarchy [Domain] Level 1 [Member] Level 1 Level 3 [Member] Level 3 Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Fair Value Cash and Cash Equivalents, Fair Value Disclosure Money market funds Assets, Fair Value Disclosure, Recurring Total assets measured at fair value Fair value of outstanding derivative securities that permit the holder the right to purchase securities (usually equity) from the issuer at a specified price. Warrants and Rights Outstanding, Fair Value Warrant liability Financial Liabilities Fair Value Disclosure Total liabilities measured at fair value Property, Plant and Equipment [Table] Property, Plant and Equipment, Type [Axis] Property, Plant and Equipment, Type [Domain] Computer and network equipment Manufacturing equipment Furniture and fixtures Software Minimum [Member] Minimum Property, Plant and Equipment [Line Items] Property and Equipment, Net Property, Plant and Equipment, Useful Life Useful Lives Asset Impairment Charges [Abstract] Impairment of Long-lived Assets Impairment of Long-Lived Assets Held-for-use Impairment of long-lived assets The amount of cash received during the period as refunds related to employee retention tax credit. Proceeds from Employee Retention Tax Credit Refunds Proceeds from employee retention tax credit refunds Lessee, Lease, Description [Table] Lessee, Lease, Description [Line Items] Leases Lessee Leasing Arrangements, Operating Leases, Term of Contract Operating term of lease (in years) Lessee, Finance Lease, Term of Contract Finance term of lease (in years) Lessee, Operating Lease, Existence of Option to Extend [true false] Operating lease - existence of option to extend Lessee, Finance Lease, Existence of Option to Extend [true false] Finance lease - existence of option to extend Lessee, Finance Lease, Renewal Term Finance lease renewal term (in years) Lessee, Operating Lease, Renewal Term Operating lease renewal term (in years) Contract with Customer, Sales Channel [Axis] Contract with Customer, Sales Channel [Domain] Distributor Non-distributor Timing of Transfer of Good or Service [Axis] Timing of Transfer of Good or Service [Domain] Point in time Over time Licensing Royalties Other revenue Amount, excluding tax collected from customer, of revenue recognized in current year due to a change in estimate to prior year revenue. Revenue from Contract with Customer, Prior Year Revenue Estimate Adjustment, Excluding Assessed Tax Revenue recognized in current year due to a change in estimate Geographical [Axis] Geographical [Domain] APAC North America EMEA Inventory Disclosure [Abstract] Inventory Inventory, Raw Materials, Net of Reserves Raw materials Inventory, Work in Process, Net of Reserves Work-in-process Inventory, Finished Goods, Net of Reserves Finished goods Leasehold improvements Property, Plant and Equipment, Gross Total property and equipment, gross Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment Less: accumulated depreciation Cost of Goods and Services Sold, Depreciation and Amortization Depreciation and amortization expense Accrued Liabilities, Current [Abstract] Accrued liabilities Accrued Salaries, Current Payroll-related expenses Carrying value as of the balance sheet date of obligations incurred through that date and payable for inventory. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer). Accrued Inventory Inventory Other Accrued Liabilities, Current Other Type of Arrangement and Non-arrangement Transactions [Axis] Arrangements and Non-arrangement Transactions [Domain] RAD-Hard product This member stands for RAD hard product 1 agreement. RAD Hard product 1 agreement Contract with Customer, Liability [Abstract] Deferred Revenue Represents the total amount of consideration to be received per the agreement. Total Consideration of Agreement Total amount of consideration to be received Represents the amount billed for the performance under contractual agreements. Billed Contract Revenue Amount billed for the performance under contractual agreements Revenue, Remaining Performance Obligation, Amount Revenue expected to be recognized Loss Contingencies [Table] Loss Contingencies [Line Items] Commitments and Contingencies Lease, Cost [Abstract] Other lease information Amount of lessee's undiscounted obligation for lease payment for operating and financing leases to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). Lessee Operating And Financing Lease Liability Payments Due Next Twelve Months 2024 Amount of lessee's undiscounted obligation for lease payment for operating and financing lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). Lessee Operating And Financing Lease Liability Payments Due Year Two 2025 Amount of lessee's undiscounted obligation for lease payment for operating and financing lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). Lessee Operating And Financing Lease Liability Payments Due Year Three 2026 Amount of lessee's undiscounted obligation for lease payment for operating and financing lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). Lessee Operating And Financing Lease Liability Payments Due Year Four 2027 Amount of lessee's undiscounted obligation for lease payment for operating and financing lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). Lessee Operating And Financing Lease Liability Payments Due Year Five 2028 Amount of lessee's undiscounted obligation for lease payment for operating and financing lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). Lessee Operating And Financing Lease Liability Payments Due After Year Five Thereafter Amount of lessee's undiscounted obligation for lease payment for operating and financing lease. Lessee Operating And Financing Lease Liability Payments Due Total lease payments Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating and financing lease. Lessee Operating And Financing Lease Liability Undiscounted Excess Amount Less: imputed interest Present value of lessee's discounted obligation for lease payments from operating and financing lease. Operating And Financing Lease Liability Total lease liabilities Operating Lease, Weighted Average Remaining Lease Term Operating lease weighted-average remaining lease term (years) Operating Lease, Weighted Average Discount Rate, Percent Operating lease weighted-average discount rate Finance Lease, Weighted Average Remaining Lease Term Finance lease weighted-average remaining lease term (years) Finance Lease, Weighted Average Discount Rate, Percent Finance lease weighted-average discount rate Operating Lease, Cost Operating lease costs Line of Credit Facility [Table] Credit Facility [Axis] Credit Facility [Domain] Represents the 2019 Credit Facility. 2019 Credit Facility Line of Credit Facility [Line Items] Debt Long-term Line of Credit Outstanding balance Payments of Debt Extinguishment Costs Prepayment fee Long-term debt before unamortized (discount) premium, current. Long Term Debt Current Gross Debt, Current Portion Debt Instrument, Unamortized Discount, Current Less: Debt issuance costs, Current Portion Long-term Debt, Gross Principal amount Debt Instrument, Unamortized Discount Less: Discount attributable to warrants, end of term fee and debt issuance costs, Total Unamortized discount Long-term Debt Net carrying value of debt, Total Schedule of Stock by Class [Table] Options issued and outstanding. Options Issued and Outstanding [Member] Future stock option grants. Shares Available for Future Option Grants [Member] Represents the information related to RSUs subject to future vesting. RSUs subject to future vesting Class of Warrant or Right [Axis] Class of Warrant or Right [Domain] Common stock warrants. Common stock warrants Class of Stock [Line Items] Common stock reserved Common Stock, Dividends, Per Share, Declared Dividends on common stock Common Stock, Capital Shares Reserved for Future Issuance Reserved shares of common stock for future issuance Class of Warrant or Right [Table] Warrants to Purchase Series B Redeemable Convertible Preferred Stock [Member] Warrants to Purchase Series B Redeemable Convertible Preferred Stock [Member] Ares Venture Finance Credit Facility [Member] 2015 Credit Facility [Member] Class of Warrant or Right [Line Items] Warrants Class of Warrant or Right, Number of Securities Called by Each Warrant or Right Number of shares the warrant can be converted to Class of Warrant or Right, Exercise Price of Warrants or Rights Warrant exercise price Schedule of Error Corrections and Prior Period Adjustment Restatement [Table] Error Corrections and Prior Period Adjustments Restatement [Line Items] Prior period adjustment Share-based Compensation Arrangement by Share-based Payment Award, Additional General Disclosures [Abstract] Stock-based compensation Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant Options and Awards Available for Grant, Outstanding, Ending balance Options and Awards Available for Grant, Outstanding, Beginning balance Shares available for future issuance (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Number of Additional Shares Authorized Options and Awards Available for Grant, Options authorized Share based compensation arrangement by share based payment award number of shares available for grant utilized for another share based award. Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant Used for Other Share Based Awards Other than Options Options and Awards Available for Grant, RSUs granted Share based compensation arrangement by share based payment award number of shares available for grant cancelled or forfeited in period other than options. Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Available Cancelled Or Forfeited In Period Other Than Options Options Available for Grant, RSUs cancelled/forfeited Share based compensation arrangement by share based payment award number of warrants exercised and/or granted in period. Share Based Compensation Arrangement by Share Based Payment Award Number of Warrants Exercised Warrants exercised Share based compensation arrangement by share based payment award number of shares available for grant granted in period. Share Based Compensation Arrangement by Share Based Payment Award Number of Shares Available for Grant Granted in Period Options and Awards Available for Grant, Options granted Share based compensation arrangement by share based payment award number of shares available for grant cancelled or forfeited in period. Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available Cancelled or Forfeited In Period Options and Awards Available for Grant, Options cancelled/forfeited Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number Number of Options, Outstanding, Ending balance Number of Options, Outstanding, Beginning balance Options remained outstanding Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross Number of Options, Options granted Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period Number of Options, Options cancelled/forfeited Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number Number of Options, exercisable Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price Weighted - Average Exercise Price Per Share, Options outstanding, Ending balance Weighted - Average Exercise Price Per Share, Options outstanding, Beginning balance Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price Weighted - Average Exercise Price Per Share, Options granted Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price Weighted - Average Exercise Price Per Share, Options exercised Share-based Compensation Arrangements by Share-based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price Weighted - Average Exercise Price Per Share, Options cancelled/forfeited Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price Weighted - Average Exercise Price Per Share, Options exercisable Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term Weighted - Average Remaining Contractual Life, Options outstanding Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term Weighted - Average Remaining Contractual Life, Options exercisable Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value Aggregate Intrinsic Value, Options outstanding Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value Aggregate Intrinsic Value, Options exercised Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value Aggregate Intrinsic Value, Options exercisable Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Plan Name [Axis] Plan Name [Domain] Two thousand sixteen equity incentive plan. 2016 Employee Incentive Plan [Member] 2016 Employee Incentive Plan Two thousand eight equity incentive plan. 2008 Equity Incentive Plan [Member] 2008 Equity Incentive Plan Two thousand sixteen employee stock purchase plan. ESPP Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Share-based Compensation Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized Maximum number of common stock shares may be issued under the plan Share-based Compensation Arrangement by Share-based Payment Award, Percentage of Outstanding Stock Maximum Annual increases in the number of shares available for issuance, percentage of outstanding capital stock Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested in Period, Fair Value Total grant date fair value of options vested Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value Weighted-average grant date fair value of options granted Represents the increase in number of shares available for grant during the period. Share Based Compensation Arrangement by Share Based Payment Award Increase in Number of Shares Available for Grant Increase in number of shares reserved for issuance (in shares) Aggregate number of common shares reserved and available for future issuance. Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Reserved and Available for Grant Number of shares reserved and available for future issuance Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options Unrecognized stock-based compensation expense Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition Unrecognized compensation expense, weighted-average period expected to be recognized Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Minimum Expected volatility, Minimum Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Maximum Expected volatility, Maximum Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Minimum Risk-free interest rate, Minimum Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Maximum Risk-free interest rate, Maximum Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term Expected term (in years) RSUs Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Outstanding [Roll Forward] Number of Restricted Stock Units Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Outstanding, Number Balance, end of period Balance, beginning of period Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Granted Granted Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period Vested Number of shares of common stock, vested Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period Cancelled/forfeited n/a Share-based Compensation Arrangement by Share-based Payment Award, Other than Options, Outstanding, Weighted Average Exercise Price [Abstract] Weighted Average Exercise Price Per Share Share-based Compensation Arrangement by Share-based Payment Award, Other than Options, Outstanding, Weighted Average Exercise Price Balance, end of period (price per share) Balance, beginning of period (price per share) Share-based Compensation Arrangements by Share-based Payment Award, Other than Options, Grants in Period, Weighted Average Exercise Price Granted (price per share) Share-based Compensation Arrangement by Share-based Payment Award, Other than Options, Vested, Weighted Average Exercise Price Vested (price per share) Share Based Compensation Arrangement By Share Based Payment Award Other Than Options Cancelled or Forfeited Weighted Average Exercise Price Cancelled/forfeited (price per share) Schedule of Collaborative Arrangements and Non-collaborative Arrangement Transactions [Table] Joint development agreement. Joint Development Agreement [Member] Joint Development Agreement Counterparty Name [Axis] Counterparty Name [Domain] Global Foundries. Global Foundries, Inc. [Member] GlobalFoundries, Inc. Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items] Joint development agreement Represents the period during which the related party possess the exclusive right to manufacture the Company's discrete and embedded ST-MRAM devices developed pursuant to the agreement, after the qualification of the MRAM device for a particular technology node. Period of Possession Of Exclusive Right to Manufacture After Qualification Of Device Period of possession of exclusive right to manufacture after qualification of device Represents the period during which the related party possess the exclusive right to manufacture the Company's discrete and embedded ST-MRAM devices developed pursuant to the agreement, after the completion of the relevant statement of work under which the device was developed. Period of Possession Of Exclusive Right to Manufacture After Completion Of Device Development Work Period of possession of exclusive right to manufacture after completion of device development work Schedule of Revenues from External Customers and Long-Lived Assets [Table] United States Japan Hong Kong Germany Singapore China Canada Represents all other countries. All other Revenues from External Customers and Long-Lived Assets [Line Items] Geographic Information Current Federal, State and Local, Tax Expense (Benefit) [Abstract] Current Current State and Local Tax Expense (Benefit) State Current Income Tax Expense (Benefit) Total Current Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract] Deferred Deferred Federal Income Tax Expense (Benefit) Federal Deferred State and Local Income Tax Expense (Benefit) State Deferred Income Tax Expense (Benefit) Total Deferred Effective Income Tax Rate Reconciliation, Percent [Abstract] Reconciliation of statutory federal income tax Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent Tax at statutory federal rate Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent State taxes, net of federal benefit Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-based Compensation Cost, Percent Stock-based compensation Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to executive compensation nondeductible expenses. Effective Income Tax Rate Reconciliation, Nondeductible Expense, Executive Compensation, Percent IRC section 162(m) limitation Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent Change in valuation allowance Effective Income Tax Rate Reconciliation, Other Adjustments, Percent Other Effective Income Tax Rate Reconciliation, Percent Provision for income taxes Components of Deferred Tax Assets and Liabilities [Abstract] Tax effects of temporary differences and carryforwards Components of Deferred Tax Assets [Abstract] Deferred tax assets: Deferred Tax Assets, Operating Loss Carryforwards Net operating loss carryforwards Deferred Tax Assets, Inventory Inventory Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals Accruals Deferred Tax Assets, Property, Plant and Equipment Depreciation and amortization Deferred Tax Assets, in Process Research and Development Research and experimental expenditures Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-based Compensation Cost Stock-based compensation Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from right-of-use liability. Deferred Tax Assets, Right Of Use Liability Right of use liability Deferred Tax Assets, Gross Gross deferred tax assets Deferred Tax Assets, Valuation Allowance Valuation allowance Deferred Tax Assets, Net of Valuation Allowance Deferred tax assets Components of Deferred Tax Liabilities [Abstract] Deferred tax liabilities: Amount of deferred tax liability attributable to taxable temporary differences related to right-of-use assets. Deferred Tax Liabilities, Right of Use Asset Right of use asset Deferred Tax Liabilities, Other Other Deferred Tax Liabilities, Gross Deferred tax liabilities Deferred Tax Assets, Net Net deferred tax assets Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount (Decrease) increase in valuation allowance Operating Loss Carryforwards [Table] Income Tax Authority [Axis] Income Tax Authority [Domain] Federal State Operating Loss Carryforwards [Line Items] Net operating loss carryforwards Operating Loss Carryforwards Net operating loss carryforwards Deferred Tax Assets, Operating Loss Carryforwards, Subject to Expiration Net operating loss carryforwards, which will expire if not utilized Deferred Tax Assets, Operating Loss Carryforwards, Not Subject to Expiration Net operating loss carryforwards, which will carryover indefinitely Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards that are subject to expiration dates in accordance with IRC Section 382. Deferred Tax Assets, Operating Loss Carryforwards, Subject to Expiration, IRC Section 382 Net operating loss carryforwards, subject to expiration per IRC Section 382 Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards that are subject to expiration dates in accordance with IRC Section 382, tax effected. Deferred Tax Assets, Operating Loss Carryforwards, Subject to Expiration, IRC Section 382, Tax Effected Net operating loss carryforwards (tax effected), subject to expiration per IRC Section 382 Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward] Unrecognized tax expense rollforward Amount of unrecognized tax expenses. Unrecognized Tax Expenses Unrecognized tax expense, end of year Unrecognized tax expense, beginning of the year Amount of decrease in unrecognized tax expenses resulting from tax positions taken in prior period tax returns. Unrecognized Tax Expenses, Decrease Resulting from Prior Period Tax Positions Decrease related to prior year tax positions Amount of increase in unrecognized tax expenses resulting from tax positions taken in prior period tax returns. Unrecognized Tax Expenses, Increase Resulting from Prior Period Tax Positions Increase related to prior year tax positions Amount of increase in unrecognized tax expenses resulting from tax positions that have been or will be taken in current period tax return. Unrecognized Tax Expenses, Increase Resulting from Current Period Tax Positions Increase related to current year tax positions Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued Interest and penalties on unrecognized tax benefit Unrecognized Tax Benefits that Would Impact Effective Tax Rate Unrecognized tax benefits that would impact effective tax rate The total amount of unrecognized tax benefits that, if recognized, would affect deferred taxes. Unrecognized tax benefits that would impact deferred taxes Amount of unrecognized tax benefits that, if recognized, would affect deferred taxes Net Income (Loss) Attributable to Parent [Abstract] Numerator: Weighted Average Number of Shares Outstanding, Diluted [Abstract] Denominator: Earnings Per Share, Basic [Abstract] Basic EPS Earnings Per Share, Diluted [Abstract] Diluted EPS Represents the gain (loss) on the change in fair value of the warrant liability. Warrant Liability Fair Value Gain (Loss) Recognized Less: warrant liability fair value loss (gain) recognized Net Income (Loss) Available to Common Stockholders, Diluted Net income attributable to common stockholders, diluted Weighted Average Number Diluted Shares Outstanding Adjustment Dilutive effect of stock options and RSUs Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table] Antidilutive Securities [Axis] Antidilutive Securities, Name [Domain] Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] Antidilutive Securities Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Potentially dilutive securities excluded from diluted net loss per common share Present value of lessee's discounted obligation for lease payments from leases. Lease Liability EX-101.PRE 11 mram-20231231_pre.xml EX-101.PRE XML 12 R1.htm IDEA: XBRL DOCUMENT v3.24.0.1
Document and Entity Information - USD ($)
$ in Millions
12 Months Ended
Dec. 31, 2023
Feb. 26, 2024
Jun. 30, 2023
Document And Entity Information      
Document Type 10-K    
Document Annual Report true    
Document Transition Report false    
Document Period End Date Dec. 31, 2023    
Entity File Number 001-37900    
Entity Registrant Name Everspin Technologies, Inc.    
Entity Incorporation, State or Country Code DE    
Entity Tax Identification Number 26-2640654    
Entity Address, Address Line One 5670 W. Chandler Boulevard    
Entity Address, Address Line Two Suite 130    
Entity Address, City or Town Chandler    
Entity Address, State or Province AZ    
Entity Address, Postal Zip Code 85226    
City Area Code 480    
Local Phone Number 347-1111    
Title of 12(b) Security Common Stock, par value $0.0001    
Trading Symbol MRAM    
Security Exchange Name NASDAQ    
Entity Current Reporting Status Yes    
Entity Interactive Data Current Yes    
Document Financial Statement Error Correction [Flag] false    
Entity Filer Category Non-accelerated Filer    
Entity Small Business true    
Entity Emerging Growth Company false    
ICFR Auditor Attestation Flag false    
Auditor Name Ernst & Young LLP    
Auditor Firm ID 42    
Auditor Location Phoenix, Arizona    
Entity Shell Company false    
Entity Common Stock, Shares Outstanding   21,225,496  
Current Fiscal Year End Date --12-31    
Document Fiscal Year Focus 2023    
Document Fiscal Period Focus FY    
Entity Central Index Key 0001438423    
Amendment Flag false    
Entity Well-known Seasoned Issuer No    
Entity Voluntary Filers No    
Entity Public Float     $ 191.0
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.24.0.1
Balance Sheets - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Current assets:    
Cash and cash equivalents $ 36,946 $ 26,795
Accounts receivable, net 11,554 10,665
Inventory 8,391 6,683
Prepaid expenses and other current assets 988 604
Total current assets 57,879 44,747
Property and equipment, net 3,717 3,883
Right-of-use assets 5,495 6,641
Other assets 212 62
Total assets 67,303 55,333
Current liabilities:    
Accounts payable 2,916 2,778
Accrued liabilities 4,336 3,533
Deferred revenue 336 821
Current portion of long-term debt   2,594
Lease liabilities, current portion 1,190 1,122
Other liabilities   27
Total current liabilities 8,778 10,875
Lease liabilities, net of current portion 4,390 5,580
Long-term income tax liability 214 214
Total liabilities 13,382 16,669
Commitments and contingencies (Note 5)
Stockholders' equity:    
Preferred stock, $0.0001 par value per share; 5,000,000 shares authorized; no shares issued and outstanding as of December 31, 2023 and December 31, 2022, respectively
Common stock, $0.0001 par value per share; 100,000,000 shares authorized; 21,080,472 and 20,374,288 shares issued and outstanding as of December 31, 2023 and December 31, 2022, respectively 2 2
Additional paid-in capital 191,569 185,364
Accumulated deficit (137,650) (146,702)
Total stockholders' equity 53,921 38,664
Total liabilities and stockholders' equity $ 67,303 $ 55,333
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.24.0.1
Balance Sheets (Parenthetical) - $ / shares
Dec. 31, 2023
Dec. 31, 2022
Balance Sheets    
Preferred stock, par value $ 0.0001 $ 0.0001
Preferred stock, shares authorized 5,000,000 5,000,000
Preferred stock, shares Issued 0 0
Preferred stock, shares outstanding 0 0
Common stock, par value $ 0.0001 $ 0.0001
Common stock, shares authorized 100,000,000 100,000,000
Common stock, shares issued 21,080,472 20,374,288
Common stock, shares outstanding 21,080,472 20,374,288
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.24.0.1
Statements of Income and Comprehensive Income - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Total revenue $ 63,765 $ 59,985
Total cost of sales 26,520 26,040
Gross profit 37,245 33,945
Operating expenses:    
Research and development 11,776 11,108
General and administrative 14,296 11,741
Sales and marketing 5,288 4,869
Total operating expenses 31,360 27,718
Income from operations 5,885 6,227
Interest expense (63) (274)
Other income, net 3,214 190
Net income before income taxes 9,036 6,143
Income tax benefit (expense) 16 (14)
Net income and comprehensive income $ 9,052 $ 6,129
Net income per common share, Basic $ 0.44 $ 0.30
Net income per common share, Diluted $ 0.42 $ 0.29
Weighted average shares of common stock outstanding, basic 20,748,302 20,130,336
Weighted average shares of common stock outstanding, diluted 21,367,304 20,775,925
Product sales    
Total revenue $ 53,123 $ 55,032
Total cost of sales 24,693 25,112
Licensing, royalty, patent and other revenue    
Total revenue 10,642 4,953
Total cost of sales $ 1,827 $ 928
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.24.0.1
Statements of Income and Comprehensive Income (Parenthetical) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Operating expenses include stock-based compensation as follows:    
Total stock-based compensation $ 5,005 $ 4,408
Research and Development    
Operating expenses include stock-based compensation as follows:    
Total stock-based compensation 1,981 1,704
General and Administrative    
Operating expenses include stock-based compensation as follows:    
Total stock-based compensation 2,519 2,190
Sales and Marketing    
Operating expenses include stock-based compensation as follows:    
Total stock-based compensation $ 505 $ 514
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.24.0.1
Statements of Stockholders' Equity - USD ($)
$ in Thousands
Common Stock
Additional Paid-In Capital
Accumulated Deficit
Total
Balance at Dec. 31, 2021 $ 2 $ 180,067 $ (152,831) $ 27,238
Balance (in shares) at Dec. 31, 2021 19,858,460      
Increase (Decrease) in Stockholders' Equity        
Issuance of common stock under stock incentive plans and exercise of stock options   889   889
Issuance of common stock under stock incentive plans and exercise of stock options (in shares) 515,828      
Stock-based compensation expense   4,408   4,408
Net Income (Loss)     6,129 6,129
Balance at Dec. 31, 2022 $ 2 185,364 (146,702) $ 38,664
Balance (in shares) at Dec. 31, 2022 20,374,288      
Increase (Decrease) in Stockholders' Equity        
Exercise of stock options (in shares)       161,121
Issuance of common stock under stock incentive plans and exercise of stock options   1,198   $ 1,198
Issuance of common stock under stock incentive plans and exercise of stock options (in shares) 705,948      
Exercise of warrants   2   2
Exercise of warrants (in shares) 236      
Stock-based compensation expense   5,005   5,005
Net Income (Loss)     9,052 9,052
Balance at Dec. 31, 2023 $ 2 $ 191,569 $ (137,650) $ 53,921
Balance (in shares) at Dec. 31, 2023 21,080,472      
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.24.0.1
Statement of Cash Flows - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Cash flows from operating activities    
Net income $ 9,052 $ 6,129
Adjustments to reconcile net income to net cash provided by operating activities:    
Depreciation and amortization 1,205 982
Gain on sale of property and equipment (15) (167)
Stock-based compensation 5,005 4,408
Loss on prepayment and termination of credit facility 170  
Non-cash warrant revaluation (25) (23)
Non-cash interest expense 26 105
Changes in operating assets and liabilities:    
Accounts receivable (889) (2,472)
Inventory (1,708) (287)
Prepaid expenses and other current assets (384) 158
Other assets (150) (28)
Accounts payable 499 563
Accrued liabilities 803 (46)
Deferred revenue (485) (11)
Lease liabilities, net 24 182
Net cash provided by operating activities 13,128 9,493
Cash flows from investing activities    
Purchases of property and equipment (1,404) (2,788)
Proceeds received from sale of property and equipment 19 202
Net cash used in investing activities (1,385) (2,586)
Cash flows from financing activities    
Payments on long-term debt (2,790) (2,400)
Payments of debt issuance costs   (10)
Proceeds from exercise of stock options and purchase of shares in employee stock purchase plan 1,198 889
Net cash used in financing activities (1,592) (1,521)
Net increase in cash and cash equivalents 10,151 5,386
Cash and cash equivalents at beginning of period 26,795 21,409
Cash and cash equivalents at end of period 36,946 26,795
Supplementary cash flow information:    
Interest paid 37 169
Operating cash flows paid for operating leases 1,384 1,320
Financing cash flows paid for finance leases 12 11
Non-cash investing and financing activities:    
Right-of-use assets obtained in exchange for operating lease liabilities   6,837
Right-of-use assets obtained in exchange for finance lease liabilities   36
Purchases of property and equipment in accounts payable and accrued liabilities 446 $ 807
Cashless exercise of warrants $ 2  
XML 19 R8.htm IDEA: XBRL DOCUMENT v3.24.0.1
Organization and Nature of Business
12 Months Ended
Dec. 31, 2023
Organization and Operations  
Organization and Operations

1. Organization and Operations

Everspin Technologies, Inc. (the Company) was incorporated in Delaware on May 16, 2008. The Company’s magnetoresistive random access memory (MRAM) solutions offer the persistence of non-volatile memory with the speed and endurance of random access memory (RAM) and enable the protection of mission critical data particularly in the event of power interruption or failure. The Company’s MRAM solutions allow its customers in key markets, such as industrial, medical, automotive/transportation, aerospace, and data center, to design high performance, power-efficient and reliable systems without the need for bulky batteries or capacitors.

XML 20 R9.htm IDEA: XBRL DOCUMENT v3.24.0.1
Summary of Significant Accounting Policies
12 Months Ended
Dec. 31, 2023
Summary of Significant Accounting Policies  
Summary of Significant Accounting Policies

2. Summary of Significant Accounting Policies

Use of Estimates

The preparation of the financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities as of the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. On an ongoing basis, management evaluates its estimates, including those related to revenue recognition, fair value of assets and liabilities, inventory net realizable value, deferred tax assets and related valuation allowances, and stock-based compensation. The Company believes its estimates and assumptions are reasonable; however, actual results may differ from the Company’s estimates.

Segments

The Company’s chief operating decision maker is its Chief Executive Officer who reviews financial information for purposes of allocating resources and evaluating financial performance for the entire Company. As a result, the Company has single operating and reportable segment.

Cash and Cash Equivalents

The Company considers all highly liquid, short-term investments with maturity dates of 90 days or less at the date of purchase to be cash equivalents. The Company’s cash equivalents consist solely of money market funds.

Accounts Receivable, Net

Accounts receivable are recorded at the invoiced amount and do not bear interest. The Company generally does not require collateral or other security in support of accounts receivable. Allowances would be provided for individual accounts receivable when the Company becomes aware of a customer’s inability to meet its financial obligations, such as in the case of bankruptcy, deterioration in the customer’s operating results or change in financial position. If circumstances related to customers change, estimates of the recoverability of receivables would be further adjusted. The Company also considers a number of factors in evaluating the sufficiency of its allowance for doubtful accounts, including the length of time receivables are past due, significant one-time events, creditworthiness of customers and historical experience. Account balances would be charged off against the allowance after all means of collection have been exhausted and the potential for recovery is considered remote. The Company’s evaluation determined that no material allowance for doubtful accounts was necessary at December 31, 2023 and 2022.

The unbilled accounts receivable is an estimate of consideration to which the Company expects to be entitled for uses of the Company’s intellectual property. Certain customers report on a lagged basis and actual information is not available timely. The estimates recorded are based on historical trends in the customer’s usage and current market conditions. At December 31, 2023 and 2022, the unbilled accounts receivable balance was $475,000 and $551,000, respectively.

The Company establishes an allowance for product returns. The Company analyzes historical returns, current economic trends and changes in customer demand and acceptance of products when evaluating the adequacy of sales returns. Returns are processed as credits on future purchases and, as a result, the allowance is recorded against the

balance of trade accounts receivable. In addition, the Company from time to time may establish an allowance for estimated price adjustments related to its distributor agreements. The Company estimates credits to distributors based on the historical rate of credits provided to distributors relative to sales and evaluation of current market conditions. At December 31, 2023 and 2022, the allowance for product returns and price adjustments was $410,000 and $384,000, respectively.

Accounts receivable, net consisted of the following (in thousands):

December 31, 

December 31,

2023

2022

Trade accounts receivable

$

11,489

$

10,498

Unbilled accounts receivable

475

551

Allowance for product returns and price adjustments

(410)

(384)

Accounts receivable, net

$

11,554

$

10,665

Concentration of Credit Risk

Financial instruments that potentially expose the Company to a concentration of credit risk consist principally of cash and cash equivalents that are held by a financial institution in the United States and accounts receivable. Amounts on deposit with a financial institution may at times exceed federally insured limits.

Significant customers are those which represent more than 10% of the Company’s total revenue or net accounts receivable balance at each respective balance sheet date. For the purposes of this disclosure, the Company defines “customer” as the entity that is purchasing the products or licenses directly from the Company, which includes the distributors of the Company’s products in addition to end customers that the Company sells to directly. For each significant customer, revenue as a percentage of total revenue and accounts receivable as a percentage of total accounts receivable, net are as follows:

Revenue

Accounts Receivable

 

Year Ended December 31, 

December 31, 

December 31,

 

Customers

2023

    

2022

    

    

2023

    

2022

 

Customer A

*

18

%

*

30

%

Customer B

15

%

15

%

13

%

18

%

Customer C

12

%

11

%

*

*

Customer D

11

%

*

22

%

*

Customer E

17

%

*

37

%

*

*

Less than 10%

Inventory

Inventory is valued at the lower of cost, using the first-in, first-out or net realizable value. The carrying value of inventory is adjusted for excess and obsolescence based on the Company’s evaluation which takes into consideration historical and expected future demand, the effect new products may have on the sale of existing products, technological obsolescence, and other factors including inventory age and shipment. At the point of loss recognition, a new lower cost basis for that inventory is established and subsequent changes in facts and circumstances do not result in the restoration or increase in that new cost basis.

Fair Value of Financial Instruments

Fair value is defined as an exit price, representing the amount that would be received to sell an asset, or paid to transfer a liability, in an orderly transaction between market participants. The framework for measuring fair value provides a three-tier hierarchy prioritizing inputs to valuation techniques used in measuring fair value as follows:

Level 1— Observable inputs such as quoted prices for identical assets or liabilities in active markets;

Level 2— Inputs, other than quoted prices for identical assets or liabilities in active markets, which are observable either directly or indirectly; and

Level 3— Unobservable inputs in which there is little or no market data requiring the reporting entity to develop its own assumptions.

The carrying value of accounts receivable, accounts payable, and other accruals readily convertible into cash approximate fair value because of the short-term nature of the instruments. The Company’s financial instruments consist of Level 1 assets and a Level 3 liability. Where quoted prices are available in an active market, securities are classified as Level 1. Level 1 assets consist of highly liquid money market funds that are included in cash equivalents. The Company’s Level 3 liability consisted of warrants issued in connection with the 2019 Credit Facility (as defined in Note 6). These warrants were extinguished as of December 31, 2023. The change in the fair value of the warrant liability during the year ended December 31, 2023, was immaterial.

The following tables sets forth the fair value of the Company’s financial assets and liabilities measured at fair value on a recurring basis (in thousands):

December 31, 2023

    

Level 1

    

Level 2

    

Level 3

    

Total

Assets:

  

  

  

Money market funds

$

36,946

  

$

  

$

  

$

36,946

Total assets measured at fair value

$

36,946

  

$

  

$

  

$

36,946

December 31, 2022

    

Level 1

    

Level 2

    

Level 3

    

Total

Assets:

  

  

  

Money market funds

$

26,812

  

$

  

$

  

$

26,812

Total assets measured at fair value

$

26,812

  

$

  

$

  

$

26,812

Liabilities:

  

  

  

Warrant liability

$

  

$

  

$

27

  

$

27

Total liabilities measured at fair value

$

  

$

  

$

27

  

$

27

Property and Equipment

Property and equipment are stated at cost, less accumulated depreciation and amortization. Depreciation begins at the time the asset is placed in service. Maintenance and repairs are charged to operations as incurred. Depreciation is computed using the straight-line method over the following estimated useful lives of the assets:

Useful Lives

Computer and network equipment

2 years

Manufacturing equipment

2 – 7 years

Furniture and fixtures

7 years

Software

3 years

Leasehold improvements

Lesser of useful life of the asset or the remaining lease term

Costs incurred to develop software for internal use during the application development phase are capitalized and amortized over such software’s estimated useful life. Costs related to the design or maintenance of internal-use software are included in operating expenses as incurred. Upon sale or retirement of assets, the cost and related accumulated depreciation are removed from the balance sheet and any resulting gain or loss is reflected in operations. Amortization expense of assets acquired through finance leases is included in the statements of income and comprehensive income.

Impairment of Long-lived Assets

The Company evaluates its long-lived assets, including property and equipment, at the asset group level, for impairment whenever events or changes in circumstances indicate that the carrying value of these assets may not be

recoverable. If such events or changes in circumstances occur, for purposes of this assessment, long-lived assets are grouped with other assets and liabilities at the lowest level for which identifiable cash flows are largely independent of the cash flows of other assets and liabilities. Recoverability of these assets is measured by comparison of the carrying amount of each asset group to the future undiscounted cash flows the asset group is expected to generate over its remaining life. If the asset group is considered to be impaired, the amount of any impairment is measured as the difference between the carrying value and the fair value of the impaired asset. There have been no impairments of the Company’s long-lived assets during either of the periods presented.

Leases

The Company leases office, lab, manufacturing space and equipment in various locations with initial lease terms of up to seven years. These leases require monthly lease payments that may be subject to annual increases throughout the lease term. The terms of these leases also include renewal options at the election of the Company to renew or extend the lease for a range of an additional two to five years. These optional periods have not been considered in the determination of the right-of-use-assets (ROU) or lease liabilities associated with these leases as the Company did not consider it reasonably certain it would exercise the options.

The Company determines if an arrangement is a lease at inception. ROU assets represent the Company’s right to use an underlying asset for the lease term and lease liabilities represent the Company’s obligation to make lease payments arising from the lease. The classification of the Company’s leases as operating or finance leases along with the initial measurement and recognition of the associated ROU assets and lease liabilities is performed at the lease commencement date. The measurement of lease liabilities is based on the present value of future lease payments over the lease term. The Company uses its incremental borrowing rate, based on the information available at commencement date, to determine the present value of lease payments when its leases do not provide an implicit rate. The Company uses the implicit rate when readily determinable. The ROU asset is based on the measurement of the lease liability, includes any lease payments made prior to or on lease commencement and excludes lease incentives and initial direct costs incurred, as applicable. Lease expense for the Company’s operating leases is recognized on a straight-line basis over the lease term. Amortization expense for ROU assets associated with finance leases is recognized on a straight-line basis over the shorter of the useful life of the asset or the lease term and interest expense associated with finance leases is recognized on the balance of the lease liability using the effective interest method based on the estimated incremental borrowing rate.

The Company has lease agreements with lease and non-lease components. The Company has elected to not separate lease and non-lease components for any leases involving real estate and office equipment classes of assets and, as a result, accounts for the lease and non-lease components as a single lease component. The Company has elected to separate lease and non-lease components for any leases involving manufacturing facility classes of assets. Further, the Company elected the short-term lease exception policy, permitting it to not apply the recognition requirements of this standard to leases with terms of 12 months or less (short-term leases) for all classes of assets. As of December 31, 2023, the Company did not have any short-term leases.

Operating leases are included in right-of-use assets, lease liabilities, and lease liabilities, net of current portion in the Company’s balance sheet. Finance leases are immaterial.

Debt Issuance Costs

The Company deferred and amortized issuance costs, underwriting fees, end of term payments, and related expenses incurred in connection with the issuance of debt instruments using the effective interest method over the terms of the respective instruments. Debt issuance costs were reflected as a direct reduction of the carrying amount of the related debt liability.

Government Tax Credits, Incentives and Grants

From time to time, the Company may receive government funding in the form of tax credits, operating-related grants, capital-related grants, or other incentives to support various business activities, including capital development, research and development, and other activities as defined by the relevant government agency awarding the tax credit, incentive, or grant. The amount received is typically based on the amount of qualifying costs incurred. The Company typically has to meet certain requirements to retain the government funding. The Company records operating-related

grants and non-income related tax credits as other income in the statements of income and comprehensive income when there is reasonable assurance that the grant will be received, and the Company will comply with the conditions specified in the grant agreement.

The Company received Employee Retention Tax Credit (“ERTC”) refunds from the United States Treasury totaling $2.0 million, relating to the payroll periods from October 1, 2020 through September 30, 2021. The amounts were received pursuant to provisions within the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”), the Taxpayer Certainty and Disaster Tax Relief Act of 2020 enacted as part of the Consolidated Appropriations Act, 2021 (“Relief Act”), the American Rescue Plan Act of 2021 (“ARPA”) which provide tax relief and other stimulus measures, including the ERTC. The ERTC program allows for employers to claim a refundable tax credit against a portion of the employer share of Social Security tax for qualified wages paid to employees from March 13, 2020 through September 30, 2021.

The Company recognized the $2.0 million tax credit within other income, net in the statements of income and comprehensive income in the second quarter of 2023, which is when the amount was received and it was determined that those amounts were reasonably assured to be retained by the Company. The Company’s compliance with the program’s qualifications may be subject to audit through the year ended December 31, 2025, which is when the statute of limitation expires. The Company has received all expected ERTC refunds based on applications that have been submitted.

Revenue Recognition

The Company recognizes revenue when a customer obtains control of the promised products or services, in an amount that reflects the consideration the Company expects to receive in exchange for those products or services. Revenue is recognized net of allowances for returns and price adjustments, and any taxes imposed on specific revenue-producing transactions, which are subsequently remitted to governmental authorities.

Nature of Products and Services

The Company’s revenue is derived from the sale of MRAM-based products in discrete unit form, licenses of and royalties on its MRAM and magnetic sensor technology, the sale of backend foundry services and design services to third parties. Sales of products in discrete unit form are recognized at a point in time, revenue related to licensing agreements is recognized when the Company has delivered control of the technology, revenue related to royalty agreements is recognized in the period in which sales generated from products sold using the Company’s technology occurs, sales of backend foundry services are recognized over time, and design services to third parties are recognized either at a point in time or over time, depending on the nature of the services.

Product Revenue

For products sold in their discrete form, the Company either sells its products directly to OEMs, ODMs and CMs, or through a network of distributors, who in turn sell to those customers. For sales directly to OEMs, ODMs and CMs, revenue is recognized when the OEM, ODM or CM obtains control of the product, which occurs at a point in time, generally upon shipment to the customer. Contracts for sales of products are generally less than one year.

From time to time, the Company may provide distributors with price adjustments subsequent to the delivery of product to them and such amounts are dependent on the end customer and product sales price. Price adjustments can be based on a variety of factors, including customer, product, quantity, geography, and competitive differentiation. Price protection rights grant distributors the right to a credit in the event of declines in the price of the Company’s products. Under these circumstances, the Company remits back to the distributor a portion of their original purchase price after the resale transaction is completed in the form of a credit against the distributors’ outstanding accounts receivable balance. The credits are on a per unit basis and are not given to the distributor until the distributor provides information regarding the sale to their end customer. The Company estimates these credits and record such estimates in the same period the related revenue is recognized, resulting in a reduction of product revenue and the establishment of an allowance for price adjustments for amounts due to distributors. The Company estimates credits to distributors based on the historical rate of credits provided to distributors relative to sales and evaluation of current market conditions. Revenue on shipments to distributors is recorded when control of the products has been transferred to the distributor.

The Company estimates the amount of our product sales that may be returned by its customers and records this estimate as a reduction of revenue in the period the related product revenue is recognized. The Company estimates its product return liability by analyzing its historical returns, current economic trends and changes in customer demand and acceptance of products. The Company has received insignificant returns to date and believes that returns of its products will continue to not be material.

Upon the transfer of control, generally at shipment, the Company records a trade receivable for the selling price as there is a legally enforceable obligation of the distributor to pay for the product delivered, an allowance is recorded for the estimated discount that will be provided to the distributor, and the net of these amounts is recorded as revenue on the statements of income and comprehensive income.

License Revenue

For licenses of technology, recognition of revenue is dependent upon whether the Company has delivered rights to the technology, and whether there are future performance obligations under the contract. In some instances, the license agreements call for future events or activities to occur in order for milestones amounts to become due from the customer. The terms of such agreements include payment to the Company of one or more of the following: non-refundable upfront fees; and royalties on net sales of licensed products. Historically, these license agreements have not included other future performance obligations for the Company once the license has been transferred to the customer.

Revenue from non-refundable upfront payments is recognized when the license is transferred to the customer and the Company has no other performance obligations.

The Company entered into a contractual agreement with a customer in 2021 for the development of a RAD-Hard product, consisting of a technology license, a design license agreement and development contract, and separate contractual agreements with a customer in 2022 and 2023 for the development of a strategic radiation hardened field programmable gate array product, consisting of a technology license to provide design and development services under the contractual agreement. The Company applies a five-step approach in determining the amount and timing of revenue to be recognized: (1) identifying the contract with a customer; (2) identifying the performance obligations in the contract; (3) determining the transaction price; (4) allocating the transaction price to the performance obligations in the contract; and (5) recognizing revenue when the performance obligation is satisfied.

The Company concluded these contractual arrangements represent one arrangement and evaluated its promises to the customer and whether the performance obligations granted under the arrangement were distinct. The licenses provided to the customer are not transferable, are of limited value without the promised development services, and the customer cannot benefit from the license agreements without the specific obligated services in the development subcontract, as there is strong interdependency between the licenses and the development subcontract. Accordingly, the Company determined the licenses were not distinct within the context of the contract and combined the license with other performance obligations.

As a result, the Company is recognizing revenue related to the performance obligations over the duration of the contract using the input method based on costs incurred to date relative to the total expected costs of the contract over the contract period.

Patents

In an effort to monetize on its intellectual property, the Company may sell patents to customers. The performance obligations are satisfied at the point in time at which the customer obtains control of the patents.

Royalties

Revenue from sales-based royalties from licenses of the Company’s technology are recognized at the later of when (1) the sale occurs or (2) the performance obligation to which some or all of the sales-based royalty has been allocated is satisfied (in whole or in part). The Company will record an unbilled receivable (within accounts receivable, net) for the portion of sales-based royalties that have been earned, but not invoiced at the end of each reporting period.

Other Revenue

For certain revenue streams, the Company recognizes revenue based on the pattern of transfer of the services. The Company uses the input method of measuring costs incurred to date compared to total estimated costs to be incurred under the contract as this method most faithfully depicts its performance. The Company will record an unbilled receivable (within accounts receivable, net) for the portion of the work that has been completed but not invoiced at the end of each reporting period.

At the inception of each agreement that includes milestone payments, the Company evaluates whether the milestones are considered probable of being reached and estimates the amount to be included in the transaction price by using the most likely amount method. If it is probable that a significant reversal of cumulative revenue would not occur, the associated milestone value is included in the transaction price. At the end of each subsequent reporting period, the Company re-evaluates the probability or achievement of each such milestone and any related constraint, and if necessary, adjusts its estimate of the overall transaction price. Any such adjustments are recorded on a cumulative catch-up basis, which would affect revenues and earnings in the period of adjustment.

Product Warranty

The Company generally sells products with a limited warranty of product quality and a limited indemnification of customers against intellectual property infringement claims related to the Company’s products. The Company accrues for known warranty and indemnification issues if a loss is probable and can be reasonably estimated and accrues for estimated losses incurred for unidentified issues based on historical experience. A warranty liability was not recorded at December 31, 2023 and 2022, as the estimated future warranty costs were not material based on the Company’s historical experience.

Research and Development

Research and development expenses are incurred in support of internal development programs or as part of the Company’s joint development agreement with GLOBALFOUNDRIES (see Note 10). Research and development expenses include personnel-related costs (including stock-based compensation), circuit design costs, purchases of materials and laboratory supplies, fabrication and packaging of experimental integrated circuit products, depreciation of research and development related capital equipment and overhead and are expensed as incurred.

Stock-based Compensation

Stock-based compensation arrangements include stock option grants and restricted stock unit (RSU) awards under the Company’s equity incentive plans, as well as shares issued under the Company’s Employee Stock Purchase Plan (ESPP), through which employees may purchase the Company’s common stock at a discount to the market price.

The Company uses RSUs with a service condition as its primary equity incentive compensation instrument for employees.  Share-based compensation expense for RSUs is measured on the grant date based on the fair market value of the Company’s common stock and is recognized over the requisite service period using the straight-line method. The Company accounts for forfeitures as they occur.

The Company measures its stock option grants based on the estimated fair value of the options as of the grant date using the Black-Scholes option-pricing model. Stock-based compensation expense for stock option grants is recognized over the requisite service period using the straight-line method. The Company accounts for forfeitures as they occur.

Expected volatility. The Company determines the expected stock price volatility based on the historical volatility of its common stock and the historical volatilities of a peer group. Industry peers consist of several public companies in the technology industry similar in size, stage of life cycle and financial leverage. If circumstances change such that the identified companies are no longer similar, the Company will revise its peer group to substitute more suitable companies in this calculation.

Risk-free interest rate. The risk-free interest rate is based on the U.S. Treasury yield with a maturity equal to the expected term of the option in effect at the time of grant.

Expected term. The expected term represents the period that the stock-based awards are expected to be outstanding. The Company used the simplified method to determine the expected term, which is calculated as the average of the time to vesting and the contractual life of the options.

Dividend yield. The Company has never paid dividends on its common stock and is prohibited from paying dividends on its common stock. Therefore, the Company used an expected dividend yield of zero.

Income Taxes

The Company uses the liability method of accounting for income taxes. Under this method, deferred tax assets and liabilities are determined based on the differences between the financial reporting and the tax bases of assets and liabilities and are measured using the enacted tax rates and laws that will be in effect when the differences are expected to reverse. The Company must then assess the likelihood that the resulting deferred tax assets will be realized. A valuation allowance is provided when it is more likely than not that some portion or all of a deferred tax asset will not be realized.

The Company recognizes benefits of uncertain tax positions if it is more likely than not that such positions will be sustained upon examination based solely on their technical merits, as the largest amount of benefit that is more likely than not to be realized upon the ultimate settlement. The Company’s policy is to recognize interest and penalties related to the underpayment of income taxes as a component of income tax expense or benefit.

Net Income per Common Share

Basic net income per common share is calculated by dividing the net income by the weighted-average number of shares of common stock outstanding for the period less shares subject to repurchase, without consideration of potentially dilutive securities. Diluted earnings per share is calculated using the treasury stock method by dividing net income by the total weighted average shares of common stock outstanding in addition to the potential impact of dilutive securities including restricted stock units, warrants, and options. In periods with a net loss, diluted net loss per common share is the same as basic net loss per common share since the effect of potentially dilutive securities is anti-dilutive.

Recently Issued Pronouncements

In June 2016, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) No. 2016-13, Financial Instruments-Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments, which amends the incurred loss impairment methodology in current GAAP with a methodology that reflects expected credit losses and requires consideration of a broader range of reasonable and supportable information to inform credit loss estimates. As the Company is a smaller reporting company, ASU 2016-13 is effective for the Company’s annual reporting periods, and interim periods within those years, beginning after December 15, 2022, and requires a cumulative effect adjustment to the balance sheet as of the beginning of the first reporting period in which the guidance is effective. In April 2019, the FASB issued ASU 2019-04, Codification Improvements Financial Instruments-Credit Losses (Topic 326). ASU 2019-04 provides narrow-scope amendments to help apply ASU 2016-13, and is effective with the adoption of ASU 2016-13. The Company adopted ASU 2016-13 and ASU 2019-04 on January 1, 2023, and it did not have a material impact on its financial statements.

In December 2023, the FASB issued ASU No. 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which is intended to improve an entity’s income tax disclosures, primarily through disaggregated information about an entity’s effective income tax rate reconciliation and additional disclosures regarding income taxes paid. ASU 2023-09 is effective for the Company’s annual reporting periods, and interim periods within those years, beginning after December 15, 2024, on a prospective basis. The Company is currently evaluating the impact that the standard will have on its financial statements.

The Company reviewed all other recently issued accounting pronouncements and concluded that they were either not applicable or not expected to have a significant impact to the financial statements.

Subsequent Events

The Company evaluated events after December 31, 2023, and through the date the financial statements were issued, and determined any events or transactions occurring during this period that would require recognition or disclosure are appropriately addressed in these financial statements.

XML 21 R10.htm IDEA: XBRL DOCUMENT v3.24.0.1
Revenue
12 Months Ended
Dec. 31, 2023
Revenue.  
Revenue

3. Revenue

The Company sells products to its distributors, ODMs and OEMs. The Company also recognizes revenue under licensing, patent, and royalty agreements with some customers. The following table presents the Company’s revenues disaggregated by sales channel (in thousands):

Year Ended December 31, 

    

2023

    

2022

Distributor

$

49,845

$

50,943

Non-distributor

13,920

9,042

Total revenue

$

63,765

$

59,985

The following table presents the Company’s revenues disaggregated by timing of recognition (in thousands):

Year Ended December 31, 

    

2023

    

2022

Point in time

$

54,183

$

56,675

Over time

9,582

3,310

Total revenue

$

63,765

$

59,985

The following table presents the Company’s revenues disaggregated by type (in thousands):

Year Ended December 31, 

    

2023

    

2022

Product sales

$

53,123

$

55,032

Licensing

7,476

1,937

Royalties

862

1,414

Other revenue

2,304

1,602

Total revenue

$

63,765

$

59,985

The Company licenses its intellectual property and is entitled to consideration based on the customer’s sales. The Company makes estimates in instances when the customer reports sales on a lagged basis and actual information is not available timely. The estimates are based on historical trends in the customer’s activity and current market conditions. In the year ended December 31, 2023, the Company recognized less than $0.1 million of royalty revenue related to activity occurring in the year ended December 31, 2022. In the year ended December 31, 2022, the Company recognized $0.3 million of royalty revenue related to activity occurring in the year ended December 31, 2021. This is a change in estimate and is based on actual information received from the customer. The amounts are reported in licensing, royalty, patent and other revenue in the statements of income and comprehensive income.

We recognize revenue by geography based on the region in which our products are sold, and not to where the end products in which they are assembled are shipped. Our revenue by region for the periods indicated was as follows (in thousands):

Year Ended December 31, 

    

2023

    

2022

APAC

$

33,096

$

35,631

North America

15,922

14,533

EMEA

14,747

9,821

Total revenue

$

63,765

$

59,985

XML 22 R11.htm IDEA: XBRL DOCUMENT v3.24.0.1
Balance Sheet Components
12 Months Ended
Dec. 31, 2023
Balance Sheet Components  
Balance Sheet Components

4. Balance Sheet Components

Inventory

Inventory consisted of the following (in thousands):

December 31, 

December 31, 

    

2023

    

2022

Raw materials

$

189

$

666

Work-in-process

 

6,724

 

4,746

Finished goods

 

1,478

 

1,271

Total inventory

$

8,391

$

6,683

Property and Equipment, Net

Property and equipment, net consisted of the following (in thousands):

December 31, 

December 31, 

    

2023

    

2022

Manufacturing equipment

$

13,494

$

16,130

Computer and network equipment

520

1,124

Furniture and fixtures

113

187

Software

825

929

Leasehold improvements

1,476

1,444

Total property and equipment, gross

16,428

19,814

Less: accumulated depreciation

(12,711)

(15,931)

Total property and equipment, net

$

3,717

$

3,883

Depreciation and amortization expense during the years ended December 31, 2023 and 2022 was $1.2 million and $1.0 million, respectively.

Accrued Liabilities

Accrued liabilities consisted of the following (in thousands):

December 31, 

December 31,

    

2023

    

2022

Payroll-related expenses

$

3,347

$

2,886

Inventory

317

185

Other

 

672

 

462

Total accrued liabilities

$

4,336

$

3,533

Deferred Revenue

During the year ended December 31, 2022, the Company executed contractual arrangements with a customer for the development of a RAD-Hard product, consisting of a technology license, design license agreement and development subcontract (RAD-Hard 1). The Company does not share in the rights to future revenues or royalties. The total arrangements are for $6.5 million in consideration.

The Company concluded these contractual arrangements represent one arrangement and evaluated its promises to the customer and whether the performance obligations granted under the arrangement were distinct. The licenses provided to the customer are not transferable, are of limited value without the promised development services, and the customer cannot benefit from the license agreements without the specific obligated services in the development subcontract, as there is strong interdependency between the licenses and the development subcontract. Accordingly, the Company determined the licenses were not distinct within the context of the contract and combined the license with other performance obligations. The total transaction price of $6.5 million was allocated to the single performance obligation.

The Company recognizes revenue related to the performance obligations over time using the input method based on costs incurred to date relative to the total expected costs of the contract and began recognizing revenue in the second quarter of 2021 over the contract period. This method depicts performance under the contract and requires the Company to make estimates about the future costs expected to be incurred to perform under the contact, including labor and material costs.

As of December 31, 2023, the Company has billed $6.0 million for the performance under the RAD-Hard 1 contractual agreements. Under the input method of recognition, the Company has recognized $0.7 million in revenue for the year ending December 31, 2023, and $5.7 million in revenue since inception of the contractual agreements. As a result, the Company has recorded $0.3 million in deferred revenue as of December 31, 2023. The Company expects to recognize the remaining $0.8 million of the transaction price as services are performed throughout the contractual period and performance is expected to be complete in the year ended December 31, 2024.

As of December 31, 2022, the Company had recorded $0.8 million in deferred revenue, of which $0.7 million was recognized as revenue during the year ending December 31, 2023.

XML 23 R12.htm IDEA: XBRL DOCUMENT v3.24.0.1
Commitments and Contingencies
12 Months Ended
Dec. 31, 2023
Commitments and Contingencies  
Commitments and Contingencies

5. Commitments and Contingencies

Leases

Operating leases consist of fabrication, lab, and office space expiring at various dates through 2029. Finance leases relate to a server lease expiring in January 2025. The Company’s lease agreements do not contain any material residual value guarantees or material restrictive covenants.

The undiscounted future non-cancellable lease payments under the Company’s operating and finance leases were as follows (in thousands):

As of December 31, 2023

    

Amount

2024

$

1,411

2025

1,416

2026

1,431

2027

1,314

2028

529

Thereafter

38

Total lease payments

6,139

Less: imputed interest

(559)

Total lease liabilities

5,580

Less: current portion of lease liabilities

(1,190)

Total lease liabilities, net of current portion

$

4,390

Other information related to the Company's operating lease liabilities was as follows:

December 31, 

December 31,

    

2023

    

2022

Weighted-average remaining lease term (years)

    

4.37

5.35

    

Weighted-average discount rate

4.50

%

4.50

%

Other information related to the Company’s finance lease liabilities was as follows:

December 31, 

December 31,

    

2023

    

2022

Weighted-average remaining lease term (years)

    

1.09

2.09

    

Weighted-average discount rate

4.50

%

4.50

%

Lease costs for the Company’s operating leases were $1.4 million for the years ended December 31, 2023 and 2022, respectively. Lease costs for the Company’s finance lease were immaterial for the years ended December 31, 2023 and 2022.

Legal Proceedings

From time to time, the Company may become involved in legal proceedings arising from the ordinary course of its business. Management is currently not aware of any matters that it expects will have a material adverse effect on the financial position, results of operations or cash flows of the Company.

Indemnifications

In the ordinary course of business, the Company enters into agreements that may include indemnification provisions. Pursuant to such agreements, the Company may indemnify, hold harmless and defend an indemnified party for losses suffered or incurred by the indemnified party. Some of the provisions will limit losses to those arising from third party actions. In some cases, the indemnification will continue after the termination of the agreement. The maximum potential amount of future payments the Company could be required to make under these provisions is not determinable. The Company has never incurred material costs to defend lawsuits or settle claims related to these indemnification provisions. The Company has also entered into indemnification agreements with its directors and officers that may require the Company to indemnify its directors and officers against liabilities that may arise by reason of their status or service as directors or officers to the fullest extent permitted by Delaware corporate law. The Company currently has directors’ and officers’ insurance.

XML 24 R13.htm IDEA: XBRL DOCUMENT v3.24.0.1
Debt
12 Months Ended
Dec. 31, 2023
Debt  
Debt

6. Debt

In March 2023, the 2019 Credit Facility, consisting of the Company’s Term Loan and Line of Credit, was paid in full, and there was no outstanding balance as of December 31, 2023. The Company paid an early termination and prepayment fee of $170,000, which was recorded within other income (expense) within the statements of income and comprehensive income for the year ended December 31, 2023. The Company was in compliance with all covenants throughout the 2019 Credit Facility payoff date in March 2023.

The amortization of the debt issuance costs and accretion of the debt discount is included in interest expense within the statements of income and comprehensive income and included in non-cash interest expense within the statement of cash flows.

The carrying value of the Company’s 2019 Credit Facility at December 31, 2022, was as follows (in thousands):

    

Current

    

Long-Term

    

Portion

Debt

Total

Credit Facility

$

2,620

$

$

2,620

Unamortized debt discounts

(26)

 

 

(26)

Net carrying value

$

2,594

$

$

2,594

XML 25 R14.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stockholders' Equity
12 Months Ended
Dec. 31, 2023
Stockholders' Equity  
Stockholders' Equity

7. Stockholders’ Equity

Common Stock

Common stockholders are entitled to dividends if and when declared by the board of directors. As of December 31, 2023, no dividends on common stock had been declared by the board of directors.

Reserved Shares of Common Stock

The Company had reserved shares of common stock for future issuance as follows:

December 31, 

December 31, 

2023

2022

Options issued and outstanding

 

1,793,485

 

1,994,726

Shares available for future option grants

 

598,397

 

689,472

RSUs subject to future vesting

905,781

656,646

Common stock warrants

 

18,461

 

18,461

Total

 

3,316,124

 

3,359,305

Warrants

In connection with the Company’s prior credit facility with Ares Venture Finance entered into in June 2015, the Company issued Ares Venture Finance a warrant to purchase 18,461 shares of the Company’s common stock at an exercise price of $26.00 per share. The warrant can be exercised at any time and expires on June 5, 2025.

XML 26 R15.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stock-Based Compensation
12 Months Ended
Dec. 31, 2023
Stock-Based Compensation  
Stock-Based Compensation

8. Stock-Based Compensation

2016 Employee Incentive Plan

The Company’s board of directors adopted the 2016 Equity Incentive Plan (the 2016 Plan) on April 25, 2016, which was subsequently approved on September 20, 2016 by the Company’s stockholders. The 2016 Plan became effective on October 7, 2016, the date the Company’s S-8 registration statement relating to the 2016 Plan was declared effective by the SEC.

The Company’s 2016 Plan provides for the grant of incentive stock options, non-statutory stock options, stock appreciation rights, restricted stock awards, restricted stock unit awards, performance-based stock awards, and other forms of equity compensation to employees, directors, and consultants. In addition, the Company’s 2016 Plan provides for the grant of performance cash awards to employees, directors, and consultants.

The maximum number of shares of common stock that may be issued under the Company’s 2016 Plan was initially 500,000 subject to an automatic increase on January 1 of each year, beginning on January 1, 2017, and continuing through and including January 1, 2026, by 3% of the total number of shares of capital stock outstanding on December 31 of the preceding calendar year, or a lesser number of shares determined by the Company’s board of directors. On May 20, 2021, the Company’s stockholders approved an amendment to the 2016 Plan to increase the total number of authorized shares of common stock available for grant thereunder by an additional 550,000 shares. At December 31, 2023, of the 3,297,663 shares of common stock reserved and available for grant under the 2016 Plan, 598,397 shares of common stock remain available for grant under the 2016 Plan.

2008 Employee Incentive Plan

The 2008 Equity Incentive Plan (the 2008 Plan) provided for the issuance of incentive stock options (ISO), nonqualified stock options, and other stock compensation awards.

Due to the adoption of the 2016 Plan, no further grants will be made under the Company’s 2008 Plan. However, any outstanding stock awards granted under the 2008 Plan will remain outstanding, subject to the terms of the Company’s 2008 Plan and the applicable stock award agreements, until such outstanding stock awards that are stock options are exercised or until they terminate or expire by their terms, or until such stock awards are fully settled, terminated, or forfeited. At December 31, 2023, 35,943 options under the 2008 Plan remained outstanding.

Summary of Stock Option Activity

The following table summarizes the stock option and award activity for all grants under the 2008 Plan and 2016 Plan:

Options Outstanding

Weighted-

Weighted-

Options and

Average

Average

Aggregate

Awards

Exercise

Remaining

Intrinsic

Available for

Number of

Price Per

Contractual

Value

Grant

    

Options

    

Share

    

Life (years)

    

(In thousands)

Balance—December 31, 2022

 

689,472

1,994,726

$

5.88

7.8

$

1,275

Authorized

 

611,228

RSUs granted

(713,301)

RSUs cancelled/forfeited

7,057

Warrants exercised

(236)

Options granted

(8,000)

8,000

$

6.47

Options exercised

 

(161,121)

$

4.99

$

679

Options cancelled/forfeited

 

12,177

(12,177)

$

6.48

Balance—December 31, 2023

 

598,397

 

1,829,428

$

5.96

6.9

$

5,676

Options exercisable—December 31, 2023

 

 

1,296,776

$

5.67

6.5

$

4,411

During the years ended December 31, 2023 and 2022, the Company granted options with a weighted-average grant date fair value of $3.85 and $5.40 per share, respectively.

The total fair value of options vested during the year was $2.0 million and $1.3 million, for the years ended December 31, 2023, and 2022, respectively.

As of December 31, 2023, there was $2.3 million of total unrecognized compensation expense related to unvested options which is expected to be recognized over a weighted-average period of 1.7 years. Compensation cost capitalized within inventory at December 31, 2023 and 2022 was not material.

The Company estimated the fair value of each option grant using the Black-Scholes option-pricing model. The fair value of employee stock options is being amortized on a straight-line basis over the requisite service period of the awards. The fair value of employee stock options was estimated using the assumptions below.

Year Ended

December 31, 

 

2023

    

2022

 

Expected volatility

50.9 - 73.9

%  

73.7 - 74.1

%

Risk-free interest rate

2.33 - 3.45

%  

2.13 - 2.93

%

Expected term (in years)

6.01 - 6.05

 

6.05 - 6.08

Dividend yield

%  

%

2016 Employee Stock Purchase Plan

The Company’s board of directors adopted the 2016 Employee Stock Purchase Plan (the ESPP) on April 25, 2016, which was subsequently approved on September 20, 2016 by the Company’s stockholders. The Company had 890,161 shares available for issuance under the Company’s ESPP as of December 31, 2023. Employees purchased 87,718 shares for $394,000 during the year ended December 31, 2023, and 77,221 shares for $342,000 during the year ended December 31, 2022.

Restricted Stock Units

In September 2017, the Company’s board of directors authorized the issuance of restricted stock units (RSUs), under the 2016 Plan and adopted a form of Restricted Stock Unit Award Agreement, which is intended to serve as a standard form agreement for RSU grants issued to employees, executive officers, directors, and consultants. The fair

value of the RSUs is recognized as expense ratably over the vesting period, as determined by the board of directors on the date of grant.

The following table summarizes RSU activity for the year ended December 31, 2023:

RSUs Outstanding

    

Weighted-

    

Average

Number of

    

Grant Date

Restricted Stock

    

Fair Value Per

    

Units

    

Share

Balance—December 31, 2022

656,646

$

6.45

Granted

 

713,301

$

6.52

Vested

(457,109)

$

6.29

Cancelled/forfeited

(7,057)

$

6.32

Balance—December 31, 2023

 

905,781

    

$

6.59

The fair value of RSUs is determined on the date of grant based on the market price of the Company’s common stock on that date. As of December 31, 2023, there was $4.6 million of unrecognized stock-based compensation expense related to RSUs to be recognized over a weighted-average period of 1.8 years. Compensation cost capitalized within inventory at December 31, 2023 and 2022 was not material.

XML 27 R16.htm IDEA: XBRL DOCUMENT v3.24.0.1
401 (k) Plan
12 Months Ended
Dec. 31, 2023
401 (k) Plan  
401 (k) Plan

9. 401(k) Plan

The Company has a defined contribution employee benefit plan pursuant to Section 401(k) of the Internal Revenue Code. The plan allows eligible employees to defer a portion of their annual compensation up to certain statutory limits. At the election of the Board of Directors, the Company may elect to match employee contributions but has not done so to date.

XML 28 R17.htm IDEA: XBRL DOCUMENT v3.24.0.1
Significant Agreements
12 Months Ended
Dec. 31, 2023
Significant Agreements  
Significant Agreements

10. Significant Agreements

GLOBALFOUNDRIES, Inc. Joint Development Agreement

Since October 17, 2014, the Company has participated in a joint development agreement (JDA) with GLOBALFOUNDRIES Inc. (GF), a semiconductor foundry, for the joint development of STT-MRAM technology to produce a family of discrete and embedded MRAM technologies. The term of the agreement is until the completion, termination, or expiration of the last statement of work entered into pursuant to the joint development agreement. The agreement was extended on December 31, 2019 to include a new phase of support for 12nm MRAM development.

Under the current JDA extension terms, each party licenses its relevant intellectual property to the other party. For certain jointly developed works, the parties have agreed to follow an invention allocation procedure to determine ownership. In addition, GF possesses the exclusive right to manufacture the Company’s discrete and embedded STT-MRAM devices developed pursuant to the agreement until the earlier of three years after the qualification of the MRAM device for a particular technology node or four years after the completion of the relevant statement of work under which the device was developed. For the same exclusivity period associated with the relevant device, GF agreed not to license intellectual property developed in connection with the JDA to named competitors of the Company.

If GF manufactures, sells, or transfers to customers wafers containing production quantified STT-MRAM devices that utilize certain design information, GF will be required to pay the Company a royalty.

XML 29 R18.htm IDEA: XBRL DOCUMENT v3.24.0.1
Geographic Information
12 Months Ended
Dec. 31, 2023
Geographic Information  
Geographic Information

11. Geographic Information

Property and equipment, net by country was as follows (in thousands):

December 31, 

2023

    

2022

United States

$

2,555

$

2,335

Singapore

1,077

1,459

Other

85

89

$

3,717

$

3,883

Revenue from customers is designated based on the geographic region or country to which the product is delivered or the licensee is located. Revenue by country was as follows (in thousands):

Year Ended December 31, 

2023

    

2022

United States

$

14,599

$

14,585

Japan

12,216

12,442

Hong Kong

10,748

12,820

Germany

9,767

3,839

Singapore

4,285

1,075

China

2,727

3,739

Canada

1,324

5,670

All other

8,099

5,815

Total revenue

$

63,765

$

59,985

XML 30 R19.htm IDEA: XBRL DOCUMENT v3.24.0.1
Income Taxes
12 Months Ended
Dec. 31, 2023
Income Taxes  
Income Taxes

12. Income Taxes

For the years ended December 31, 2023 and 2022, the Company’s provision for income tax consisted of (in thousands):

Year Ended December 31, 

2023

    

2022

Current:

Federal

$

$

State

134

14

Foreign

Total Current

$

134

$

14

Deferred:

Federal

$

40

$

State

(190)

Foreign

Total Deferred

$

(150)

$

Provision for income taxes

$

(16)

$

14

The reconciliation of the statutory federal income tax rate to the Company’s effective tax rate is as follows:

Year Ended December 31, 

    

2023

    

2022

    

Tax at statutory federal rate

21.0

%  

21.0

%  

State taxes, net of federal benefit

1.7

1.9

Stock-based compensation

0.6

4.2

IRC section 162(m) limitation

3.9

1.1

Change in valuation allowance

(28.5)

(28.0)

Other

1.1

Provision for income taxes

(0.2)

%  

0.2

%  

The tax effects of temporary differences and carryforwards that give rise to significant portions of the deferred tax assets are as follows (in thousands):

December 31, 

    

2023

    

2022

Deferred tax assets:

Net operating loss carryforwards

$

22,068

$

27,110

Inventory

287

273

Accruals

863

737

Depreciation and amortization

13

27

Research and experimental expenditures

4,728

2,229

Stock-based compensation

268

270

Right of use liability

1,245

1,477

Gross deferred tax assets

29,472

32,123

Valuation allowance

(27,748)

(30,328)

Deferred tax assets

1,724

1,795

Deferred tax liabilities:

Right of use asset

(1,226)

(1,463)

Other

(348)

(332)

Deferred tax liabilities

(1,574)

(1,795)

Net deferred tax assets

$

150

$

The Company is required to reduce its deferred tax assets by a valuation allowance if it is more likely than not that some or all of its deferred tax assets will not be realized. Management must use judgment in assessing the potential need for a valuation allowance, which requires an evaluation of both negative and positive evidence. The weight given to the potential effect of negative and positive evidence should be commensurate with the extent to which it can be objectively verified. In determining the need for and amount of the valuation allowance, if any, the Company assesses the likelihood that it will be able to recover its deferred tax assets using historical levels of income, estimates of future income and tax planning strategies. As a result of projected taxable income, the Company determined that, based on all available evidence, there was substantial certainty as to whether it will recover recorded net deferred taxes for certain state jurisdictions in future periods. However, as it pertains to the federal, Arizona, and Colorado net deferred tax assets, based on all the available evidence, there is substantial uncertainty as to whether it will recover recorded net deferred taxes in future periods. Accordingly, the Company recorded a partial and full valuation allowance against all of its net deferred tax assets as of December 31, 2023 and 2022, respectively. The net valuation allowance decreased by $2.6 million in 2023.

As of December 31, 2023, the Company has federal net operating loss carryforwards of approximately $96.2 million, of which $55.8 million will expire in 2028 through 2037 if not utilized, and $40.5 million that will carryover indefinitely. In addition, the Company has state net operating loss carryforwards of approximately $48.7 million, of which $45.9 million will expire in 2028 through 2043 if not utilized, and $2.8 million that will carryover indefinitely.

The Tax Reform Act of 1986 (the Act) provides for a limitation on the annual use of net operating loss carryforwards following certain ownership changes (as defined by the Act and codified under Section 382 of the U.S. Internal Revenue Code of 1986, as amended (the Code)) that could limit the Company’s ability to utilize these carryforwards. Further, a portion of the carryforwards may expire before utilized to reduce future income tax liabilities

as a result of the annual limitation. The Company experienced an ownership change in October 2016 and as a result, $43.8 million ($9.2 million tax effected) of the federal NOLs are expected to expire unutilized due to limitation under Section 382 of the Code. The NOLs expected to expire unutilized are included in the NOL carryforward amounts disclosed, subject to a valuation allowance.

The Company files income tax returns in the U.S. federal and various state jurisdictions. The Company is generally subject to U.S. federal and state income tax examination for all tax years beginning in 2008, due to the net operating losses that are carried forward.

A summary of changes in the Company’s gross unrecognized tax benefits for the years ended December 31, 2023 and 2022 was as follows (in thousands):

Year Ended December 31, 

2023

    

2022

Unrecognized tax expense, beginning of the year

$

105

$

105

Decrease related to prior year tax positions

(16)

Increase related to prior year tax positions

368

Increase related to current year tax positions

16

Unrecognized tax expense, end of year

$

473

$

105

Included in the balance of unrecognized tax benefits as of December 31, 2023, are $105,000 of tax benefit that, if recognized, would affect the effective tax rate. Included in the balance of uncertain tax benefits as of December 31, 2023 is $368,000 of tax benefits that, if recognized, would result in adjustments to deferred taxes.

The Company's policy is to recognize interest and penalties accrued on any unrecognized tax benefit as a component of income tax expense. The Company has accrued penalties and interest of $155,000, as of both December 31, 2023 and 2022.

XML 31 R20.htm IDEA: XBRL DOCUMENT v3.24.0.1
Net Income Per Common Share
12 Months Ended
Dec. 31, 2023
Net Income Per Common Share  
Net Income Per Common Share

13. Net Income Per Common Share

The following table sets forth the computation of basic and diluted net income per share (in thousands, except share and per share amounts):

Basic EPS

Year Ended December 31, 

    

    

2023

    

2022

Numerator:

 

 

  

 

  

Net income

$

9,052

$

6,129

Denominator:

 

  

 

  

Weighted-average shares of common stock outstanding, basic

 

20,748,302

 

20,130,336

Net income per common share, basic

$

0.44

$

0.30

Diluted EPS

Year Ended December 31, 

    

    

2023

    

2022

Numerator:

 

 

  

 

  

Net income

$

9,052

$

6,129

Less: warrant liability fair value gain recognized  

(25)

(23)

Net income attributable to common stockholders, diluted

$

9,027

$

6,106

Denominator:

 

  

 

  

Weighted-average shares of common stock outstanding, basic

 

20,748,302

 

20,130,336

Dilutive effect of stock options and RSUs

619,002

645,589

Weighted-average shares of common stock outstanding, diluted

 

21,367,304

 

20,775,925

Net income per common share, diluted

$

0.42

$

0.29

The following outstanding shares of potentially dilutive securities outstanding have been excluded from the computation of diluted net income per common share for the periods presented as their inclusion would be anti-dilutive:

Year Ended December 31, 

2023

    

2022

Options to purchase common stock

613,652

 

841,845

RSUs

330,082

4,147

Common stock warrants

18,461

 

18,461

ESPP

Total

962,195

 

864,453

XML 32 R21.htm IDEA: XBRL DOCUMENT v3.24.0.1
Summary of Significant Accounting Policies (Policies)
12 Months Ended
Dec. 31, 2023
Summary of Significant Accounting Policies  
Use of Estimates

Use of Estimates

The preparation of the financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities as of the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. On an ongoing basis, management evaluates its estimates, including those related to revenue recognition, fair value of assets and liabilities, inventory net realizable value, deferred tax assets and related valuation allowances, and stock-based compensation. The Company believes its estimates and assumptions are reasonable; however, actual results may differ from the Company’s estimates.

Segments

Segments

The Company’s chief operating decision maker is its Chief Executive Officer who reviews financial information for purposes of allocating resources and evaluating financial performance for the entire Company. As a result, the Company has single operating and reportable segment.

Cash and Cash Equivalents

Cash and Cash Equivalents

The Company considers all highly liquid, short-term investments with maturity dates of 90 days or less at the date of purchase to be cash equivalents. The Company’s cash equivalents consist solely of money market funds.

Accounts Receivable, Net

Accounts Receivable, Net

Accounts receivable are recorded at the invoiced amount and do not bear interest. The Company generally does not require collateral or other security in support of accounts receivable. Allowances would be provided for individual accounts receivable when the Company becomes aware of a customer’s inability to meet its financial obligations, such as in the case of bankruptcy, deterioration in the customer’s operating results or change in financial position. If circumstances related to customers change, estimates of the recoverability of receivables would be further adjusted. The Company also considers a number of factors in evaluating the sufficiency of its allowance for doubtful accounts, including the length of time receivables are past due, significant one-time events, creditworthiness of customers and historical experience. Account balances would be charged off against the allowance after all means of collection have been exhausted and the potential for recovery is considered remote. The Company’s evaluation determined that no material allowance for doubtful accounts was necessary at December 31, 2023 and 2022.

The unbilled accounts receivable is an estimate of consideration to which the Company expects to be entitled for uses of the Company’s intellectual property. Certain customers report on a lagged basis and actual information is not available timely. The estimates recorded are based on historical trends in the customer’s usage and current market conditions. At December 31, 2023 and 2022, the unbilled accounts receivable balance was $475,000 and $551,000, respectively.

The Company establishes an allowance for product returns. The Company analyzes historical returns, current economic trends and changes in customer demand and acceptance of products when evaluating the adequacy of sales returns. Returns are processed as credits on future purchases and, as a result, the allowance is recorded against the

balance of trade accounts receivable. In addition, the Company from time to time may establish an allowance for estimated price adjustments related to its distributor agreements. The Company estimates credits to distributors based on the historical rate of credits provided to distributors relative to sales and evaluation of current market conditions. At December 31, 2023 and 2022, the allowance for product returns and price adjustments was $410,000 and $384,000, respectively.

Accounts receivable, net consisted of the following (in thousands):

December 31, 

December 31,

2023

2022

Trade accounts receivable

$

11,489

$

10,498

Unbilled accounts receivable

475

551

Allowance for product returns and price adjustments

(410)

(384)

Accounts receivable, net

$

11,554

$

10,665

Concentration of Credit Risk

Concentration of Credit Risk

Financial instruments that potentially expose the Company to a concentration of credit risk consist principally of cash and cash equivalents that are held by a financial institution in the United States and accounts receivable. Amounts on deposit with a financial institution may at times exceed federally insured limits.

Significant customers are those which represent more than 10% of the Company’s total revenue or net accounts receivable balance at each respective balance sheet date. For the purposes of this disclosure, the Company defines “customer” as the entity that is purchasing the products or licenses directly from the Company, which includes the distributors of the Company’s products in addition to end customers that the Company sells to directly. For each significant customer, revenue as a percentage of total revenue and accounts receivable as a percentage of total accounts receivable, net are as follows:

Revenue

Accounts Receivable

 

Year Ended December 31, 

December 31, 

December 31,

 

Customers

2023

    

2022

    

    

2023

    

2022

 

Customer A

*

18

%

*

30

%

Customer B

15

%

15

%

13

%

18

%

Customer C

12

%

11

%

*

*

Customer D

11

%

*

22

%

*

Customer E

17

%

*

37

%

*

*

Less than 10%

Inventory

Inventory

Inventory is valued at the lower of cost, using the first-in, first-out or net realizable value. The carrying value of inventory is adjusted for excess and obsolescence based on the Company’s evaluation which takes into consideration historical and expected future demand, the effect new products may have on the sale of existing products, technological obsolescence, and other factors including inventory age and shipment. At the point of loss recognition, a new lower cost basis for that inventory is established and subsequent changes in facts and circumstances do not result in the restoration or increase in that new cost basis.

Fair Value of Financial Instruments

Fair Value of Financial Instruments

Fair value is defined as an exit price, representing the amount that would be received to sell an asset, or paid to transfer a liability, in an orderly transaction between market participants. The framework for measuring fair value provides a three-tier hierarchy prioritizing inputs to valuation techniques used in measuring fair value as follows:

Level 1— Observable inputs such as quoted prices for identical assets or liabilities in active markets;

Level 2— Inputs, other than quoted prices for identical assets or liabilities in active markets, which are observable either directly or indirectly; and

Level 3— Unobservable inputs in which there is little or no market data requiring the reporting entity to develop its own assumptions.

The carrying value of accounts receivable, accounts payable, and other accruals readily convertible into cash approximate fair value because of the short-term nature of the instruments. The Company’s financial instruments consist of Level 1 assets and a Level 3 liability. Where quoted prices are available in an active market, securities are classified as Level 1. Level 1 assets consist of highly liquid money market funds that are included in cash equivalents. The Company’s Level 3 liability consisted of warrants issued in connection with the 2019 Credit Facility (as defined in Note 6). These warrants were extinguished as of December 31, 2023. The change in the fair value of the warrant liability during the year ended December 31, 2023, was immaterial.

The following tables sets forth the fair value of the Company’s financial assets and liabilities measured at fair value on a recurring basis (in thousands):

December 31, 2023

    

Level 1

    

Level 2

    

Level 3

    

Total

Assets:

  

  

  

Money market funds

$

36,946

  

$

  

$

  

$

36,946

Total assets measured at fair value

$

36,946

  

$

  

$

  

$

36,946

December 31, 2022

    

Level 1

    

Level 2

    

Level 3

    

Total

Assets:

  

  

  

Money market funds

$

26,812

  

$

  

$

  

$

26,812

Total assets measured at fair value

$

26,812

  

$

  

$

  

$

26,812

Liabilities:

  

  

  

Warrant liability

$

  

$

  

$

27

  

$

27

Total liabilities measured at fair value

$

  

$

  

$

27

  

$

27

Property and Equipment

Property and Equipment

Property and equipment are stated at cost, less accumulated depreciation and amortization. Depreciation begins at the time the asset is placed in service. Maintenance and repairs are charged to operations as incurred. Depreciation is computed using the straight-line method over the following estimated useful lives of the assets:

Useful Lives

Computer and network equipment

2 years

Manufacturing equipment

2 – 7 years

Furniture and fixtures

7 years

Software

3 years

Leasehold improvements

Lesser of useful life of the asset or the remaining lease term

Costs incurred to develop software for internal use during the application development phase are capitalized and amortized over such software’s estimated useful life. Costs related to the design or maintenance of internal-use software are included in operating expenses as incurred. Upon sale or retirement of assets, the cost and related accumulated depreciation are removed from the balance sheet and any resulting gain or loss is reflected in operations. Amortization expense of assets acquired through finance leases is included in the statements of income and comprehensive income.

Impairment of Long-lived Assets

Impairment of Long-lived Assets

The Company evaluates its long-lived assets, including property and equipment, at the asset group level, for impairment whenever events or changes in circumstances indicate that the carrying value of these assets may not be

recoverable. If such events or changes in circumstances occur, for purposes of this assessment, long-lived assets are grouped with other assets and liabilities at the lowest level for which identifiable cash flows are largely independent of the cash flows of other assets and liabilities. Recoverability of these assets is measured by comparison of the carrying amount of each asset group to the future undiscounted cash flows the asset group is expected to generate over its remaining life. If the asset group is considered to be impaired, the amount of any impairment is measured as the difference between the carrying value and the fair value of the impaired asset. There have been no impairments of the Company’s long-lived assets during either of the periods presented.

Leases

Leases

The Company leases office, lab, manufacturing space and equipment in various locations with initial lease terms of up to seven years. These leases require monthly lease payments that may be subject to annual increases throughout the lease term. The terms of these leases also include renewal options at the election of the Company to renew or extend the lease for a range of an additional two to five years. These optional periods have not been considered in the determination of the right-of-use-assets (ROU) or lease liabilities associated with these leases as the Company did not consider it reasonably certain it would exercise the options.

The Company determines if an arrangement is a lease at inception. ROU assets represent the Company’s right to use an underlying asset for the lease term and lease liabilities represent the Company’s obligation to make lease payments arising from the lease. The classification of the Company’s leases as operating or finance leases along with the initial measurement and recognition of the associated ROU assets and lease liabilities is performed at the lease commencement date. The measurement of lease liabilities is based on the present value of future lease payments over the lease term. The Company uses its incremental borrowing rate, based on the information available at commencement date, to determine the present value of lease payments when its leases do not provide an implicit rate. The Company uses the implicit rate when readily determinable. The ROU asset is based on the measurement of the lease liability, includes any lease payments made prior to or on lease commencement and excludes lease incentives and initial direct costs incurred, as applicable. Lease expense for the Company’s operating leases is recognized on a straight-line basis over the lease term. Amortization expense for ROU assets associated with finance leases is recognized on a straight-line basis over the shorter of the useful life of the asset or the lease term and interest expense associated with finance leases is recognized on the balance of the lease liability using the effective interest method based on the estimated incremental borrowing rate.

The Company has lease agreements with lease and non-lease components. The Company has elected to not separate lease and non-lease components for any leases involving real estate and office equipment classes of assets and, as a result, accounts for the lease and non-lease components as a single lease component. The Company has elected to separate lease and non-lease components for any leases involving manufacturing facility classes of assets. Further, the Company elected the short-term lease exception policy, permitting it to not apply the recognition requirements of this standard to leases with terms of 12 months or less (short-term leases) for all classes of assets. As of December 31, 2023, the Company did not have any short-term leases.

Operating leases are included in right-of-use assets, lease liabilities, and lease liabilities, net of current portion in the Company’s balance sheet. Finance leases are immaterial.

Debt Issuance Costs

Debt Issuance Costs

The Company deferred and amortized issuance costs, underwriting fees, end of term payments, and related expenses incurred in connection with the issuance of debt instruments using the effective interest method over the terms of the respective instruments. Debt issuance costs were reflected as a direct reduction of the carrying amount of the related debt liability.

Government Tax Credits, Incentives and Grants

Government Tax Credits, Incentives and Grants

From time to time, the Company may receive government funding in the form of tax credits, operating-related grants, capital-related grants, or other incentives to support various business activities, including capital development, research and development, and other activities as defined by the relevant government agency awarding the tax credit, incentive, or grant. The amount received is typically based on the amount of qualifying costs incurred. The Company typically has to meet certain requirements to retain the government funding. The Company records operating-related

grants and non-income related tax credits as other income in the statements of income and comprehensive income when there is reasonable assurance that the grant will be received, and the Company will comply with the conditions specified in the grant agreement.

The Company received Employee Retention Tax Credit (“ERTC”) refunds from the United States Treasury totaling $2.0 million, relating to the payroll periods from October 1, 2020 through September 30, 2021. The amounts were received pursuant to provisions within the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”), the Taxpayer Certainty and Disaster Tax Relief Act of 2020 enacted as part of the Consolidated Appropriations Act, 2021 (“Relief Act”), the American Rescue Plan Act of 2021 (“ARPA”) which provide tax relief and other stimulus measures, including the ERTC. The ERTC program allows for employers to claim a refundable tax credit against a portion of the employer share of Social Security tax for qualified wages paid to employees from March 13, 2020 through September 30, 2021.

The Company recognized the $2.0 million tax credit within other income, net in the statements of income and comprehensive income in the second quarter of 2023, which is when the amount was received and it was determined that those amounts were reasonably assured to be retained by the Company. The Company’s compliance with the program’s qualifications may be subject to audit through the year ended December 31, 2025, which is when the statute of limitation expires. The Company has received all expected ERTC refunds based on applications that have been submitted.

Revenue Recognition

Revenue Recognition

The Company recognizes revenue when a customer obtains control of the promised products or services, in an amount that reflects the consideration the Company expects to receive in exchange for those products or services. Revenue is recognized net of allowances for returns and price adjustments, and any taxes imposed on specific revenue-producing transactions, which are subsequently remitted to governmental authorities.

Nature of Products and Services

The Company’s revenue is derived from the sale of MRAM-based products in discrete unit form, licenses of and royalties on its MRAM and magnetic sensor technology, the sale of backend foundry services and design services to third parties. Sales of products in discrete unit form are recognized at a point in time, revenue related to licensing agreements is recognized when the Company has delivered control of the technology, revenue related to royalty agreements is recognized in the period in which sales generated from products sold using the Company’s technology occurs, sales of backend foundry services are recognized over time, and design services to third parties are recognized either at a point in time or over time, depending on the nature of the services.

Product Revenue

For products sold in their discrete form, the Company either sells its products directly to OEMs, ODMs and CMs, or through a network of distributors, who in turn sell to those customers. For sales directly to OEMs, ODMs and CMs, revenue is recognized when the OEM, ODM or CM obtains control of the product, which occurs at a point in time, generally upon shipment to the customer. Contracts for sales of products are generally less than one year.

From time to time, the Company may provide distributors with price adjustments subsequent to the delivery of product to them and such amounts are dependent on the end customer and product sales price. Price adjustments can be based on a variety of factors, including customer, product, quantity, geography, and competitive differentiation. Price protection rights grant distributors the right to a credit in the event of declines in the price of the Company’s products. Under these circumstances, the Company remits back to the distributor a portion of their original purchase price after the resale transaction is completed in the form of a credit against the distributors’ outstanding accounts receivable balance. The credits are on a per unit basis and are not given to the distributor until the distributor provides information regarding the sale to their end customer. The Company estimates these credits and record such estimates in the same period the related revenue is recognized, resulting in a reduction of product revenue and the establishment of an allowance for price adjustments for amounts due to distributors. The Company estimates credits to distributors based on the historical rate of credits provided to distributors relative to sales and evaluation of current market conditions. Revenue on shipments to distributors is recorded when control of the products has been transferred to the distributor.

The Company estimates the amount of our product sales that may be returned by its customers and records this estimate as a reduction of revenue in the period the related product revenue is recognized. The Company estimates its product return liability by analyzing its historical returns, current economic trends and changes in customer demand and acceptance of products. The Company has received insignificant returns to date and believes that returns of its products will continue to not be material.

Upon the transfer of control, generally at shipment, the Company records a trade receivable for the selling price as there is a legally enforceable obligation of the distributor to pay for the product delivered, an allowance is recorded for the estimated discount that will be provided to the distributor, and the net of these amounts is recorded as revenue on the statements of income and comprehensive income.

License Revenue

For licenses of technology, recognition of revenue is dependent upon whether the Company has delivered rights to the technology, and whether there are future performance obligations under the contract. In some instances, the license agreements call for future events or activities to occur in order for milestones amounts to become due from the customer. The terms of such agreements include payment to the Company of one or more of the following: non-refundable upfront fees; and royalties on net sales of licensed products. Historically, these license agreements have not included other future performance obligations for the Company once the license has been transferred to the customer.

Revenue from non-refundable upfront payments is recognized when the license is transferred to the customer and the Company has no other performance obligations.

The Company entered into a contractual agreement with a customer in 2021 for the development of a RAD-Hard product, consisting of a technology license, a design license agreement and development contract, and separate contractual agreements with a customer in 2022 and 2023 for the development of a strategic radiation hardened field programmable gate array product, consisting of a technology license to provide design and development services under the contractual agreement. The Company applies a five-step approach in determining the amount and timing of revenue to be recognized: (1) identifying the contract with a customer; (2) identifying the performance obligations in the contract; (3) determining the transaction price; (4) allocating the transaction price to the performance obligations in the contract; and (5) recognizing revenue when the performance obligation is satisfied.

The Company concluded these contractual arrangements represent one arrangement and evaluated its promises to the customer and whether the performance obligations granted under the arrangement were distinct. The licenses provided to the customer are not transferable, are of limited value without the promised development services, and the customer cannot benefit from the license agreements without the specific obligated services in the development subcontract, as there is strong interdependency between the licenses and the development subcontract. Accordingly, the Company determined the licenses were not distinct within the context of the contract and combined the license with other performance obligations.

As a result, the Company is recognizing revenue related to the performance obligations over the duration of the contract using the input method based on costs incurred to date relative to the total expected costs of the contract over the contract period.

Patents

In an effort to monetize on its intellectual property, the Company may sell patents to customers. The performance obligations are satisfied at the point in time at which the customer obtains control of the patents.

Royalties

Revenue from sales-based royalties from licenses of the Company’s technology are recognized at the later of when (1) the sale occurs or (2) the performance obligation to which some or all of the sales-based royalty has been allocated is satisfied (in whole or in part). The Company will record an unbilled receivable (within accounts receivable, net) for the portion of sales-based royalties that have been earned, but not invoiced at the end of each reporting period.

Other Revenue

For certain revenue streams, the Company recognizes revenue based on the pattern of transfer of the services. The Company uses the input method of measuring costs incurred to date compared to total estimated costs to be incurred under the contract as this method most faithfully depicts its performance. The Company will record an unbilled receivable (within accounts receivable, net) for the portion of the work that has been completed but not invoiced at the end of each reporting period.

At the inception of each agreement that includes milestone payments, the Company evaluates whether the milestones are considered probable of being reached and estimates the amount to be included in the transaction price by using the most likely amount method. If it is probable that a significant reversal of cumulative revenue would not occur, the associated milestone value is included in the transaction price. At the end of each subsequent reporting period, the Company re-evaluates the probability or achievement of each such milestone and any related constraint, and if necessary, adjusts its estimate of the overall transaction price. Any such adjustments are recorded on a cumulative catch-up basis, which would affect revenues and earnings in the period of adjustment.

Product Warranty

Product Warranty

The Company generally sells products with a limited warranty of product quality and a limited indemnification of customers against intellectual property infringement claims related to the Company’s products. The Company accrues for known warranty and indemnification issues if a loss is probable and can be reasonably estimated and accrues for estimated losses incurred for unidentified issues based on historical experience. A warranty liability was not recorded at December 31, 2023 and 2022, as the estimated future warranty costs were not material based on the Company’s historical experience.

Research and Development

Research and Development

Research and development expenses are incurred in support of internal development programs or as part of the Company’s joint development agreement with GLOBALFOUNDRIES (see Note 10). Research and development expenses include personnel-related costs (including stock-based compensation), circuit design costs, purchases of materials and laboratory supplies, fabrication and packaging of experimental integrated circuit products, depreciation of research and development related capital equipment and overhead and are expensed as incurred.

Stock-based Compensation

Stock-based Compensation

Stock-based compensation arrangements include stock option grants and restricted stock unit (RSU) awards under the Company’s equity incentive plans, as well as shares issued under the Company’s Employee Stock Purchase Plan (ESPP), through which employees may purchase the Company’s common stock at a discount to the market price.

The Company uses RSUs with a service condition as its primary equity incentive compensation instrument for employees.  Share-based compensation expense for RSUs is measured on the grant date based on the fair market value of the Company’s common stock and is recognized over the requisite service period using the straight-line method. The Company accounts for forfeitures as they occur.

The Company measures its stock option grants based on the estimated fair value of the options as of the grant date using the Black-Scholes option-pricing model. Stock-based compensation expense for stock option grants is recognized over the requisite service period using the straight-line method. The Company accounts for forfeitures as they occur.

Expected volatility. The Company determines the expected stock price volatility based on the historical volatility of its common stock and the historical volatilities of a peer group. Industry peers consist of several public companies in the technology industry similar in size, stage of life cycle and financial leverage. If circumstances change such that the identified companies are no longer similar, the Company will revise its peer group to substitute more suitable companies in this calculation.

Risk-free interest rate. The risk-free interest rate is based on the U.S. Treasury yield with a maturity equal to the expected term of the option in effect at the time of grant.

Expected term. The expected term represents the period that the stock-based awards are expected to be outstanding. The Company used the simplified method to determine the expected term, which is calculated as the average of the time to vesting and the contractual life of the options.

Dividend yield. The Company has never paid dividends on its common stock and is prohibited from paying dividends on its common stock. Therefore, the Company used an expected dividend yield of zero.

Income Taxes

Income Taxes

The Company uses the liability method of accounting for income taxes. Under this method, deferred tax assets and liabilities are determined based on the differences between the financial reporting and the tax bases of assets and liabilities and are measured using the enacted tax rates and laws that will be in effect when the differences are expected to reverse. The Company must then assess the likelihood that the resulting deferred tax assets will be realized. A valuation allowance is provided when it is more likely than not that some portion or all of a deferred tax asset will not be realized.

The Company recognizes benefits of uncertain tax positions if it is more likely than not that such positions will be sustained upon examination based solely on their technical merits, as the largest amount of benefit that is more likely than not to be realized upon the ultimate settlement. The Company’s policy is to recognize interest and penalties related to the underpayment of income taxes as a component of income tax expense or benefit.

Net Income per Common Share

Net Income per Common Share

Basic net income per common share is calculated by dividing the net income by the weighted-average number of shares of common stock outstanding for the period less shares subject to repurchase, without consideration of potentially dilutive securities. Diluted earnings per share is calculated using the treasury stock method by dividing net income by the total weighted average shares of common stock outstanding in addition to the potential impact of dilutive securities including restricted stock units, warrants, and options. In periods with a net loss, diluted net loss per common share is the same as basic net loss per common share since the effect of potentially dilutive securities is anti-dilutive.

Recently Issued Pronouncements

Recently Issued Pronouncements

In June 2016, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) No. 2016-13, Financial Instruments-Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments, which amends the incurred loss impairment methodology in current GAAP with a methodology that reflects expected credit losses and requires consideration of a broader range of reasonable and supportable information to inform credit loss estimates. As the Company is a smaller reporting company, ASU 2016-13 is effective for the Company’s annual reporting periods, and interim periods within those years, beginning after December 15, 2022, and requires a cumulative effect adjustment to the balance sheet as of the beginning of the first reporting period in which the guidance is effective. In April 2019, the FASB issued ASU 2019-04, Codification Improvements Financial Instruments-Credit Losses (Topic 326). ASU 2019-04 provides narrow-scope amendments to help apply ASU 2016-13, and is effective with the adoption of ASU 2016-13. The Company adopted ASU 2016-13 and ASU 2019-04 on January 1, 2023, and it did not have a material impact on its financial statements.

In December 2023, the FASB issued ASU No. 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which is intended to improve an entity’s income tax disclosures, primarily through disaggregated information about an entity’s effective income tax rate reconciliation and additional disclosures regarding income taxes paid. ASU 2023-09 is effective for the Company’s annual reporting periods, and interim periods within those years, beginning after December 15, 2024, on a prospective basis. The Company is currently evaluating the impact that the standard will have on its financial statements.

The Company reviewed all other recently issued accounting pronouncements and concluded that they were either not applicable or not expected to have a significant impact to the financial statements.

Subsequent Events

Subsequent Events

The Company evaluated events after December 31, 2023, and through the date the financial statements were issued, and determined any events or transactions occurring during this period that would require recognition or disclosure are appropriately addressed in these financial statements.

XML 33 R22.htm IDEA: XBRL DOCUMENT v3.24.0.1
Summary of Significant Accounting Policies (Tables)
12 Months Ended
Dec. 31, 2023
Summary of Significant Accounting Policies  
Schedule of accounts receivable net

Accounts receivable, net consisted of the following (in thousands):

December 31, 

December 31,

2023

2022

Trade accounts receivable

$

11,489

$

10,498

Unbilled accounts receivable

475

551

Allowance for product returns and price adjustments

(410)

(384)

Accounts receivable, net

$

11,554

$

10,665

Schedule of revenue and accounts receivable for each significant customer

Revenue

Accounts Receivable

 

Year Ended December 31, 

December 31, 

December 31,

 

Customers

2023

    

2022

    

    

2023

    

2022

 

Customer A

*

18

%

*

30

%

Customer B

15

%

15

%

13

%

18

%

Customer C

12

%

11

%

*

*

Customer D

11

%

*

22

%

*

Customer E

17

%

*

37

%

*

*

Less than 10%

Schedule of fair value of financial assets and liabilities measured on recurring basis

The following tables sets forth the fair value of the Company’s financial assets and liabilities measured at fair value on a recurring basis (in thousands):

December 31, 2023

    

Level 1

    

Level 2

    

Level 3

    

Total

Assets:

  

  

  

Money market funds

$

36,946

  

$

  

$

  

$

36,946

Total assets measured at fair value

$

36,946

  

$

  

$

  

$

36,946

December 31, 2022

    

Level 1

    

Level 2

    

Level 3

    

Total

Assets:

  

  

  

Money market funds

$

26,812

  

$

  

$

  

$

26,812

Total assets measured at fair value

$

26,812

  

$

  

$

  

$

26,812

Liabilities:

  

  

  

Warrant liability

$

  

$

  

$

27

  

$

27

Total liabilities measured at fair value

$

  

$

  

$

27

  

$

27

Schedule of estimated useful lives of the assets

Useful Lives

Computer and network equipment

2 years

Manufacturing equipment

2 – 7 years

Furniture and fixtures

7 years

Software

3 years

Leasehold improvements

Lesser of useful life of the asset or the remaining lease term

XML 34 R23.htm IDEA: XBRL DOCUMENT v3.24.0.1
Revenue (Tables)
12 Months Ended
Dec. 31, 2023
Revenue.  
Schedule of disaggregation of revenue The following table presents the Company’s revenues disaggregated by sales channel (in thousands):

Year Ended December 31, 

    

2023

    

2022

Distributor

$

49,845

$

50,943

Non-distributor

13,920

9,042

Total revenue

$

63,765

$

59,985

The following table presents the Company’s revenues disaggregated by timing of recognition (in thousands):

Year Ended December 31, 

    

2023

    

2022

Point in time

$

54,183

$

56,675

Over time

9,582

3,310

Total revenue

$

63,765

$

59,985

The following table presents the Company’s revenues disaggregated by type (in thousands):

Year Ended December 31, 

    

2023

    

2022

Product sales

$

53,123

$

55,032

Licensing

7,476

1,937

Royalties

862

1,414

Other revenue

2,304

1,602

Total revenue

$

63,765

$

59,985

Our revenue by region for the periods indicated was as follows (in thousands):

Year Ended December 31, 

    

2023

    

2022

APAC

$

33,096

$

35,631

North America

15,922

14,533

EMEA

14,747

9,821

Total revenue

$

63,765

$

59,985

XML 35 R24.htm IDEA: XBRL DOCUMENT v3.24.0.1
Balance Sheet Components (Tables)
12 Months Ended
Dec. 31, 2023
Balance Sheet Components  
Schedule of Inventory

Inventory consisted of the following (in thousands):

December 31, 

December 31, 

    

2023

    

2022

Raw materials

$

189

$

666

Work-in-process

 

6,724

 

4,746

Finished goods

 

1,478

 

1,271

Total inventory

$

8,391

$

6,683

Schedule of property and equipment, net

Property and equipment, net consisted of the following (in thousands):

December 31, 

December 31, 

    

2023

    

2022

Manufacturing equipment

$

13,494

$

16,130

Computer and network equipment

520

1,124

Furniture and fixtures

113

187

Software

825

929

Leasehold improvements

1,476

1,444

Total property and equipment, gross

16,428

19,814

Less: accumulated depreciation

(12,711)

(15,931)

Total property and equipment, net

$

3,717

$

3,883

Schedule of accrued liabilities

Accrued liabilities consisted of the following (in thousands):

December 31, 

December 31,

    

2023

    

2022

Payroll-related expenses

$

3,347

$

2,886

Inventory

317

185

Other

 

672

 

462

Total accrued liabilities

$

4,336

$

3,533

XML 36 R25.htm IDEA: XBRL DOCUMENT v3.24.0.1
Commitments and Contingencies (Tables)
12 Months Ended
Dec. 31, 2023
Commitments and Contingencies  
Schedule of Undiscounted future non-cancellable lease payments

The undiscounted future non-cancellable lease payments under the Company’s operating and finance leases were as follows (in thousands):

As of December 31, 2023

    

Amount

2024

$

1,411

2025

1,416

2026

1,431

2027

1,314

2028

529

Thereafter

38

Total lease payments

6,139

Less: imputed interest

(559)

Total lease liabilities

5,580

Less: current portion of lease liabilities

(1,190)

Total lease liabilities, net of current portion

$

4,390

Schedule of supplemental information

December 31, 

December 31,

    

2023

    

2022

Weighted-average remaining lease term (years)

    

4.37

5.35

    

Weighted-average discount rate

4.50

%

4.50

%

December 31, 

December 31,

    

2023

    

2022

Weighted-average remaining lease term (years)

    

1.09

2.09

    

Weighted-average discount rate

4.50

%

4.50

%

XML 37 R26.htm IDEA: XBRL DOCUMENT v3.24.0.1
Debt (Tables)
12 Months Ended
Dec. 31, 2023
Debt  
Summary of debt

The carrying value of the Company’s 2019 Credit Facility at December 31, 2022, was as follows (in thousands):

    

Current

    

Long-Term

    

Portion

Debt

Total

Credit Facility

$

2,620

$

$

2,620

Unamortized debt discounts

(26)

 

 

(26)

Net carrying value

$

2,594

$

$

2,594

XML 38 R27.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stockholders' Equity (Tables)
12 Months Ended
Dec. 31, 2023
Stockholders' Equity  
Summary of common stock reserved for future issuance

December 31, 

December 31, 

2023

2022

Options issued and outstanding

 

1,793,485

 

1,994,726

Shares available for future option grants

 

598,397

 

689,472

RSUs subject to future vesting

905,781

656,646

Common stock warrants

 

18,461

 

18,461

Total

 

3,316,124

 

3,359,305

XML 39 R28.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stock-Based Compensation (Tables)
12 Months Ended
Dec. 31, 2023
Summary of stock option activity

Options Outstanding

Weighted-

Weighted-

Options and

Average

Average

Aggregate

Awards

Exercise

Remaining

Intrinsic

Available for

Number of

Price Per

Contractual

Value

Grant

    

Options

    

Share

    

Life (years)

    

(In thousands)

Balance—December 31, 2022

 

689,472

1,994,726

$

5.88

7.8

$

1,275

Authorized

 

611,228

RSUs granted

(713,301)

RSUs cancelled/forfeited

7,057

Warrants exercised

(236)

Options granted

(8,000)

8,000

$

6.47

Options exercised

 

(161,121)

$

4.99

$

679

Options cancelled/forfeited

 

12,177

(12,177)

$

6.48

Balance—December 31, 2023

 

598,397

 

1,829,428

$

5.96

6.9

$

5,676

Options exercisable—December 31, 2023

 

 

1,296,776

$

5.67

6.5

$

4,411

Schedule of restricted stock unit activity

RSUs Outstanding

    

Weighted-

    

Average

Number of

    

Grant Date

Restricted Stock

    

Fair Value Per

    

Units

    

Share

Balance—December 31, 2022

656,646

$

6.45

Granted

 

713,301

$

6.52

Vested

(457,109)

$

6.29

Cancelled/forfeited

(7,057)

$

6.32

Balance—December 31, 2023

 

905,781

    

$

6.59

Employee  
Schedule of fair value assumptions

Year Ended

December 31, 

 

2023

    

2022

 

Expected volatility

50.9 - 73.9

%  

73.7 - 74.1

%

Risk-free interest rate

2.33 - 3.45

%  

2.13 - 2.93

%

Expected term (in years)

6.01 - 6.05

 

6.05 - 6.08

Dividend yield

%  

%

XML 40 R29.htm IDEA: XBRL DOCUMENT v3.24.0.1
Geographic Information (Tables)
12 Months Ended
Dec. 31, 2023
Geographic Information  
Schedule of property and equipment by country

Property and equipment, net by country was as follows (in thousands):

December 31, 

2023

    

2022

United States

$

2,555

$

2,335

Singapore

1,077

1,459

Other

85

89

$

3,717

$

3,883

Schedule of revenue by country Revenue by country was as follows (in thousands):

Year Ended December 31, 

2023

    

2022

United States

$

14,599

$

14,585

Japan

12,216

12,442

Hong Kong

10,748

12,820

Germany

9,767

3,839

Singapore

4,285

1,075

China

2,727

3,739

Canada

1,324

5,670

All other

8,099

5,815

Total revenue

$

63,765

$

59,985

XML 41 R30.htm IDEA: XBRL DOCUMENT v3.24.0.1
Income Taxes (Tables)
12 Months Ended
Dec. 31, 2023
Income Taxes  
Schedule of components of income taxes

For the years ended December 31, 2023 and 2022, the Company’s provision for income tax consisted of (in thousands):

Year Ended December 31, 

2023

    

2022

Current:

Federal

$

$

State

134

14

Foreign

Total Current

$

134

$

14

Deferred:

Federal

$

40

$

State

(190)

Foreign

Total Deferred

$

(150)

$

Provision for income taxes

$

(16)

$

14

Schedule of reconciliation of statutory federal income tax rate

Year Ended December 31, 

    

2023

    

2022

    

Tax at statutory federal rate

21.0

%  

21.0

%  

State taxes, net of federal benefit

1.7

1.9

Stock-based compensation

0.6

4.2

IRC section 162(m) limitation

3.9

1.1

Change in valuation allowance

(28.5)

(28.0)

Other

1.1

Provision for income taxes

(0.2)

%  

0.2

%  

Schedule of tax effects of temporary differences and carryforwards

The tax effects of temporary differences and carryforwards that give rise to significant portions of the deferred tax assets are as follows (in thousands):

December 31, 

    

2023

    

2022

Deferred tax assets:

Net operating loss carryforwards

$

22,068

$

27,110

Inventory

287

273

Accruals

863

737

Depreciation and amortization

13

27

Research and experimental expenditures

4,728

2,229

Stock-based compensation

268

270

Right of use liability

1,245

1,477

Gross deferred tax assets

29,472

32,123

Valuation allowance

(27,748)

(30,328)

Deferred tax assets

1,724

1,795

Deferred tax liabilities:

Right of use asset

(1,226)

(1,463)

Other

(348)

(332)

Deferred tax liabilities

(1,574)

(1,795)

Net deferred tax assets

$

150

$

Schedule of changes in the Company's gross unrecognized tax benefits

A summary of changes in the Company’s gross unrecognized tax benefits for the years ended December 31, 2023 and 2022 was as follows (in thousands):

Year Ended December 31, 

2023

    

2022

Unrecognized tax expense, beginning of the year

$

105

$

105

Decrease related to prior year tax positions

(16)

Increase related to prior year tax positions

368

Increase related to current year tax positions

16

Unrecognized tax expense, end of year

$

473

$

105

XML 42 R31.htm IDEA: XBRL DOCUMENT v3.24.0.1
Net Income Per Common Share (Tables)
12 Months Ended
Dec. 31, 2023
Net Income Per Common Share  
Computation of basic and diluted net income (loss) per share

The following table sets forth the computation of basic and diluted net income per share (in thousands, except share and per share amounts):

Basic EPS

Year Ended December 31, 

    

    

2023

    

2022

Numerator:

 

 

  

 

  

Net income

$

9,052

$

6,129

Denominator:

 

  

 

  

Weighted-average shares of common stock outstanding, basic

 

20,748,302

 

20,130,336

Net income per common share, basic

$

0.44

$

0.30

Diluted EPS

Year Ended December 31, 

    

    

2023

    

2022

Numerator:

 

 

  

 

  

Net income

$

9,052

$

6,129

Less: warrant liability fair value gain recognized  

(25)

(23)

Net income attributable to common stockholders, diluted

$

9,027

$

6,106

Denominator:

 

  

 

  

Weighted-average shares of common stock outstanding, basic

 

20,748,302

 

20,130,336

Dilutive effect of stock options and RSUs

619,002

645,589

Weighted-average shares of common stock outstanding, diluted

 

21,367,304

 

20,775,925

Net income per common share, diluted

$

0.42

$

0.29

Schedule of potentially dilutive securities excluded from diluted net loss per common share

Year Ended December 31, 

2023

    

2022

Options to purchase common stock

613,652

 

841,845

RSUs

330,082

4,147

Common stock warrants

18,461

 

18,461

ESPP

Total

962,195

 

864,453

XML 43 R32.htm IDEA: XBRL DOCUMENT v3.24.0.1
Summary of Significant Accounting Policies - Accounts Receivable (Details) - USD ($)
Dec. 31, 2023
Dec. 31, 2022
Accounts receivable    
Trade accounts receivable $ 11,489,000 $ 10,498,000
Unbilled accounts receivable 475,000 551,000
Allowance for product returns and price adjustments (410,000) (384,000)
Accounts receivable, net $ 11,554,000 $ 10,665,000
XML 44 R33.htm IDEA: XBRL DOCUMENT v3.24.0.1
Summary of Significant Accounting Policies - Schedule of Revenue and Accounts Receivable for Each Significant Customer (Details) - Customer Concentration Risk
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Revenue | Customer A    
Concentration risk    
Concentration risk percentage   18.00%
Revenue | Customer A | Maximum [Member]    
Concentration risk    
Concentration risk percentage 10.00%  
Revenue | Customer B    
Concentration risk    
Concentration risk percentage 15.00% 15.00%
Revenue | Customer C    
Concentration risk    
Concentration risk percentage 12.00% 11.00%
Revenue | Customer D    
Concentration risk    
Concentration risk percentage 11.00%  
Revenue | Customer D | Maximum [Member]    
Concentration risk    
Concentration risk percentage   10.00%
Revenue | Customer E    
Concentration risk    
Concentration risk percentage 17.00%  
Revenue | Customer E | Maximum [Member]    
Concentration risk    
Concentration risk percentage   10.00%
Accounts Receivable, net | Customer A    
Concentration risk    
Concentration risk percentage   30.00%
Accounts Receivable, net | Customer A | Maximum [Member]    
Concentration risk    
Concentration risk percentage 10.00%  
Accounts Receivable, net | Customer B    
Concentration risk    
Concentration risk percentage 13.00% 18.00%
Accounts Receivable, net | Customer C | Maximum [Member]    
Concentration risk    
Concentration risk percentage 10.00% 10.00%
Accounts Receivable, net | Customer D    
Concentration risk    
Concentration risk percentage 22.00%  
Accounts Receivable, net | Customer D | Maximum [Member]    
Concentration risk    
Concentration risk percentage   10.00%
Accounts Receivable, net | Customer E    
Concentration risk    
Concentration risk percentage 37.00%  
Accounts Receivable, net | Customer E | Maximum [Member]    
Concentration risk    
Concentration risk percentage   10.00%
XML 45 R34.htm IDEA: XBRL DOCUMENT v3.24.0.1
Summary of Significant Accounting Policies - Schedule of Fair Value of Financial Assets and Liabilities Measured on Recurring Basis (Details) - Recurring - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Fair Value    
Total assets measured at fair value $ 36,946 $ 26,812
Warrant liability   27
Total liabilities measured at fair value   27
Level 1    
Fair Value    
Total assets measured at fair value 36,946 26,812
Level 3    
Fair Value    
Warrant liability   27
Total liabilities measured at fair value   27
Money Market Funds    
Fair Value    
Money market funds 36,946 26,812
Money Market Funds | Level 1    
Fair Value    
Money market funds $ 36,946 $ 26,812
XML 46 R35.htm IDEA: XBRL DOCUMENT v3.24.0.1
Summary of Significant Accounting Policies - Property and Equipment (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Impairment of Long-lived Assets    
Impairment of long-lived assets $ 0 $ 0
Computer and network equipment    
Property and Equipment, Net    
Useful Lives 2 years  
Manufacturing equipment | Minimum [Member]    
Property and Equipment, Net    
Useful Lives 2 years  
Manufacturing equipment | Maximum [Member]    
Property and Equipment, Net    
Useful Lives 7 years  
Furniture and fixtures    
Property and Equipment, Net    
Useful Lives 7 years  
Software    
Property and Equipment, Net    
Useful Lives 3 years  
XML 47 R36.htm IDEA: XBRL DOCUMENT v3.24.0.1
Summary of Significant Accounting Policies - Schedule of Employee Retention Tax Credit (Details)
$ in Millions
3 Months Ended
Jun. 30, 2023
USD ($)
Summary of Significant Accounting Policies  
Proceeds from employee retention tax credit refunds $ 2.0
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.24.0.1
Summary of Significant Accounting Policies - Leases (Details)
12 Months Ended
Dec. 31, 2023
Leases  
Operating lease - existence of option to extend true
Finance lease - existence of option to extend true
Minimum [Member]  
Leases  
Finance lease renewal term (in years) 2 years
Operating lease renewal term (in years) 2 years
Maximum [Member]  
Leases  
Operating term of lease (in years) 7 years
Finance term of lease (in years) 7 years
Finance lease renewal term (in years) 5 years
Operating lease renewal term (in years) 5 years
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.24.0.1
Revenue - Disaggregated by Sales Channel (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Disaggregation of Revenue    
Revenue $ 63,765 $ 59,985
Distributor    
Disaggregation of Revenue    
Revenue 49,845 50,943
Non-distributor    
Disaggregation of Revenue    
Revenue $ 13,920 $ 9,042
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.24.0.1
Revenue - Disaggregated by Timing of Recognition (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Disaggregation of Revenue    
Revenue $ 63,765 $ 59,985
Point in time    
Disaggregation of Revenue    
Revenue 54,183 56,675
Over time    
Disaggregation of Revenue    
Revenue $ 9,582 $ 3,310
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.24.0.1
Revenue - Disaggregated by Type (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Disaggregation of Revenue    
Revenue $ 63,765 $ 59,985
Product sales    
Disaggregation of Revenue    
Revenue 53,123 55,032
Licensing    
Disaggregation of Revenue    
Revenue 7,476 1,937
Royalties    
Disaggregation of Revenue    
Revenue 862 1,414
Revenue recognized in current year due to a change in estimate 100 300
Other revenue    
Disaggregation of Revenue    
Revenue $ 2,304 $ 1,602
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.24.0.1
Revenue - Disaggregated by Geographic Region (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Disaggregation of Revenue    
Revenue $ 63,765 $ 59,985
APAC    
Disaggregation of Revenue    
Revenue 33,096 35,631
North America    
Disaggregation of Revenue    
Revenue 15,922 14,533
EMEA    
Disaggregation of Revenue    
Revenue $ 14,747 $ 9,821
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.24.0.1
Balance Sheet Components - Schedule of Inventory (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Inventory    
Raw materials $ 189 $ 666
Work-in-process 6,724 4,746
Finished goods 1,478 1,271
Total inventory $ 8,391 $ 6,683
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.24.0.1
Balance Sheet Components - Property and Equipment Net (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Property and Equipment, Net    
Total property and equipment, gross $ 16,428 $ 19,814
Less: accumulated depreciation (12,711) (15,931)
Total property and equipment, net 3,717 3,883
Depreciation and amortization expense 1,200 1,000
Manufacturing equipment    
Property and Equipment, Net    
Total property and equipment, gross 13,494 16,130
Computer and network equipment    
Property and Equipment, Net    
Total property and equipment, gross 520 1,124
Furniture and fixtures    
Property and Equipment, Net    
Total property and equipment, gross 113 187
Software    
Property and Equipment, Net    
Total property and equipment, gross 825 929
Leasehold improvements    
Property and Equipment, Net    
Total property and equipment, gross $ 1,476 $ 1,444
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.24.0.1
Balance Sheet Components - Schedule of Accrued Liabilities (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Accrued liabilities    
Payroll-related expenses $ 3,347 $ 2,886
Inventory 317 185
Other 672 462
Total accrued liabilities $ 4,336 $ 3,533
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.24.0.1
Balance Sheet Components - Deferred Revenue (Details) - USD ($)
$ in Thousands
12 Months Ended 24 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2023
Deferred Revenue      
Revenue $ 63,765 $ 59,985  
Deferred licensing revenue 336 821 $ 336
RAD Hard product 1 agreement      
Deferred Revenue      
Total amount of consideration to be received   6,500  
Amount billed for the performance under contractual agreements     6,000
Revenue 700   5,700
Deferred licensing revenue 300 $ 800 300
Revenue expected to be recognized $ 800   $ 800
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.24.0.1
Commitments and Contingencies (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Other lease information    
2024 $ 1,411  
2025 1,416  
2026 1,431  
2027 1,314  
2028 529  
Thereafter 38  
Total lease payments 6,139  
Less: imputed interest (559)  
Total lease liabilities 5,580  
Less: current portion of lease liabilities (1,190) $ (1,122)
Total lease liabilities, net of current portion $ 4,390 $ 5,580
Operating lease weighted-average remaining lease term (years) 4 years 4 months 13 days 5 years 4 months 6 days
Operating lease weighted-average discount rate 4.50% 4.50%
Finance lease weighted-average remaining lease term (years) 1 year 1 month 2 days 2 years 1 month 2 days
Finance lease weighted-average discount rate 4.50% 4.50%
Operating lease costs $ 1,400 $ 1,400
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.24.0.1
Debt - Carrying Value (Details) - USD ($)
$ in Thousands
1 Months Ended
Mar. 31, 2023
Dec. 31, 2023
Dec. 31, 2022
Debt      
Net carrying value of debt, Current Portion     $ 2,594
2019 Credit Facility      
Debt      
Outstanding balance   $ 0  
Prepayment fee $ 170    
Debt, Current Portion     2,620
Less: Debt issuance costs, Current Portion     (26)
Net carrying value of debt, Current Portion     2,594
Principal amount     2,620
Less: Discount attributable to warrants, end of term fee and debt issuance costs, Total     (26)
Net carrying value of debt, Total     $ 2,594
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stockholders' Equity - (Details) - $ / shares
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Common stock reserved    
Dividends on common stock $ 0  
Reserved shares of common stock for future issuance 3,316,124 3,359,305
Common stock warrants    
Common stock reserved    
Reserved shares of common stock for future issuance 18,461 18,461
Options Issued and Outstanding [Member]    
Common stock reserved    
Reserved shares of common stock for future issuance 1,793,485 1,994,726
Shares Available for Future Option Grants [Member]    
Common stock reserved    
Reserved shares of common stock for future issuance 598,397 689,472
RSUs subject to future vesting    
Common stock reserved    
Reserved shares of common stock for future issuance 905,781 656,646
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stockholders' Equity - Warrants (Details) - Warrants to Purchase Series B Redeemable Convertible Preferred Stock [Member] - 2015 Credit Facility [Member]
Jun. 30, 2015
$ / shares
shares
Warrants  
Number of shares the warrant can be converted to | shares 18,461
Warrant exercise price | $ / shares $ 26.00
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stock-Based Compensation - Summary of Options and Awards Activity (Details) - USD ($)
$ / shares in Units, $ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Stock-based compensation    
Options and Awards Available for Grant, Outstanding, Beginning balance 689,472  
Options and Awards Available for Grant, Options authorized 611,228  
Options and Awards Available for Grant, RSUs granted (713,301)  
Options Available for Grant, RSUs cancelled/forfeited 7,057  
Warrants exercised (236)  
Options and Awards Available for Grant, Options granted (8,000)  
Options and Awards Available for Grant, Options cancelled/forfeited 12,177  
Options and Awards Available for Grant, Outstanding, Ending balance 598,397 689,472
Number of Options, Outstanding, Beginning balance 1,994,726  
Number of Options, Options granted 8,000  
Number of Options, Options exercised (161,121)  
Number of Options, Options cancelled/forfeited (12,177)  
Number of Options, Outstanding, Ending balance 1,829,428 1,994,726
Number of Options, exercisable 1,296,776  
Weighted - Average Exercise Price Per Share, Options outstanding, Beginning balance $ 5.88  
Weighted - Average Exercise Price Per Share, Options granted 6.47  
Weighted - Average Exercise Price Per Share, Options exercised 4.99  
Weighted - Average Exercise Price Per Share, Options cancelled/forfeited 6.48  
Weighted - Average Exercise Price Per Share, Options outstanding, Ending balance 5.96 $ 5.88
Weighted - Average Exercise Price Per Share, Options exercisable $ 5.67  
Weighted - Average Remaining Contractual Life, Options outstanding 6 years 10 months 24 days 7 years 9 months 18 days
Weighted - Average Remaining Contractual Life, Options exercisable 6 years 6 months  
Aggregate Intrinsic Value, Options outstanding $ 5,676 $ 1,275
Aggregate Intrinsic Value, Options exercised 679  
Aggregate Intrinsic Value, Options exercisable $ 4,411  
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stock-Based Compensation - Additional Information (Details) - USD ($)
12 Months Ended
May 20, 2021
Oct. 07, 2016
Dec. 31, 2023
Dec. 31, 2022
Share-based Compensation        
Total grant date fair value of options vested     $ 2,000,000.0 $ 1,300,000
Weighted-average grant date fair value of options granted     $ 3.85 $ 5.40
Shares available for future issuance (in shares)     598,397 689,472
Issuance of common stock under stock incentive plans and exercise of stock options     $ 1,198,000 $ 889,000
Number of Options, Options granted     8,000  
Options remained outstanding     1,829,428 1,994,726
Employee Stock Option        
Share-based Compensation        
Unrecognized stock-based compensation expense     $ 2,300,000  
Unrecognized compensation expense, weighted-average period expected to be recognized     1 year 8 months 12 days  
2016 Employee Incentive Plan        
Share-based Compensation        
Maximum number of common stock shares may be issued under the plan   500,000    
Annual increases in the number of shares available for issuance, percentage of outstanding capital stock   3.00%    
Increase in number of shares reserved for issuance (in shares) 550,000      
Shares available for future issuance (in shares)     598,397  
Number of shares reserved and available for future issuance     3,297,663  
2008 Equity Incentive Plan        
Share-based Compensation        
Number of Options, Options granted     0  
Options remained outstanding     35,943  
ESPP        
Share-based Compensation        
Shares available for future issuance (in shares)     890,161  
Number of shares issued (in shares)     87,718 77,221
Issuance of common stock under stock incentive plans and exercise of stock options     $ 394,000 $ 342,000
Issuance of common stock under stock incentive plans and exercise of stock options (in shares)     87,718 77,221
XML 63 R52.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stock-Based Compensation - Schedule of Fair Value of Employee Stock Options (Details) - Employee - Employee Stock Option [Member]
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Share-based Compensation    
Expected volatility, Minimum 50.90% 73.70%
Expected volatility, Maximum 73.90% 74.10%
Risk-free interest rate, Minimum 2.33% 2.13%
Risk-free interest rate, Maximum 3.45% 2.93%
Minimum [Member]    
Share-based Compensation    
Expected term (in years) 6 years 3 days 6 years 18 days
Maximum [Member]    
Share-based Compensation    
Expected term (in years) 6 years 18 days 6 years 29 days
XML 64 R53.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stock-Based Compensation - Restricted Stock Units (Details) - RSUs
$ / shares in Units, $ in Millions
12 Months Ended
Dec. 31, 2023
USD ($)
$ / shares
shares
Number of Restricted Stock Units  
Balance, beginning of period | shares 656,646
Granted | shares 713,301
Vested | shares (457,109)
Cancelled/forfeited | shares (7,057)
Balance, end of period | shares 905,781
Weighted Average Exercise Price Per Share  
Balance, beginning of period (price per share) | $ / shares $ 6.45
Granted (price per share) | $ / shares 6.52
Vested (price per share) | $ / shares 6.29
Cancelled/forfeited (price per share) | $ / shares 6.32
Balance, end of period (price per share) | $ / shares $ 6.59
2016 Employee Incentive Plan  
Weighted Average Exercise Price Per Share  
Unrecognized stock-based compensation expense | $ $ 4.6
Unrecognized compensation expense, weighted-average period expected to be recognized 1 year 9 months 18 days
XML 65 R54.htm IDEA: XBRL DOCUMENT v3.24.0.1
Significant Agreements (Details) - Joint Development Agreement - GlobalFoundries, Inc.
Oct. 17, 2014
Joint development agreement  
Period of possession of exclusive right to manufacture after qualification of device 3 years
Period of possession of exclusive right to manufacture after completion of device development work 4 years
XML 66 R55.htm IDEA: XBRL DOCUMENT v3.24.0.1
Geographic Information (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Geographic Information    
Property and equipment, net $ 3,717 $ 3,883
Revenue 63,765 59,985
United States    
Geographic Information    
Property and equipment, net 2,555 2,335
Revenue 14,599 14,585
Japan    
Geographic Information    
Revenue 12,216 12,442
Hong Kong    
Geographic Information    
Revenue 10,748 12,820
Germany    
Geographic Information    
Revenue 9,767 3,839
Singapore    
Geographic Information    
Property and equipment, net 1,077 1,459
Revenue 4,285 1,075
China    
Geographic Information    
Revenue 2,727 3,739
Canada    
Geographic Information    
Revenue 1,324 5,670
All other    
Geographic Information    
Property and equipment, net 85 89
Revenue $ 8,099 $ 5,815
XML 67 R56.htm IDEA: XBRL DOCUMENT v3.24.0.1
Income Taxes - Components of Income Tax Expense (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Current    
State $ 134 $ 14
Total Current 134 14
Deferred    
Federal 40  
State (190)  
Total Deferred (150)  
Provision for income taxes $ (16) $ 14
XML 68 R57.htm IDEA: XBRL DOCUMENT v3.24.0.1
Income Taxes - Reconciliation Effective Tax Rate (Details)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Reconciliation of statutory federal income tax    
Tax at statutory federal rate 21.00% 21.00%
State taxes, net of federal benefit 1.70% 1.90%
Stock-based compensation 0.60% 4.20%
IRC section 162(m) limitation 3.90% 1.10%
Change in valuation allowance (28.50%) (28.00%)
Other 1.10%  
Provision for income taxes (0.20%) 0.20%
XML 69 R58.htm IDEA: XBRL DOCUMENT v3.24.0.1
Income Taxes - Deferred tax assets (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2023
Deferred tax assets:    
Net operating loss carryforwards $ 27,110 $ 22,068
Inventory 273 287
Accruals 737 863
Depreciation and amortization 27 13
Research and experimental expenditures 2,229 4,728
Stock-based compensation 270 268
Right of use liability 1,477 1,245
Gross deferred tax assets 32,123 29,472
Valuation allowance (30,328) (27,748)
Deferred tax assets 1,795 1,724
Deferred tax liabilities:    
Right of use asset (1,463) (1,226)
Other (332) (348)
Deferred tax liabilities (1,795) (1,574)
Net deferred tax assets   $ 150
(Decrease) increase in valuation allowance $ (2,600)  
XML 70 R59.htm IDEA: XBRL DOCUMENT v3.24.0.1
Income Taxes - Net operating loss carryforwards and Tax Act (Details)
$ in Millions
Dec. 31, 2023
USD ($)
Federal  
Net operating loss carryforwards  
Net operating loss carryforwards $ 96.2
Net operating loss carryforwards, which will expire if not utilized 55.8
Net operating loss carryforwards, which will carryover indefinitely 40.5
Net operating loss carryforwards, subject to expiration per IRC Section 382 43.8
Net operating loss carryforwards (tax effected), subject to expiration per IRC Section 382 9.2
State  
Net operating loss carryforwards  
Net operating loss carryforwards 48.7
Net operating loss carryforwards, which will expire if not utilized 45.9
Net operating loss carryforwards, which will carryover indefinitely $ 2.8
XML 71 R60.htm IDEA: XBRL DOCUMENT v3.24.0.1
Income Taxes - Unrecognized Tax Expense (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Unrecognized tax expense rollforward    
Unrecognized tax expense, beginning of the year $ 105,000 $ 105,000
Decrease related to prior year tax positions (16,000)
Increase related to prior year tax positions 368,000  
Increase related to current year tax positions 16,000
Unrecognized tax expense, end of year 473,000 105,000
Interest and penalties on unrecognized tax benefit 155,000 $ 155,000
Unrecognized tax benefits that would impact effective tax rate 105,000  
Amount of unrecognized tax benefits that, if recognized, would affect deferred taxes $ 368,000  
XML 72 R61.htm IDEA: XBRL DOCUMENT v3.24.0.1
Net Income Per Common Share (Details) - USD ($)
$ / shares in Units, $ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Numerator:    
Net income $ 9,052 $ 6,129
Basic EPS    
Weighted average shares of common stock outstanding, basic 20,748,302 20,130,336
Net income per common share, Basic $ 0.44 $ 0.30
Diluted EPS    
Net income $ 9,052 $ 6,129
Less: warrant liability fair value loss (gain) recognized (25) (23)
Net income attributable to common stockholders, diluted $ 9,027 $ 6,106
Weighted average shares of common stock outstanding, basic 20,748,302 20,130,336
Dilutive effect of stock options and RSUs 619,002 645,589
Weighted-average shares of common stock outstanding, diluted 21,367,304 20,775,925
Net income per common share, Diluted $ 0.42 $ 0.29
XML 73 R62.htm IDEA: XBRL DOCUMENT v3.24.0.1
Net Income Per Common Share - Potentially Dilutive Securities (Details) - shares
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Antidilutive Securities    
Potentially dilutive securities excluded from diluted net loss per common share 962,195 864,453
Employee Stock Option    
Antidilutive Securities    
Potentially dilutive securities excluded from diluted net loss per common share 613,652 841,845
RSUs    
Antidilutive Securities    
Potentially dilutive securities excluded from diluted net loss per common share 330,082 4,147
Common stock warrants    
Antidilutive Securities    
Potentially dilutive securities excluded from diluted net loss per common share 18,461 18,461
XML 74 R63.htm IDEA: XBRL DOCUMENT v3.24.0.1
Pay vs Performance Disclosure - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Pay vs Performance Disclosure    
Net Income (Loss) $ 9,052 $ 6,129
XML 75 R64.htm IDEA: XBRL DOCUMENT v3.24.0.1
Insider Trading Arrangements
3 Months Ended
Dec. 31, 2023
Trading Arrangements, by Individual  
Rule 10b5-1 Arrangement Adopted false
Non-Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
Non-Rule 10b5-1 Arrangement Terminated false
EXCEL 77 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( *N!75@'04UB@0 +$ 0 9&]C4')O<',O87!P+GAM M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGDK7A.YNJQ<&4GPZ4A!0W_J=0U[R;UEA_6\#MI7E!+ P04 M " "K@5U8,@X%7NX K @ $0 &1O8U!R;W!S+V-O&ULS9+! M2L0P$(9?17)OITU%,'1S43PI""XHWL)D=C?8M"$9:??M;>-N%]$'\)B9/]]\ M ]-B4#A$>HY#H,B.TM7DNSXI#!MQ8 X*(.&!O$GEG.CGYFZ(WO#\C'L(!C_, MGD!6U0UX8F,-&UB 15B)0K<6%48R/,03WN**#Y^QRS"+0!UYZCE!7=8@]#(Q M'*>NA0M@@3%%G[X+9%=BKOZ)S1T0I^24W)H:Q[$GQ):];N#ZQ MZ9'F7\DI/@;:B//DU^;N?OL@M*SD=5')0MYN9:WJ1E7R?7']X7<1]H-U._>/ MC<^"NH5?=Z&_ %!+ P04 " "K@5U8F5R<(Q & "<)P $P 'AL+W1H M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M *N!75B@="8UQ < %TS 8 >&PO=V]R:W-H965T&UL MM9MA;YLX&,>_BI6;IDUJ&C D;;>V4IHT=[FU7:[I-G6G>^&"FZ"!G3.F:>_3 MWP,DH53&@.3T11,(SQ_X81X_?V-.UUS\BI>42O0R@/GO]*%J7_6L=(CHB'U9"I!X..)CF@8IDIP M'/]N1#N[?::!K[]OU2?9RER[Z-A^C#^\^HGAY MFQU=Y#O"%3NR,;KF3"YCV(M/_;) #XYZ=^AX>^@76*LXIMXAV!]5L$R*38V)%8"Z>Y NCKU N3=RXJJL.G# M;:O[1<5'&]66CR&Q$I_^CD^_&9\A8PD)T2U=<2%5H/0Z4B0JO"-M5%M0AL1* MH 8[4(.D0Z.>R=%@-2Z_U2,)824L;UI:6(;$2K:,=K:-FM&94!#Q-83Z" M'DEY!]8H;?-Z96+7QK>%9DBL!.UX!^U8>ZJ;/#\)0HINDNB!"A4NO89EV5WG MZ,2R5*2TH6U)&1(KD3K9D3II0NJ6+H)8POTHT0V)E(VK1N>)BG@%E7BE7W[\U MDGC0Q0/7&O155>A(']R:GB&U,CU;TDOW! MD85^'*+1$AQ,2 6ZX$E(GXCPE32U8JUI&E(KTRP<@ZVMH_4T[]9<25,O.4\" MR 2VH^Q,]+&MX>W#)-B%2[#U=?Y;>*-T"5+@'5\KS5:-W+;Y*;D9]0ZFU,K< M"O=@Z\O^M]QV?<=,\*> >>I[6*\Y_*G$9M1)F%(K8RN\A*TW &^QS7@LP7S] M#%;5G:U>\;B/\4#)S:BG,*56YE:X"EMO!K+;H:\.?DI91'V%*K4RKU E+&BE=:T1NAG.Q\._E+R,F@13:F5>A4G C4S"*!$B'4_*A]RR9@:E M1J)\]%"C>$]542-]5&MJ^S #N# #N)$9F#))1?XP+1U^(UN,2FIZQ2IJ1EV M*;4RM<(%X(8/"R8!(\P+H!O-"MILW:40V9@( ,P?4OX]"48=@2JU, MKW (N)%#F$06#1,_D)#8AE)2,*%9 M9DL3FY*:7J^:FE'#8$JM3*TP#%A?YF^!599M-8\D^BU6=TSQ-HK5=7 M,R4TH][ E%IY-D/A#1Q]:;^%-@E$A*9CY?P%O8*+E?,4C%H#4VIE2(4U#:O>4".U1_ZL-;$]E'O.T6][S2<7K0A MMIDW4\U,+S>Y5Q(S6O2;4BL3*XI^IU'1/P)H H!-F4^?T1>JSOYZJ71XUG6. MW8IV9K3F-Z56IE;4_(Z^1A]"(_/SAE91Y-<(5/>41HM\4VIE3$61[S2:8/0# MJHKN+\;7T%M2$G-&?32-XT3]2*5&\T;U"'ZD#VJ-;1]EOEN4^6ZC"47?>9@P M2<1F]$>9P&J4U+#T0:WGW>ZCW'>+W(R?*<5F]2MO*RZC: M>*,V>%7'V2?VKH3+P?1>O8^0CM!D[W7$R$MGE^6O)NS6[MX=&69O3/2*S?,7 M3ZY).L 3HY ^0JAU> 2=MLC?Y<@7)%]E;S<\<"EYE'U=4N)3D6X OS]R+K<+ MZ0YV;]2<_P]02P,$% @ JX%=6)/F/DWC#V)P#70J:\Z_Z9N/V>7,TXAH M3E.I0Q#U<4^O:)[K2 K']S;HK'NG=AQ>/T?_K4E>);,F@E[Q_!^6R>WE+)Z! MC&Y(GZ.#MT7*L4N3]3EB9IX>"+>55U5M)2 "*'RO+#ELP_@ MVP/HZ70A=B2EES,U7P2M[NEL]?-/,/3>V;)[I6 'N>(N5^R*OKHB8@O4J(%4 M7]#O-;LGN4K>.HK[4&$32L_Y^Q4.$S]<+NZ'Z9A6*(R2H+,ZP.EW.'TGSO=I MRFL%2RT'*548USF=@Y)*&\Q]I& ,(@\$&$[ ##J8@1/FQ_)>%8]7 M3S9<@?'&&"=P!,LT"L,8VU&%':K0B>JFHCO",D ?U8HNJ&@&G,LMK=2R,>QU M&^K0 )3$\0BT:1-ZOAUSU&&.G)B_<$GR$^!%QJN#*(Z2$4#3RO'F,SS8( XXF!A3U3P=.H*F=DS7(F&;7S%7Q5PGJM:(=)]Y0% MW9S5<<&./&DBL":,S8Y)X)BJ;%91%$^,2L]5\"A9537-AJ-BQ6A2D(^Q@=&T MPL%DY_1$!=U,=4TW5/5.I@A5459M+Z))1A9\%EI#4RM"SUC035G/C;WC52/A M^0;DO+P[D[0JE/1>6U=8=\P7=[G):BA()F@-]KP&W<3VB:J=Q+ UYAW+MV7YV/=[(SQXN*;1(@FZ!KV/ C=1'BH*8[E M8U)=/%P;6IRF%?3B:$)&HIX1D9L1+5VB9(6>!B/&!V"'>STG%35=L213FAC'(PQ MQO%8?]C,PC!,)C#V=(>.;-%X43"II>5>N*>\E*R\HV6J\()?_^22@N"M%;@S ML'U* NL.]<<#'2;?4RGRG0+G5O+TVY;G&:W$+XW(ED_V';F3DE^\)7^E:(=9 M]^2,W.2L-FPM.PN=_QR\\@[$,S5=_IO_T!U M22VWO&+_TNP=*/GS4R:$%B7-WJ^60JH+U49*V^I5Y5IMJXNUBOE\#-/8C9^B MN9(+8D>;\[3^V!CF@/->&4Y#BE]'!?^*GB(SCW8F_N M1Z@I)_+F./+G*([_YS&Q*)GQXN4R.:QCKW206^F\SS*F*4JML/KXX8R5("4[ MIE9<*TB+=DE@$(ZW\C:[.,#A%!?T*@>Y58Y2[751YT2J +&8[#J;+B7LE@MY(Q M*+;IXE/!M\&'IXFV_;7%S+:_7@P.O_4O#W^0ZHZ5 N1TH_R\\TAE7^T/\_66$@5:&ZCO-URQ;WNCC]B[GU16_P%02P,$% @ JX%= M6!BM_="V @ N@D !@ !X;"]W;W)KW:A3?!JL',=I)NOWZVH2RT-"'5 M2E;)N5,H55^XKLP**(F<\!HJ?67%14F4[HJU M*VL!)+>BDKD^QC.W)+1RTL2.+46:\(UBM(*E0')3ED3\O@3&=W/'Q=+#QL!+;B!X6=W&LC$^6. M\WO3N<[G#C9$P"!3QH+HGRTL@#'CI#E^M:9.=T\CW&\_NG^QX768.R)AP=E/ MFJMB[L0.RF%%-DS=\-U7: --C5_&F;3?:-?4AJ&#LHU4O&S%FJ"D5?-+'MH' ML2?P7A+XK< ?*PA:06"#-F0VUA51)$T$WR%AJK6;:=AG8]4Z#:W,WWBKA+Y* MM4ZEEX21*@-T:QPD>K\D BI5@*(981_01_06N4@6>E0FKM(W-#(W:\TO&W/_ M!?,KR"8H\,Z0C_U@0+X8+_?[@9E]V>H)@)M"=O M4.S&*[)>9MUO4SS!&'N)N]T/=+2LAQIVJ.%IJ,UL0V2C"B[H'\B'D!O/Z1[+ M%-O/$^;C=3WH:0<]?17TM92;8>#I,Y"GJ(I"S#G+V*DC]-I>*5#FMUD.D MLZ.DARIZI%%'&ATD7?"RU._T,7,U&C=7CY;U....,SZ!<]1$C9\]*P_CP:DZ MIK)'?=Y1GY].35^?/.'P/QSB,_"? X4XB$(_CH=Y/?QO4\*G$Q^9MJWE M".ZARF%P=V]C-:>:;T2L:241@Y66XDFD/41S4&@ZBM=VK[WC2N_&PO=V]R:W-H965T&ULK5AM;]LV$/XKA%<,+9!$(O6>V0:: M9-T"K&N0M.MG1J)M(9+HD;2=_/N1DBS)(L6D0[_8HG1W?.Z%]Y"<'RA[XAM" M!'@NBXHO9ALAMI>.P],-*3&_H%M2R2\KRDHLY)"M';YE!&>U4EDXR'5#I\1Y M-5O.ZW=W;#FG.U'D%;EC@._*$K.7*U+0PV(&9\<7]_EZ(]0+9SG?XC5Y(.+; M]H[)D=-9R?*25#RG%6!DM9A]A)?7*%0*M<0_.3GPP3-0KCQ2^J0&M]EBYBI$ MI""I4":P_-N3:U(4RI+$\6]K=-;-J12'ST?KGVKGI3./F)-K6GS/,[%9S.(9 MR,@*[PIQ3P]_DM:A0-E+:<'K7W!H9",Y8[KC@I:MLAR7>=7\X^E-7JDT/@@FO^92 M3RP?!!9$ID5P0%?@MDII20"N,G!-2UD7&Y6P/3E^. ??'F[ ^W-?.BB7DA I]I)38<_%YE)#LUX$@G.D_0T9,K9+5X M0](+X,$S@%SD&0!=OUT=6>!X76"]VIX_8>\K%;B0A;XGU8Z8XM.HA[6Z6FS[ M9>A%83!W]D/0NE20)'$O=8+-[[#Y;\"64BY4TCDNB#&#C9%@,#<* ^2.$)JD M7-\U(PPZA($5X1^,<@ZVC*YR88(6:)-Z$?+'P3-(>8D_$;RP@Q;6:MX$M"]; MPK#(JS4@S[*9%3-9S0;>J89B5=?8] +QTW"((:B"$[D M' [8"UJAMKRT8K0\ J:5&2C4 QK'XXYAD H1BB9@HAXF>@6F(')EBF,HC0"1 M-O5YZ(WQ&810Y$_@Z[D*VLGJB]@0)AE=!?,,5,2XN%L;)ZE&T!\CU*5@,L$& ML"LO^6&MH$''HG2EQO?$*-TB%T/WT==N! MDW K(DD,O&]3_\$(5F8R>*]PCQ/C9 ;H_$ C'OA:^5K MDIJJAYZ;H)V:>IZ"=J+[71R BZ70O&^N: M-'CK<\+1 4'3)R /AUS(XI%4<::.5!/AU[D*N9$?>Z[FCDD2>JXW6+VG)X2> MV9"=V?Z72]ET?I"!UB3[19X[KBN3I!M%08(FMJ.HYT!DY\ [1K-=*J;W\7;] M']V+_BQKI][V5(KL5/KJN:K5/SDR>1"-F=0D%K@>FLA&3Z7H+>>^5\]62*=) MY(>)AM(@%D XA;+G4V3GT[_R5/5X5=Z,ON!"O)R!+19R6U_3 *WW [8@6\W_ M<$G])&NGP>C9&MG9^O62,M"S&VI]V"#F)\$$>:">HI&=HM]:43K9PGBP=6TQ M&H@;C;?ASN ^J21L75^S<0EA5XGF0J9[VUWE?:POL$;OK^#E=7,AUYMI[@<_ M8[;.*PX*LI(FW8M(1HTU5V[-0-!M?6OU2(6@9?VX(3@C3 G([RM*Q7&@)N@N M/I?_ 5!+ P04 " "K@5U8:&]M-EH# O#@ & 'AL+W=O5H1L @4!J"XM\&YL"81D(>OPI0 MJ]Q3.U:?=^A?3/ 8S!.5,.?L9QRJ:&J-+!+"DJZ9NN?;;U $--!X 6?2_))M M8>M8)%A+Q9/"&1DD<9K_TY3&>&,T<:K+N% "5V/T4_Y"4058%B4)7Y*;-. )$)J&9,X3 MU$6D"[:!W<+I'15H&X&* \H^D#/RN+@FIRX9O-X1O.\9"*KB=$7@!<^@!(D9"]@Z!()%#I[/M!A#@FG6JS37 MN"1+SO"DR,,)O:F&M+?1OV^,RJ-:E0')=5!*]5[ M#)Z*(#)GY!HV^![,]/%I(MF*]-KZ= 16"WI8!CU\:^T.N\Q-1V"UW%R4N;GH M6+LYWJ B2W<\<@^TVV!TX?2;M3LJJ8Y:J7Z%%.O(C'2O0OR8Q%+INFZ@B68K MUFLKU!%8+>QQ&?;XK=4[[C(W'8'5Q6VA6WE>Z",JR?5O M%<^@R]K(L17EM17J"JT>L[>/V7MK 1<[=I6?CM#J M^=EW5FYK<_(_$NXU] ^'[4.3D7OX"K8KK7<"8F5N)!()K%.5]ZKE;'GKN3*] M_L'\3-^&3$N_A\FO4BCT59Q*PF")D,[Y!9XID=].\H'BF6GPG[C"ZX)YC/!& M!T(;X/J2<[4;Z W*.Z+_!U!+ P04 " "K@5U8Q\./B_<$ !Y'@ & M 'AL+W=ODXO3?CY0566^FXY3KOL22??<<[[GCB4\TV]'B MD6T(X> Y2W,V-S:<;Z],DT4;DF%V2;$?]G>%N+.;%#B)",Y2V@."K*>&Q_@58@LZ5!9_)V0'6M= YG*/:6/\N8F MGAN67!%)2<0E!!8?3V1)TE0BB75\K4&-)J9T;%^_H'^LDA?)W&-&EC3])XGY M9FX$!HC)&IS JZ X6T M%FCRHF*_\A9\);ELE#M>B%\3X<<7=QQS(@K/&:!K<,=I]+BA:4P*]@L(OY8) M_P8FX,O="KQ_=P'>@20'GS>T9#B/V$8"Y6$MT"6SX*T 6@F,$[Y&\"DD.@:<% MFIE/;1*'%C 04\/OFJV&9A/HHL"&7;MP)*"/[*"QZF1L-QG;K\KXO>@GML$% M81>ORGZ/ZK9SFP9NX'A6CP1E>#E\K]@61V1NB.G*2/%$C,7//T'/^FVLE72" MA9K .K0[#>U.A6X?H?TFC\3#A G>!=/5U87RNZE<-R=$HKUW!N(=W!G@R":6_8Z P8J@-V:/<:VKT?3'M[M(V5P!LD MX4(W0$%OCBF7?>XNT0D6:@+KE,MORN4KRU4-K(D\'\:R7.+0S'!U["3/\IJ, M$:Y$/+?G_4'U',?JU6ZE,V)X(F*'QJ"A,5#2^)?0(>*10#/Q0/B#LO%&54*< MRYM.L%4PH,2#J#=YPA-&'=ZF#6_3MYS7T!A]TY/GM>GP3!.XMN?TNFEH-H&. MYUL]N' 8T Z\%EHG8V@=9(+UO2>VT?QKV/:ZD67[#@KZHTZ]@'.;0RM:J NM M2WY+H\'_\MQ6HVO:PUK15EK10EUHW3H==!Q4"[GPK:[9%=*)MM**%M9H MG7'G08C@D0%U4)10+2E_S,E9O8BS"S6B9X6@[4U^K3'#<[%K-+_T%90J4L M^A].T/6"VN3YECMU!L\5K4I3*UJH"ZU;M(/8A&JUV9Y7.UP4..?C7:]5,,*A M@$/]EM'VA509J10MUH>W)-UMO[>1+V3]Q\9"(NO0%6\7^ M/>?^AM-M]2+OGG).L^IR0[ X7DD#\?N:4OYR(]\--F^;%_\"4$L#!!0 ( M *N!75BM+YXZB < %HC 8 >&PO=V]R:W-H965T&UL MK5IM;^,V$OXKA*\H>D"]%BG9EM/$P&YRVR[07H.FO7ZF)3K6K2RZ))V7_OH; M4HHHB10='_PEL>7AZ)D7SC-#Z?J9BZ]RQYA"+_NRDC>3G5*'J]E,9CNVI_(# M/[ *?MERL:<*OHK'F3P(1G.S:%_.2!0M9GM:5)/UM;EV+];7_*C*HF+W LGC M?D_%ZR=6\N>;"9Z\7?BM>-PI?6&VOC[01_; U!^'>P'?9JV6O-BS2A:\0H)M M;R8?\=5M0O0"(_&?@CW+SF>D3=EP_E5_^9+?3"*-B)4L4UH%A7]/[):5I=8$ M./YJE$[:>^J%W<]OVC\;X\&8#97LEI=_%KG:W4S2"=U6:TW\6O7VO9('FK&;">Q/R<03 MFZR__0=>1#_X3+Z0LIX#DM8!24C[^M]0;8HJXWOF,[->NS!K=5%Y6J^B.?C] MJ0O?%5I@LFJ%>K#F+:QY,"X?\__"_M&Y+9'B4',R7F5%R5#5XM77];=,A_ @ M^%,!&8HVK]X87OFLFU\RB!=2UO/6HO76(AC$.P9*LX+6Q;7*$=USH8J_S06? MY;6Z>2=DF$3S05Q=H55*_&%=MD"70: _ C#6CVU[$X MZ)#[$"\=,%,\!.R362S]B-,6<1I$_*!X]G6JR29'D'7 P'+4JZES_WGD>-45 M2I(H]8-*+2EL)$*]>JS M8.7FQ3(:&!"$\G\F.HXLY47A>L6KJ=GQSU0("H8*]D3+XVA,&G6]I"##F'B% M8G],<(>=\?N@%A5$@DF%V(O.'V^E;71U(9#%$*8K@SOYU8=)+$P2IL =K1Z9 MU)U"IW)*R:#TZBPJ"[K1"3-611OU%RJCE]+6=X9M!W"0;-E /67% M$]V4_FC%;L*DZ6H8+X\4298C-11;RL9ASOY2/<$6Y\*[A9NU_2JX[%28!IM' MC*0CQ1);VL9!GEO?ZPI4Y&^97F<05SLFH"$6PE0FDUI>Z',74YPF0^2N%)Z/ M%%!L&12'*?17@S& S65#(*!A;?1)D3%LEC1QF#7;I(3B/IJ1+ODE*R.+(>H7"B]!EOC2*APA=H6FR&$%HZ1&'^?&.;1DD7Z[)@E5' MOP-=[ILFJ<,4'BF,_?B()342)K6?&?077?]]KSM;'TKB,A49;A"/#!YKW(AE M,W*"S=[;:GMA>Y@KQF18E#QBJV0UDJ#$,APYP7"#(:^ ^BG?@_JBS'8I;7TG M6&8C86:[/XIL1W5)/JOO)AX.PTGDY)R/ZI;I2.DCENI(F.KN!<\8R]_X&++. M1/#\^8&X?(>'Y=$C0Z*QC6,ID80IL=TX1SU#0)?U[O3ST"&.G9+D$R/S=*1H M$LN(9''6KMG"* $S^&G80:(]>]=<2%O?"99Z29AZ[^MQRDQ7):\>IWJF0CG; M^)/,,X&2Y6K8)7C%DB@:B9@E8A(F8@MV:R"B0LHCQ(S!Y"K];4U8X]G!\K W M'C/+LC<)LW=; TP:LA_NM4\-%7._+JCHIYKV/Y0\E?& MF@6MT*&DWJ&1>.9@O'+8RI7JS@#]\TC;"\0G!MQAN7COOHL]0RR>KX:G=7XQ M,M+#Q+8_B$_W!T65"=/* &QC@PZ)^:!K,\SI.CN]V'V3+9[C(797;!Z/5;K8 M]@=QD'KK2N>#BJA"&_985)5VO^8;)@J>>RT@GOE]N1H6:Y\8T.E8UG2.L*TMT+P#650_ MZH+=[3UYB(.]P]FG\!?2UG>";1/B<)OPY>V02,_/7FM=GH^7PPAY9N/%6'+9 M3B ^,1NW77YF>P(SYD-\.C- J?>^?W][#IS=R=XK14;X([8<'HPC!/_^N"BY7TI;WQFV"XC# M78!Y2#WEVRGPXMOQ)-\H"F*&)ME+9@XR?3EYZF@B?.NS'>7V!8LT'CE:2VQC MD(0;@[,[#SC0:"ZUM0)+3#4C)I.PUM\T##C]6XL!PGLI>]+AAUGE+8<_$ MHWEY0R+C[?KA?WNU?4'DHWDM8G#]$[ZZK5_SL&KJMTY^H0(Z+0DINP65T8 P 4 < !@ !X;"]W;W)K_ZV2038N%X4MLAY7[] MS3A92B6*[KY G,Q[\]Z,/9YWY':^0@SPHS;6+Y(JA.8V37U>8:W\F!JT_*4D M5ZO 2[=-?>-0%1%4FS2;3*[36FF;+.?QW:-;SJD-1EM\=.#;NE;NL$)#W2*9 M)L\OGO2V"O(B7KJXD/@;\K;'S M)\\@3C9$.UE\+!;)1 2AP3P(@^*_/=ZC,4+$,KX/G,DQI0!/GY_9_XC>V;PG\TT7H5HD-PD46*K6A"?J_L3!SUOAR\GX^ M='SN[3B!O?:!Z +."6MO^ M7_T8ZG "N)G\!I -@"SJ[A-%E0\JJ.7<40=.HIE-'J+5B&9QVDI3O@3'7S7C MPO*SVRJK_U%]B6P!GU1H'0*5L&H]!WL_3P,GDO T'TA7/6GV&])I!FNRH?+P MP198_$J0LL*CS.Q9YBJ[R/B ^1AFTQ%DDVQV@6]VM#V+?+/_:OMS@RZNSMKM MR:[.D\FYN?6-RG&1\,'PZ/:8+%^^F%Y/WE^0>G64>G6)_?]*O4PV'<,%/OBP M1^<;;>$KYI4E0UN-?@0?+5?_5:@0[JENE#V\ADYYT#8GUQ"#L> %/*!1G9+- M8V&M#C"]EGY-;L;P]2?TY8N;;/KNO>=-O+48B NFO9Q,<"R&:CZG.6\ZJ+$F M=X!7ZZ>[]6OP9-I>(I4E.A M+%N@:/.X72W9-WLR[,3@,[K3H8JQOD'6*&[1 M%BUGZC'G4\:,?:S:,%E,YB@,@X1QM?9Q*N5.!YTK P6?/6B4XU5KE#,'J8?@ M<(\V"*2ACG5K&]"YMNF)')1*&SYNYRLDUD^<*\,3%'3PPUQ@^Y)EAP>NI=MA MX$[Y-J\@MJ;@&*>5&;&M0C2.0+6,(JEU&MBYY]:%V'C^A([B%AY%X]%.CB)V M!(%XS'F]M5#QB).RQ[O 2G!T]0;+4N=:C K8H=&Q;O[ W:E][ +?![$>5OK M>-BT9G?@@1HX!V\R*4:N6('F+>''Y\Y->C+EV/PVSG(N!K4V] /O^/9X7=SU M4_)G>'_7K)7;:BZIP9*AD_&[MPFX?G[WBT!-G)D;"ERS^%CQE8=. OA[2;P= MAH4D.%ZBRW\!4$L#!!0 ( *N!75A152J3ZR4 &I] 8 >&PO=V]R M:W-H965T&ULU5U;<]M&LOXK*&]V2TI1LBZVX\1)JF39SOJ4 M';ND>+?.XQ 8BEB# (.+)>;7G_ZZ>VX J#C)WLZ#+9( 9GJZ>_K>@V]OF_9C MM[:VS^XV5=U]]V#=]]MO'C[L\K7=F.ZXV=J:KJR:=F-Z^MK>/.RVK34%/[2I M'IZ=G#QYN#%E_>#[;_FW]^WWWS9#7Y6U?=]FW;#9F';WW%;-[7]M%GS.L9-DT'_'E=?'=@Q, 9"N;]QC!T)]/]M)6%08B,'[6,1_X*?%@_-F- M_HK73FM9FLY>-M7?RZ)??_?@Z8.LL"LS5/U5<_M7J^MYC/'RINKX_^Q6[GUT M_B#+AZYO-OHP0; I:_EK[A0/T0-/3_8\<*8/G#'<,A%#^<+TYOMOV^8V:W$W MC88/O%1^FH K:Q#ENF_I:DG/]=]?"S&R9I5=ES=UN2IS4_?919XW0]V7]4WV MOJG*O+3=MP][F@]//L4_/LK=-W:^[[&5=V"(=X"$!ZJ$]<] ^ M/[MWQ!/?7:_II5=:FSDM395U/]]'&[KNLK+.\J2%;RGY'K-^OLQ\N M+M[3=O]Y* EKQ.HUR0;#84,W'08NC( AW"K8-#?O"&* Z.+;&7*-L-@ M=C_N,"H]VC?$+S6I$=(-5?F+6596GEQ 2MJVQ33F+A[$S2[0LI"N2$L0^C J M[B#YEW\\@M@MB" ;X(9O/&8NNZ1?3+W+EK8J"?K1:B?L85JLSG1-#>">9>OF MEIYJ%U - ]&+^(UD.7AN1[Q ;-1FJ[;9, UTJK_\Z>G9Z5?/HEEHK]@;(?)/ M,_?EZ]*N,M*AV R$]L+F)2LTL'*;E0+S)=_U\L[F Y14]FY%&XXNWZZ9+E!% M$5^5M2AC#$.?LNW0;AOP#$A$",QE*EI.,[2Y8RQ%,ET((Q%8/!0AG$?"2FDI MM//<0HZS"WI>4;.(49&MB?\[&H_H'-8G9 6_,@-T@IOC[-)T:[[('U[2[B9X MQEC#GNO*PK8=UI&M2:-6.V(UNKM89-V:1CWJ;;MAANMZP3H+#<(&[1<2(053 MGA#Q]0E]WM''-JML1P/VR4XEG.6T O.7]HL!U0V0'4\3\S170)OUV==4]F* MI>6FJ>V.P&D_TDY8#75!0ZG4[+(KFUMZEA"SR'ZT?;C0^@O*I'G3%I 2 C0M MMR%^<%)#A%63U4U/L!OBHIJP0@A)=P6)+J)*17 5#>$$=ZM8);@K[#RZ"OPT M- ?9:<1\C$*2R=VP!0F9H:8PTHK\-B6C:Z@*H'#;-I]* U&*NNBI&_853,# M$%_;.N&E):UX TZ]-2)]C1H_MO78)ZYED;-C30"#%5LG,'.SK,H;WA4D/+HA M7T- ES)/;D1++4W]L1VV?;Z#5.HA3E5+N1O'LP;6=N*!ED>L0YH!ST1[J>E* M$4VO27F4;3YL2 $PCB(IZ\;O=(Q%)*]4@8#Z));<8EE#.,Q%^%X-+=/-%/^@ M,6V1$M]471-OIZP>-DNZFT9;D;AK6D9-)!0P2_IC8")ZVHMJR6 I9)6Y 479^A%= M+\_'ZK$4N6<^F;+B58'/JITL/^R\('")2<7: ,T#D_6M)5&^5T@,'5E># /) MT!86F&H 0EG!4@%JX#Z"B&J]ER#*U$SF+QY]]7AQ1R9NR%&&^&'*H"=*F=3>2*+6I=K_08Q%:],:% M7S;AL6XV9>X0QBAA02>VOB*.V'S#%&.JY7;+@I+ULH#0B8H8R2=3D/XR(IPZ M4S'A%-(K^2!2IFVP"8#&3F5)!WJNAAZVO5/]#-T"]Z3V3).(40F!1]N$_\+B])29TL4Q:D%+*R&J6.2+^1/I%BR3 M?)B^+9<#48A ;JWX'\=C'E"^=\BAAZ,'N[ % '9,;R<)]#FO\\<#,%2P9.F" M4"JV0<4I_&-;Y5[.Y7NGN)*=/?TZ_N%D M\>CKI]F'^V32>&H22Y/?2#H%@_$W4&L\S@%1[G#Z*Y'P<#_!DO4]?OPH7=^3 M)P'2#/-'O MN@]>\:Q1[T(2L$+8FA7?:M_H$%IP4$H8[O8NMU#TME"?@^X<8/=4Y::$ (K# M2)$MUUJ-1(@M0?H=L3)(A88OD2P\/?GS/KNA;WK60A*Y(,X"R>_3G02O-3R/ MV^[^DL3 X1\>9Z_4%XX]:[)%NRA$E(KTPJY@J3(SG9T\BPV$L]-GT#'.M8;[ M OK18*J(G';SJ@\N*VT&"0.1NY;WU6X2B5@HQL3^MC)!(H/WX,Q/4P;]!"ZU M;+TXPC",\0H[,M!440A$@B7&9C=#VX4G"RM8LNBP V F :Z$;GLX]_=*5^"^SWCZ_MK_PE/G0/AO$.GWROD_^O?24YLU!FN* M\,E=S2ZR+_TCIT^S/_LOX>?S$_K9/_ \.WU,W_D__^ Y?GD:WW:9G9[AQ]/9 M(;^<@)F]D'N_G"SD["SYV3_P,CO]:O:!\_3G+[,W\#*]M'GMXYGA$^U7CF;Z MH QQF/C3>=.1Y3CX?;PJVZX_*A$]Y4_-T#O1- Z-BEV6F[;=X6D?:"WC:9V# M+Z;@7<[1+-HRS1)AIRZ'ZYM:;/?XE^JRF8]LD/?-R*F+;#T7CBFWJ/$/B&58\0'7TD\ ME6Y8=J2'H9TBGP8@JJ.3!'TT0">>A5/%B-*YB!.'R7($I*U<-H+- !>)6,3? M_^;8(E@AKR,KY%6(T4-#L29BUP?N^UW9BVFU"+K5NU,23>2)?:!$1*J8])#Y M[(T@9+\ P%M3\A4R9>H. 7+C,P&[!6L4K(O8B306WV,D?+*T_2V")VKK;TW; ME[!UO&^R:LW&(H'+M-@04B3_$24@U-F 4NC7Y-D<]24!L*;_#.G1'99)K-N7 MOPB;; =Q; +O,\N5/R/5,F"W$+BS$\4:Y U)^"H[U;]G^O=\S[Z=54S^QZW9 MZ2^>O^E:.Y@*#YBBK#@"_LD2$M,8#B5V76#CMO4M88-V8 &"G61LE&3S\HN-&"XIRC3M8*79JI6#X!3O0 MY<8%)'7G>@^XET O$V>%X.T> /9SWYY$J^Q24;WQ<#5';A!'\&G0?YD;_H?< M]L0CWRM2V+:]8!3\\^!^.]T,P04^?[+X^M$3^L"T.'N6?-*+ I929@\E?MN( M_RF2_*=9X.R_D07.GBR>DAT^3S"]^-M8X'-&_'>1X$V0(O\\?/Y](D##XF?7 M_)7\)VC\#,'V><.YN]YKOH3%)C+K; VG/UO_,Y0@%Z;PI.*[2((\)^-UD&!R M 5.1)++49-2<>":CY!>MO7@17U[:F[+V^74):\.X!+=PE*,RN>@WU$"52-.] M-4CXU!*1D8(!6KSJ?DW4D>FCJ5.X^YH#39]E7^L2KH26W!F8>9EB5=_@F><."P0CP-($';--NL<8%(P0$_5M#U@ST;V"%F^59F[W"@_R&C9TGU%C"G 1BD5#JI9Q+>PV$W$M^RE"\Q'@-FO M9FQEA@("7]N5#$^:AA M&N64W-M.G5/ ANP6!Q[A,G/>:U6)ZQ^6(*F92!*X%<6U83E7F"![W3;#S5J- M.RNLP4/'R)&]ZLOD&*FH!!%_FG90:]>H /YD]<)Q]GH#8>%0]*:I;XXJ=EA% M;::9KJ0.K@KW.LR&N,)V5EPNG%P3AK^A-6UI*<2'"V'; P2EB@GTRJ&4"8B MF<\D-H#RF!S.G ^S3GW)GIT IW3-3LM]0GD(YQA7PN"?,6=#_-(N)@5C'-;& M+%TG"YY@B1F*5TX_L4.CONN>JL@0'B..95SQI!JN+A" 6)7L"[(#MH*CS7-4 MD/R<.B!^A@\B)-;Z'7E M=AM4P%<*%D) 4>H0NYJ0;V_AW2/_0D9"LA9?#41LN^*X"2Q/+?+%OM5A.7*) M,@HVSZ[>?7!X#/FT.;RW,)&P#"@P&IWX&)$[YGUF.5<3&NEUWF[\-=[T]\\3 M*O-\$?<('=B!'(5S^HJO:SQ#HT%Y4DX^X2%!NXDK]@CZD?HQ8+40E7&TU6TA M!C+K6!\SCBR>!AJ6>#3"[SPV8/5*96V4+N"[2-ILL-MX)LDU8HGQ_(A;SXV8 M1/@=MOUF5$DT0JNW> ,!TU(0+LHJQ4"3^0D;RZ9MQ3R&=%JD,\?552&JQZ[$ M:&D+,?:4@^?!'L'+13^LJH5<&D/7R"]8E*0)^@YZ!FUF+2J4PCTRI@NO.G!$ M>^)I3\P)CD=$"6A,(MZ:??62)RQF@YH+#DJS,]-BW!DND#R+#E-I-@ I3_8B M<-5QJ61>V1(,!J04,(F5S(MBD>@M,[>#)UO2;Y)@F"G7_R(H,",G2L)KLQPU M:Q-BYGBGA/W#VV]J%_ZFZ3G6'53#K[DH(P'F"J8]L+\5NG$5V)0W(F=4,F5B MP^J\ZI$F_!9\DOV;,>5X5."K O"E7@*__@K/LZF//->1JS$M!\,HMO)6"39< M)]T[]E?&81I'.A=UZM4GJ95&92Y;]I+M8&TU?\AU>;FANV7O* 8)L//EXTYWJ1$2&5_$R7 ("M/RTG4IHA"=:7-Z)E9+:)XX&(/5 M'0HVJFINE1?SZ8E1R4Q9,.1L+'*%R7B.X^S=6$J-G6NV8(Z:%;O@SJF;J,_% MO)Z6FI&H$I';K$+=U%AF)C[TL69C;0):E!MY89=]]KKK!KY)(@NI;:=-46G0 MHG1/L)A?B$UVB^086,L":EM+^2$PY;3-(HD-^$B#C[OL24OYV6B\ @#'^;_/ MD6!>('ONT33WUC\0Y1X9)^D*);L5P@V\B573$>!#'AMA,ZZ93.?"(,L^SD;^ M .AJEC<_F3M-OQ&J7J?Z]0=)L[F(U:MQ>6[*MV*TGW7!9E*I<.D%#SCWBX!$6S TWCZ"-Q_>$!!0LPC)X M:;Q*$H=R[2U( M1"2W0?+/F&E*W71@J0WO]I+5:Q*-:?FX8N )]E<<@7'/[XF)^7:J5DO678LC M=S^VO-=\H(E!(P% DCNJ]EAX']\MCN_ ;-4NB(M0HYUA@TN*WF&+!_:&R'S[ M@:?O2QJXV5F+PGUP!!$W;-'L ,^>G3Q[>?73)7\\?78(&<&Y*^\CIG6M/[5L MK^^D1A!,\<79\4FVH75PZ8^4I(,G)79#DK-MJLI'%7C8=WG?0&6)QCKQ4*V0PL1Q\J9?9?.AQ.\:FF)1)_*EC;O!9H;K]#"NA(R MO'1-%->N)>\B#SBYO+AZ>8U?'&)$/!'V:$4HJQ/&UDCFB[(S'0QE8%H'J$W)D-"I"CPL*/$AAW!2FBXU%+5E-$W7W@Z2Z#0^7S8+*V,'^02+.6A&GP\:]*'!L81"N$3!B/V MW$C3@!AR5ABPY4U/-DRY8P4R:_C3O@I#Q\M-%4PNU$POE MJ COH*)\$W.$)6_.L7 KI:7*"3AE%'^/TLT%!*'[E^B37/Z#SQAH,C, HXY0 MOU)!\W@.'<#V(&TU7"OOO6B2H:OU3DN@Q&\$^\S->^P7G+KWZA2$HPBT MK?.>7I6%SZC1-H/9O4%^A6F@>C)W*#L24%A0A0+)SG$&I^=]G6D%I N9.&'@ M#1*48PRTM%9S'C_Z>K_W;J6 Z%J7.LO_;5@](;=,TH6NX\X=1BY:RL_XVU>DE>+=>6\KD,W'<6]Q3.0NX[[I7\1@1] M*4D!L?_#V1@^,RS+95\DQ%Y21IITN:]9O"'1 9$UVB,Q%F;F$W3N]L^F")Y!"SIBM%6 M2!G"=^S0RMZ]?$LH>_?BK?#LY5MQZ9RZ,+XN!.YWU+NSX),_ ?)'"G#9CQ! ME/D>'6G $7K\VJ3MK*3S#$J/\!, [O+M/5(<2W2B2CAB=K^$HR<&KF[0"GUG M>KLEH. "77&Y!M>ZR8[EU+,?K/)=&DTMBO;X<[QU9THFW5&L\J=-AU&-OR__ MX V[B^#22QOM"H#85O/$<).$3UYK8#?JK%+](AD(\.48%EC.RZBUP["_ M;R6GK9T1B9OO6Z\\I7Z&&\*9BAL+RV:[WBV\*4F>VTL4EOWI2H-O+'P"@G\!D0&L&"%HI[&+32K+)] MD+8NS&/&OL((B$Y7ES5#S_%75AS[&Q4U\^F"!*T6.Y-P%\45'7I UQ!&O2F1 MB9Y9/L[KJB:_^F:*.)_7VILH;B,(:!1E,1/O:R=72CFH-9':ZAX)]SF7P6R\ MOHK#>+/":A$5*Y52^!T%!T-'<6@IU)R*M/#XDJKIF0?C;<>!;=W/Q6#'O>W_ MWWKIG9Z+Y/ 4R/BD ]8*\Z*_8Q.&_0?7 =1&A7)AQ'LX) K@-4,[DH6^+$*< M.=)^XLP!0>D),"[XQBD-?TJ)YH\BSO#,E)A',;N->2=ANWT+B52^ AJE_I;N MM S)T?R;CLRXQUK1')1I<&A#TD)7N\=;L0^D0] MS(UTXD.LY9:?B\I/E)UC28@8'3&<&]P1U=OIBU1FQ#O%'YGF,[>N#DS0Z**L M\=8>31\"K^IVB@QU\B<.V M'4D+MH3W^SEJ/.C:XTD :O2\%L^Z8UJBL^FBH[TD(>;B FP\\E$KG<2B$@-! M%Q?[3$@$,-UTEE X&>4Z4*X!XY9K7]'-*$V)987N39@QCCP<=6*L0U%X[SG5 MDSXS)I9BY+])(M/E\!R&'!8A(&MV<_@LA/&!(]]P:B&*6 Y; @"Y"FN[9U,7 M'/SE#6S%3!$)C[]Z&56)'][-(I C2-CV/@VKG;KW4VU4AY(UDI0(4]RG6 (^ M'>LRJO>LWQ?@['%VW(Q(,>V?:Y(0 8!UHZO=L\R1MN!<:2%]G,:S*Q^*YQ#J MCMCPTQ++<6C<(2PN>F=#\^KBQ=%?D;[W1K[V([+OBSLBKUW7BL9G=;PG)!WG M_SR<>@*G*XZ8!;_; _^9.ZWG?/]"4-_3VQN$QDRAM>MK6IB%SE^5.-M$P[$; MIN\-ZZJV%8_NY&WE%@NZHZ^U6^G0- MG\KAX]BC;FMFJW*C$#NYZL+7CEN_R0Y.#UVQ],X-X: :(_U9=G VO7O?5G2' MF.E@.$+G< )M[/BPGL7Y.X?Q\:*S=_GDVN?.#70/Z58C=&9+ODLIUCRH'^YZ!Y8PO=G95W4V+KHMT1"8,EN^($R=T,:Z]"_T*;J>J M-;8<#Q..,&ICV\:&OW2F&]*AN#WV(#/-Y"I.RQ7S: MW 4A'7NL+":X\=$GJ^2I\5P>&O^+.^W:-SJ:GEGK-:>+[ H]YES/T2"=\(MU MB8;9TR2G84$.JVYUS/AH5MET^[#&&1HG=EQU=QJ9ANGOC\;\U=R80$"VC;?6 M$BN';3;-P02#CB\EQOO]X?MIDH.9T6BNED4M5(X/_&ATEY0W=,L]4MB? \H6 MN!8%NJC[!/9=,/14ETBQ3\#H :6"A$ MDM](R%FSF80X)ZG7M!_ ].A%9+Q'CG>?9#YB%(9B^7ACTR/A1)0]FUL:IE2Z MR,;V[J\\HDU)[L&I525"G=N1>-H->AM7ABBV&OB\:KLM.5_7=S'7_7N8 %\Y M)Z-T5VX-H=_?1_@+=Y2W*^?U;67>$-<3B+05P+N;48UGS!*AMS&V.6(GM0VI M<_'TEA(.6=&*M$@[=V<;S8;H/"&3?LVIT;>,J]V9F%7Y$9U\.HZ0F=O92ND) M=[#(N2Q9&ITB1="92L*:W.$*5>*-0CZH"/C7AD:&-Y3O![3Y(Y%^=0&>.C$) MHTS0F)KCO7D4:*%6U=)W'R*PL$9HS3D^.CC]%T -_;B5[J.:NQ]<-6:Y"@<[ M+S18G;[MP'$N=SXB73BS1M18BFW13)_UC4219TS6S)@-R(Y"$UG4LE)M)<_C^Y%7B*^*8)RTD^5@W MMW6 7]I14A#Y*"%I^?,-V7[+R)&@M?B+O@XJR& -$/OYPA4,%=>$\ZGO( MU=ISV\T>@)V!06^N'-N^<7;UZ]^_#CBZO7+Z^S@\Y:.27J].3P^#. ]Q%&XG54_X<"<\'N M04@>[WO3RN%"4J]E[\(GVI@0CM&&U:#4T8Y(L\0A=SA&#^BJN!Q]99:M8W!. M@IO\H[G1.(@02RN;@-<;J59Q4X=S Y.C#CB"L@<)?J5:_!X=@5)+55O7=9<2[8 M/7AY_?X]5_1*U8IH@5"YRB46_G4J,Z.CW1'91QZ;]7U(DX@4=<<"BJ*:V*F$ M#Z\ U)P-*4XF&(=E2GYEU00M"7E".TI\V'U%S%->-\CJ_W]#1.SPYHW&N9O/\:83$LYWE%@N+H.H=+V.E#1^ 4 M[KQK"EL=[]^-,>WF@/UOPO)+%Q_YU,#^DA8FG#Y^M"*M$#JOI _4WRTMN"_P MNAV8KSL$SI$1X[343UR..NOX!=4=G#\3WN\FA_+P(%S3&JIQO-^V_\5>R7D@ M7!+E0VH)>X3C)[HDBA=.! RFMPOH8:JEF?2.3M[FAGG]-HU:V;3A@?L*_('H ME;GMTIQM6;L3;GT8.H;6J0S70RI>RTAX;0:I!*KU@!7%.[E&Y;II?'V[C4I; MYC :FG7DF"-88#.O3%,K40+$VDG/L@K90W7(N'B. \68FB,VWO7UD1LS X4 MX8^@<8#$JXUB%!H@EH,R:A?AP&#N+4ELW?XJ?/!6PA,.#QVA5NB;$@4& X MT)"=,4)87TUS1L%+X%9>SD V 6]AB[-]1)Q:Z>$:B7RK/N0#& M]RRGE\-Q3:U;YS&_ATR%!:K++D4/L3+,GI/;EVMGB+_#:2J^H^2,>J['4"W1 MU4O\Y_9:]*0V9-SR6U)M<63@I][8Z+54:JMPN4BD"^.".1^M$6',Y:#Z6-22 M02)#K9&%ST*D+03P&:.W-A1E):_="\?00J!6?*:<]VFWOL\G7700+;WK0!/( M7; \0LH4(1)!1(5#=Z3/:F9Q4818+"&Z[:67KNFK^]*UV-@ KB7R>; MO+2J+X_<-3X-2AHI7HL1_+YMZF;0PS#5Q?7SP^=83U[XX8HC]';-'N-]I*V/;\1)/_BI MV1)VSL^>''Z3O4U/(DGO)'S-GPM^V10AI/ Z/N+O-P+@+11"EG?I0T,_4.$Q M%)#)EMBG))247$L.B@W=ZS++4];LC%>10%3Z^O^D3A2_'%B212]UT[FRP MF?? !F/O.D077TH)TMPZ0^)9ZY2D0'GF9 6QCD(76B&GR^UY'>VM)%2!*->5 MX0TTF==51<4]2F*P(7\O[L<+N\A?PM M601(TE5V18^>''_U^($4L+DO?;/EMVDOF[YO-OP1<03;X@:ZOFI(1.D73.!? MK_[]_P%02P,$% @ JX%=6)&ULS5?[;]LV$/Y7"+4H-D"S]?(K30SD5:S L@1IMV(_ MTM)9(D*1&DG%]?[Z':F'9=CQBJX%"@211?+NOKO[[G0\WTCUI L 0SZ77.@+ MKS"F.AN/=5I 2?5(5B!P9RU520V^JGRL*P4T>[6'M3R M7-:&,P$/BNBZ+*G:7@&7FPLO]+J%1Y87QBZ,E^<5S>$#F#^J!X5OXUY+QDH0 MFDE!%*POO,OP["JQY]V!/QEL]. WL9ZLI'RR+^^S"R^P@(!#:JP&BH]GN ;. MK2*$\7>KT^M-6L'A[T[[.^<[^K*B&JXE_\0R4UQX&',H;:NCR M7,D-4?8T:K,_G*M.&L$Q89/RP2C<92AGEH_P#**&\[%!979IG+:"5XU@]()@ M&)$[*4RAR:W((-M7,$84/92H@W(5G=1X ^F(Q*%/HB"*3^B+>]=BIR\^[=KH MF&^-9'),EV#>@9O^>95. W>GL"5]+B24]I/A?RT8#PBK2SY M6 "YEF5%Q98@Q;DFE9)9G1I-C"0,'QG31K%5;:32/KF_N=.$BHS:4R%^P?T/BS,5%C6A7A++45*'*?5-2 ,+Y3H^2613.WO;6'7Z:H_85FMV\Y:O]% MY&87Z'[W-4D6_CR9#!8F@;](8O*[%+]D1R2Z9QC[BR@X6%[X01*1C])0WB=H MIWL:^[/IGK&%OYA/7G3N&V;%L-+JD.N.0J[7?J_L?'E6'B03AE@8^ D91B;Q MPWD\7)CZT]F$W#^CJKVSN]!/YM'!:NS'8?"_$_(M$[&MX$>(>].&VFH=!"#V MPV@O[A,_B"/R6]=?#FS._&0V/:P/?Q'/R*-K/VQ@H7O.IX>Y"OTD3,@]QE,= MY*KWP(^#Y(CD-/CZLAMVV::/(F#;FY&:V+-Q+JE1+S;N"I3MI=A7F2:8>V8X M1AH;>2HQ-MB&J:LJ.WUD1 K'C*[)]M1P$=]O[25]0HN@D==($VL7_[2A(L67 M30'[FM##2BK3:K)V*.%(,LLOJEGS_: -:"::>=#"PATA#:'/E'''8%M&?-M MV1FG"G8>%-@"I6(IJC(*D*RN5(^YY<8VUH8GK16>-NB8>L*!%<.3N8:#?K]O MY+>6J7#(5,M0?UA2NT]>1M!=6VY4D-?!*,0QBW/KF&UJ[7>N2[X"[@H.<],# MDZF%92G,_A-#]"5 HQ>!(KSX>\(+;=(PGS;9[E.;@Y7JDMA1M$_C$38@6L Y M.R-K)S=&@(AV?1QF#0:+WJ)@YG5>Y5;^L)4MFTTP<&@XG4 M3A^.)Q@Z!855^ SMQHA\@ETL>U78.G.0N:)5L=VO,&RNCMX"2X6E!9&UVDU9 M%KZ6/&O&(V3I)JC7&W1>[T%*RJ(!N1^UH-<;4 M,+9.)W8))EVE9%@X-FP;BD!T^P71/]!,=/EP>3WHBW'L!XOI<&'B3^,0AR&% M,^,E<@,=.FR^$QR%CG3SQ)_$,;F]N[T\MC=+9D<^X=A,OK:-'YOXQX,+%Z+/ MW;42AU-+[>;NU:_V-]?+YL*V.]Y<>^^HRK$I8P]:HV@PFDT\HIJK9/-B9.6N M;RMIL(S&ULU5C;;N,V$/T5 MPET4NX#6MBZ^)$T"))LN6J#;!ME>GFEI;!-+D5Z2BN-^?6=(299\*XKVI2^) MQSM8.W@,*9Y;:E-SAHUF- M[,8 +_RF4HZ2\7@Z*KE0@[L;/_9D[FYTY:10\&28K?BQN!V,B!!)R1P@<_[W !Y"2@)#&UQIST)JDC=W?#?I'[SOZLN 6 M/FCYARC<^G8P'[ "EKR2[EEO?X#:GPGAY5I:_Y=MP]ID,F!Y99TNZ\W(H!0J M_.>O=1PZ&^;C,QN2>D/B>0=#GN4C=_SNQN@M,[0:T>B'=]7O1G)"45(^.X.S M O>YNP^A_X&I"RTTA4*==VPW.X M'6 I6# O,+C[]IMX.O[N L^LY9E=0O]'/"\C94-V#HS]J%[POS:[SJ]<8[59 M!P732^;6P)9:8MD*M6)OA<(175FN"OONFGW[S3P9I]_]Z_^89"@78'RB+PZ2 M"NA/PI[Y%FO @1%I5=QET0TG:?M\Y/! M;FK)T['5984*]\^@QM?(3 ,W_23(^&HNC&%/ZL3)*( 'P2$OQ2K_M\>(X M/1Z;S]AGO71;CKL/)^?)Y&CL*KEB/P$>"6LM"R9*%-D+E+ZXCLEEL^FIT2RK MQ;0YD_Z5T?8$WC3*DOGQ\%4TCS,D9>TU'GAY55:2DVP*P#Z5"^Y/PL-=;^,D MFL7QNQ,3D^@JQ8G+%$FA^XRFB#7K/<\[%?#8)4(XO-3&B3_# +SB9<,"*X*" M2.D[X,8RH".E+S\O.T+PTMMRR][$PP3/2"D;;!P8-P,17B'L!OPE0.Z&[#[/ M3868/PF^$%(X@2IIQF1G[']2>D]\9Y#8>P,AX74D;2\1:=9-3(*)F7::_R&- MM)/&?8U,V"\8!;/OI+-DWT>G22T5?B*2>\M9E*;3'K-)>ER/C[ $8Q#D&9!B MM:_)Q[XZSH@CB?P*ZBQ<[3 @D%<4&4RH,]2DB*8Q7*WJFMT*MV:\OG0A#MYX M/4*!YJ4.C0@UP-GS_>/['[@IJ""**L<*J$5"K/P*!_E:::E7.XQ 3HF($,:* ME6J>&5\9\(:]4KLV;+5H.+*WK:WXW9#]VO>!A2I7'YFOJ5ER(P0Y=0RYQF MR\IW01-B9QDZ8_2.2TI%0'(A4]T0$!*Y_68ZG+25A-#>OP*,K])AFX@N'UR2 MRXH2@3S0O[-A-N"O3!1,!=VIT%9>N*R\@@6NQ0"7@E2,#I%[;6YHZ78-7HDT M@7W)OZ#034-,OPKMS:!KW M4-S1.V51H7PA,;LTBJF7HA1DC[P KRA\$0H,@RL'J<:;(QJTD7>H9R;GBJPL M0,%2.+;$[7[!D7YLSPRU.+$4>1,%--@8:31R1FO(P=(\BJTV!U2%W_:(L .'QK2:H9H_H$T/N-\GQ/M;\ M"1=>7=./VUHA&KDN%X=PH;"UU\H9G70+PN>5AW?&C1&YSVNO(.BLX7@(Y#Z\ MM3XLN7=.B/W2Q0-0KY3X$VQ3GJQIVS78.3GC_0)5C"_%K+)-"Q0*;TZLQ%K0 MA7]!Q9.**M8ZRGA>^1:*N 4:"';P!&P,!9?IL,A#;Z1=IP*[@!57+7.RW5"O MLV)Q"M=]K;BA>QQB8 ^.:\9=-/1-Z((B@C*K::/"1$[UWO%[7[(](H8N'G2E MZ^H(O2GY%V" :J$7 \S/HJF(NA$&UUI/<<<">O&I;1_8]84A?&LCIR7BAN[3 MO'\$X'U/O/?Q.[JI]'6_1@7AN2C1,BJKO:.T1\[I..S/@GYW;3O!D/W6+N[) M AG5J7/^*G3(I54D\AD/9]W6WZ2YH=:1T::ND.\W8%(%OVC56-+>&QBH_G9!^209=^'.FC44X4(&^;)&S:&C> M&JJI'_<*M-;V6SH3ZDSZCF1TM6H;==?K4!(^=MW,BR.]8GO;2.R93=%=N/YD M?R?)Y#"H12^H\TM!C0APNQ;YNJ^7;5]+?-_@BN,[VTD%#4]]/QEUOF_AV;CR M7_'H:EXI%SYUM:/MA\+[\'ULOSQ\9?S$S4I@)Y6PQ*W(?3((EZ;FP>F-_UJV MT X/8O]S#1RKBA;@_%)KUSR0@?;SZ=U?4$L#!!0 ( *N!75A(VP?G;@8 M -41 9 >&PO=V]R:W-H965TD^T[F[Z*7>%V?#H8M2F0DW,(7,,9,8FPF/5[L&E^>%6,I/TO]3W%F\#1N46&4R=\KD9&5RT;L:GUW/>'U8\*^2:]=Z)K9D M8VG[?H;X/ML&4AG+PQ M^HN*?7K1.^E1+!-1:O_1K/^4M3USQHN,=N&7UM7:Z:A'4>F\R>K-T"!3>?4O M[FL>6AM.GMHPJ3=,@MZ5H*#EK?#B\MR:-5E>#31^"*:&W5!.Y>R43]YB5F&? MO[PQ6:8\6/:.1![3C R%U]$<> MR[@+,(1NC8*3K8+7DX.(MS(:T'3'%!VUB@[.X3^\\H>AIL/Z" B_2T1X(X^%-(* M'B9=#40&I]!Y,@DE8F%5)/A(]4F+13_ F"11D:3 !,G[0EG>+3RMA%6F=!0+ M#QR?6E,N4_;EZ8#>JESD6%\+L5)C$7E#@@*1MIK9X:F<_A)YB>3!"+#F2 MEL 6N9?0QMC.*@^C.7\ 9B6A-C)AD%[FL7*1*;$IIJ3TI960EK^*V#(-?G1M M'Q5B4^F#+3#-/Z*Z:7AG3I,N/6L):.$H,1J9U-$1;/$IN,5:]_*,&&4T??/D M_Y5C]^$XR6P!^=LC15<9:\_/LV;M.>>KXL:EIV/7ZD:GI M>,93)WM3\\DIGI"7TV'FYXP./#=S<&:FL*-DC"GYA M[^TM/IK/3U]V<+42"Z65YW.PIV%_?C*JH:/26LBGPMA05T#J]P&.QOWQZ>A) M@7W*93A=#\%W#IGUIZ>CYOT#PL?"NJHJ5P623T_,QZ<56K^W@VI?S37B:1=2 MWX^AG_WO1-O!P1"*^)G0EU!(9?Q*( .@+X!EW%SL#(!',SK:2&'=2YH-IONQ M-A],Y_LXVX-*EM/,=NUL,!_1;T^]_BC/S1'N'-K_&=?CP>AT3^R$!W\)UZ'X M(+\ZSRQ]+T.VL^+S\6"&YDAK=M!V:U":)+R%#;M>;P0\I MT?5QT$!E3;'X.?DL<8E==]9$4L:PS-%;:S+R:'U#D.&_WU8#96E#"QD9S*M\ M9?0JY#EHPSA%"P>EUS%52< #@K&8X.H)WUBHCH2C8.>BQ#+DM@&]%SF\Q^F5 ME-LF([T)]5.LA0U;Z@(*<[F@H\8KSR4:',(=< *EB +4\(81$2,JN(XG"1:1 MR8,R%8L\7QBGJGX"OD W'0I5[6DT'ER*(^%22D+=PUR+C0&] \-9KI*Z*7$8 M>,K8K:%=/F4>3$&I,.VV(9C&7*L\TF7,9'<$,=4KQ9<3$'<'$26Z O:8*Z.T M!;3OO"W0ID^IT3'XLIF&6B$H<*- S.!Q)P_^+83UFQ!:VCB.>U>"3(L9P^DI M>"JFQ2;(VMLXH$\<+35S.[TK=VF%CG"+&]*:X0:J&SS*;I40X3KEF'AR#!OQ M0>QW)=<4!?PHM)CHKJKRSNLXK< YV_K)0PUA55^%*X[*R@RQX3$6HJCJ4[@% MK=JLIA%H\PMG@]$%9[)OI;)5HL[$5[EKNUR' L0Y1WTV+M2OY2,$K3GJ/YB_20F7N0=EPAZ/IH7BAG:G"M&IIS-[N M5MRNE4_#L8YA?N2-=:T.W;;BNF:H0U\+>G,(1"Q1)M!6M0M< \RA(SD8T=&Y MQL,*E'CARYHQ_:(O:1]U6HWX+2D),B8]$O M<:'!0)>]70I+VZ+J5-ZQ:3L&NTK+^7WPV 5NV+IJ9](NPP<%OB A-JM;=S/: M?+.XJJ[JN^75!X_WPBXA#(D[P=;1X/6\1[;ZB%"]>%.$B_O">&^R\)A*@2CF M!9A/# Y'_<("FB\YE_\!4$L#!!0 ( *N!75B=> -&L0, %4) 9 M>&PO=V]R:W-H965TU*!+ M639<=+$ M-M D*UH@'8(VW3[3TLDB2I$:2=GQ?OWN*-EQYMC9A@&&Q9>[YWGNCF^3E;$_ M78GHX;%2VDVCTOOZ,HY=5F(E7-_4J&FF,+82GKIV$;O:HLB#4Z7B-$G&<26D MCF:3,'9O9Q/3>"4UWEMP354)N[Y&95;3:!!M!K[)1>EY()Y-:K' [^A_U/>6 M>O$6)9<5:B>-!HO%-/HXN+P>L7TP^$WBRNVT@2.9&_.3.U_R:92P(%28>480 M]%GB#2K%0"3CCPXSVE*RXVY[@_XIQ$ZQS(7#&Z-^E[DOI]%%!#D6HE'^FUE] MQBZ>,\;+C'+A'U:M[6 80=8X;ZK.F1144K=?\=CE83G9[ M@Q2^&NU+![_H'//G #%)V.I(-SJNTZ.(MYCU83CH09JDPR-XPVU@&F"'8WIJJ%7K][IH6B4Z@4KPK$8YK0!VMW.TRAS MS(42.D.@&0*A.F(U1[NM91\>GA2TN,2+PJHU>-(AM6BW)W%0SFNQIBWOH<"@ MZ>W@/.DE20(DJY04/ NPF!E+RXZVBB])I&%MI#8S%<()/M*!Y?!T,\L)(+$> M&3=H["R9D1I$6O(AL\3-!!UUP6M-*@%Y@;\6%JLB*D93,F2#R4$H16-+U(*9 M?6E-LR@I=P>+1_E9FZ* G.0RX%/!6SY1&>OEGVW&NN+FO#BDSRQBZR-?I\)5_XS"F8(U@5= M%ZZ-.A/6KGFI+85J\-"B?C&?PN^5+FU7./T*HY@$3H((TSB2[DXO@2&3X=7_ M_KUIK.40[XQ>O ][\#6/>RXW57#3#P?!IO-@O%![$6]FWT+:&Z?)3C]D*KW: ML_BANV5%]7JV1MR>GI-T?/IL>MO1[9OA8WM5/IFW#P[:7 NI'2@LR#7IGY]%8-M+O.UX4X>+ M*WV$G:)$#;;;@-&*YH]_)9L9E85UOR)#EI__U1\LLH0Z$8A*YQ3 M705Q&&9!S;CPMFNGNU?;M6Q-Q07>*]!M73/U^PJBP0T?C18WIC2.LXW0_H'USNE,N.:;R3U7=>F'+C+3TH M<,_:RCS(TU_8YY-:O%Q6VOW"J;.-*6+>:B/KWIGDFHMN9<]]'28.R_ 7#G'O M$#O>72#'\ATS;+M6\@3*6A.:W;A4G3>1X\(>RJ-1])63G]D^&ID_E;(J4.D_ MX?V/EIN7=6 (V7X/\A[EMD.)?X$2Q?!9"E-J>"\*+,X! J(T\HH'7K?Q1<1W MF,\@B7R(PSBY@)>,>28.+_F?>78H\]=1[ VYT@W+<>/1%="HCNAMW[Z)LO#Z M L?YR'%^"?VW.5Y&6K0_ M"TZ/'.Q;TU(-N-8M$SD"TZ2NZ/'25V"+&2;7_WD]*\9%Y;#:BDV%&/YN['.F M'4'*Q!X)/;;:T(:+ T3^8I7X\V5*N]5J[B_B;*@..S)>L5V%TSRE@X.#8L)H M2%=+/UDM(%NN_/DBAH?'KYH>[-T_5'';#;W3$;6QP09BJS#U%\MHE+,T\[-Y M=M9@<&*J"Q(M_7D6#S,(2&NL2AS5QK#S%S\MGAZ%9T,'1M:'RZ!L'GACL*?7*INXKI[+5' M*Y@,DQK5P8U,2[,5IILKHW:+U /5C&PO=V]R:W-H965T/%$JZ^\:&[Y;--II[RE1 %^Y;$:7X^6!7%^OUPF(P% MA_E:"1[1H20>>HXS&2994\XN(O.!PX*)&(1%DB!P\>SN!9QC(1 C*\5S8%AB0?; MWVOJOY#NH,NJ\W M'K"PS(LLJ0Z#!(E,]2?_5MFA=6#J[#C@50<\DELS(BEO>,$OSE2V80IW S7\ M0JK2:1!.INB4QT+!JH1SQ<5CD85/IU>@5\2NLP1\G7,TU]FP .JX9QA6E*XT M)6\')==C'[.T6.7L-HU$U"4P!+&,;%XMVY6WE^*-"&WFNQ;S',_?0\\WNOI$ MS_\!NFI*HWY*>%/>YVL>BO,!7(5B%[JCZ=3@*.ES NE+9D7L!6 MJH#I&*;2)2LRUM&9-(M$&',%RC3,*P4>;Z_M7ILW!- .,A(Y R"F,TO%@2.X M0QICD]X,7 )2Y19+L_0492O!5]N7BWJ(]A6AU'HH1#!8@H@NE S1L=6N#7B^ M;Z%,96%6UT+1(P'BG,XIWKJG>0IN!,D5JI#D*+K0X1*VXQ),)ZJHA$,FUO3Y M$&0'O 7-P;%W .I1)/&4U>NI0ZS7DIJ%/%]5XGZ'&.@W0&29E E+2PI0H)NO MP-6D)&B74)2@,8H5+V#W%N*0R3POP4HEP*5Z0WX,'PG&ECR&6S%V',MQ'+PJ M_P2Q4%;8P\'/\$S)$","'NB<8OLO/"WAM64NV9O#)=L*KBS@OY1IBK':WD07 M(#!*0BR7%,XKE97+%4T#\;B,<+9SRH-K ]'LOT,^J$R1%3SN-PA?2URK(K(L M($C3J!(%0%]?2S2B*M*!_ E9['( 8!?,XI$(12\F&#A'3#Q M&M!L=I^RC^ =C3">VQ]7;7QI( I= "@0$1*\ @"8,&[I,P]X;Y4I^0=>F_[0 MX<]"PIB'Z]\W2&_8]0K"N'Z$* M$B(#"7@="09V8RH[OGN\/R%D_5KR6"ZD03D#K W,Z84.N&EPL=E-*>H0H3<4 MURI/M*R79FQ1*J)%1LDA.8QCA(Z$1V(O<%1JVNRW;".>A4*YMIV[U@9G3;Z# M18:$YEEYJD7 :L,/1;2H4'VO1&0?TGN]CF5(7F^)POA2"7I,P90EN !@H@30 MVBDY 2H$UPM'X8SX)E0H\2$"#VM:P'C+-"[@\P[SXML:;G\%$5)I+:SF!''O M<$32BQ)Q.!=%$8O(:BA&=!(B:B$DC'9=.G]LS4:^$;;/ZMK@*'NC.61SNG9" M*U-BQ^YU[%QB.H%!CY=@D<50:Q%N:_/2(8"6G'BT#:5OLS9\30+O SPS=G3)R^9^AEQ__P?_-Y7]GUOA4TWTOC=ZKG1'2Z9^90.=! D78HG!^NJD#L==A&^KZ#<3GRBBVK:X2R&=@_HZ[)&JCWX"8 O/YBHK M<[ ?#*]XC/!,D.)]>'FK/#:9SJQ1X!GZKC6;C:S FYB9(S:VIU,S#.QI:\FU MO&#,+IMG>.+"E#<]V-N'?GYZ_-P ;CUY'+B^Y3ONR7^&78B6BP&KA@:;&C-8 MSCCXX6Q_YTKC1X/"1E?/G_QX/>M >F79*69!#3\:MOP^L4>':U\SZ2H%X=BP MNY7HM1QZQD3V;[20)$@0S0[C/4:YGN4'0XD#CDZX.A\?I_GODFYS-M:8> MW"BO?4G&]JRY3A-[UEZR)L'DI8$00G8R:BZJ-YM80="]J).@Q6C).NGO$J@Y/T-Q#8)$77VH M\COR;(*1'F4+9 ME"U30LM.F@M)%7P7NA^"_:$,-E<*&DM3QT?FM#FL=LWQC*$)997J/IT^AE Z8C%$FT[7\(3BAB2+1,7G!<6Z MWNEFN&"YN<"#/,E4H>T%T<&P+87V.L5F(':L82,9$B50V'') 5485G/X=C>V MI*2\JD\.E@(-U9BC495#,954>^;8^K?_-+#_ Z\!]91?+74\6$^2)\F+MW5D M/6?8EXLQNQT[@%JG+/#AXQU^!#@:V2Z,/LG\Z70!]0?$"?@=]&(*;SQ$OP^[ M?'LTAEV>[>+(LV<^C P/K '8,<18E;U,;,>%;? QUG_H>P.F-Q++3PBXK11Q M\XZ\>_%-:]1NU>K$_Z%4X0J;"?]>OW8?4:J8;Q\?'OX7'=OZKJUXQ*8SQX)G MM>XB=-L%IFS?70ZC#A"1O3!G&QOD;%VI#QP#*W"G-4-D<^1#,HF9PTN WHNW M00 II-NE,_*^@XYG0]YNNJ[:2Y]3"7G57=>^V+4[K,G5;C6]['OT=GAS=HQ) MY(G5UY31%6055YQ:NTBH5VA=LD!)4Y7X5O,(X(4C \ C0(TF]!>"&<=^7Z3I MFMX 61)DJFO4JI/:[=E""A*6NL6_6 #4J0/ZN%W,0T4I?08!6\\2SYL'CF.) MO6T %A\Y=*N&58OQOD9DCT^P\5W_Z +I)?]5C6/%NB4[6\%Y8\KUU]6FKA1O^HK@5W'V"WI0%YSMLE3?&5UDOE5(FK1S/+$FHW96.L$7 MX-J'I;>23=+O3Z63T_]..MGW*_&P]2M^(M22_EXU/\%T&S7_TOQD:NEA,PK%@LXZMC!>*!_W:L'1;:F_PF89T61)?1U)3B M.VZ ]466%?4 &9A_$KGX%U!+ P04 " "K@5U86^K>#Z " #H!0 &0 M 'AL+W=O"Q'SJ[!9< M.,UL81-+C6@6)TUXE'MR')6,H_DDR^'#PT=8*F&F*3%C\*=ECUYTZ.(-=%[ MK354>_AJ*JS^)DA9RJ"GV.M9%$<9K[$U\"#"O\F0"DI^(2=7;>P"U(VR.T18H>$X01/ 3>M\*PP!6;CO^Z4G MMVL@IKXQA,X(!7?XB*8-N2HA846-=I.XX M);N,:9FS9-W-: M.HY8YT^B?W\G6NPZ3&#G;B[KE[LXO"$/O,8;-):@L@;!VUB$(!R]]NKI0?=I M=)LX8SR3MH:Z1AR\PQB[[+KWY7@W V^%VTB6H'#-T&STZ30!U\V5SB#;Q%Y> M6>+)$+&ULI5;;;MLX$/V5@0H4 M+>#U+>EEV\1 TC1IBV9;).WN,R.-+&XE4B&I.-ZOWS.D+#MM$F"Q+[9X.W-F MYLR0!ROK?OB*.=!M4QM_F%4AM&\F$Y]7W"@_MBT;K)36-2I@Z)83WSI613S4 MU)/Y=/IRTBAMLL5!G/OJ%@>V"[4V_-61[YI&N?4QUW9UF,VRS<2%7E9!)B:+ M@U8M^9+#]_:KPV@RH!2Z8>.U->2X/,R.9F^.]V5_W/"GYI7?^2;QY,K:'S+X M6!QF4R'$->=!$!3^;O@=U[4 @<9UCYD-)N7@[O<&_33Z#E^NE.=WMOY+%Z$Z MS%YG5'"INCI__8TX>S?CR-5\L:W*N?##&7@V=UP MMGCZ9/9R^O81EOL#R_W'T/\#R\=Q9M,QW8]%9Y^_'!]]/OWR_8^3BX_O+T?T MT2#2GZS&MA.^09VVLG%[!$ F9_J2!WO%CF:O)">S_1&%BNF=;5IEUE0I3ZUR M0>>Z58$+TB@Y^CNB%CNH:D!]]NGDZ#GD'JJ?*25&S\Y.GX^ X;G1N35%!_N. M2MN9PJU'^'"1P*\F;$F7W[[]=GYQ=$Z!\\K8VB[7%"RUS@*& 5JJ1M=KV5IH MGSL.F#0%<7/%!?1+=P]K]F/Z!F.!72.'Q/#6$^VI,T'7<3I'0&J6EC.*V[51 M:0"^?-MJ%X<;D%KY0#X@8AOJTL4(W^QB$(5UYWPG2<3W_1X/5!+++;,5LL*W M@:4F"5915.*BZPMK]KM@(KMU5TA4#+IHBTRR$/%=VUH78J!G<].DF.R8'=-W MX*8LY)US8A Y309CUQ;__8A8Y544QYIJG6.-/6DHT:$YWXAC\ =]&8VZ4[4D MJ679V[MK\>/2\3&A%5..55PW*0Y(8D\)'L:[+.DR:A%V*G73!Z00P-+6N(>0 M:]B\ >%X,V J3UF![9R+SK'L+3CE#Q16AIVO=#N&-$D5A4XI/3NEUGJX(QZ) M5;Y%*#WN&7)R'0A*HTQ7XO*)H-N">?KD]7SVZJU_0'^#@.$<0N9WG/Q9#MML M;T7(RM4:48LJPS*M,>-)E:'/US4B'7O#KAAW#,:LJ[ZBNUJYW4HR%FI)M>A^ M0=[J?P,[I/E7G7=10*M*0R"RM3]#(R-L>NE^(#XMO&&TM!^3/^,& R(TH%BP*F(3L-G-"B_\;K/ M,Q13BNT=&4"A>);4/K:$X)3Q)=0E8.G"E\%*Q3D8%JEKL^Q[5^1P+>E']N[3 M2:@4A =Z']XJ)2"/>X">))><1OMKG1=TY7$ZKK3+A5(J]9W^KHB9]>J1NW= M=[M-=EX>X+V,[RNA#2FF1\@P.SSACM++9;L]O?_.E5MJXZGF$D>GXU&PO=V]R:W-H965TU*#9 L"1*LNS4-I"D6]L-Q8*DW;"/C'26B$JD2M)Q_>]WE&S%B5P# M18 !@LA[>WC'NR.YV"K]U52(%KXWM31+K[*VO0@"DU?8<#-1+4J2K)5NN"52 MEX%I-?*B,VKJ@(7A-&BXD-YJT?%N]&JA-K86$F\TF$W3<+V[PEIMEU[D'1BW MHJRL8P2K1\!KKV@&1&]_VF-ZPI#,\GA_0?^]BIUCNN<%K M5?\C"ELMO9D'!:[YIK:W:OL!]_&D#B]7M>G^L.UU6>Q!OC%6-7MC\J 1LA_Y M]_T^'!G,PA\8L+T!Z_SN%^J\?,X]*C-C"H M']!;O7D53<.W9[Q,!B^3<^@_X>5YG"B:P&DLN-'4TMKN@,L"\-M&M-1DU@=) M1\#]#G*UD5;O8,L-T+=6-36N@5^$!%NIC2$K\^L%O'DU8V'\]L4CI1F;>]1= MJI\+7>K=C\$7*2P6<&>Y13/(7P/STS1]0L=Q"G="EKQ5&D>(D1]FV0ENDL[A M+UN1'\]ELW3,FH]8KR'VLRA[0L]F\4#?X@/*#<):JV;?UZ@-"$-'B!&EY"XZ M=[P4H-Q&(Y2/V=-8NL0I/23'*MB2I.HT6ZV*36Y[L)H..>U0=">K14XG**(3 MUBIWRTP&9_[_;!_&?Y'K_J1X:0%$B9_.Y\\8E+,_>,OE.-',9]'T%#M)&'Q0 MLH0_W6^D$/I9,CME1Q-J-.HMN1N)YWXV'1<;%48\/U.BB<].U)PKW!2N*R'Y M>)?\C)U:)Z-UKKGDQ=@D\F.6C+BI/\U"N*QK4*=[P0_GX]I/_5F4PF=E>4VE MVI?68SZFY,?TN$73N3]_#/#4F1D .#X/+_CY\5.]? M%9^X+H6DVL&PO=V]R:W-H965T M[5F5)FD7IW8GDF<2\\SS25C)]?I M1XB$)"0DH - R\ZO[[, *5$2Y;RV7RP2Y"YVGWT'?;'6YI-="N'80Y$K>]E9 M.K=Z=G9FTZ4HN.WKE5!X,M>FX ZW9G%F5T;PS!,5^5D21>.S@DO5N;KP:^_, MU84N72Z5>&>8+8N"F\>7(M?KRT[?$"&+\5?'L;+8DPN9US?VUUQVZS+@5USK_M\S<\K(S[;!,S'F9NUN] M_EU4^HR(7ZISZ_^R=7@W'G186EJGBXH8$A12A5_^4.'0()A&1PB2BB#Q- MO)2ON.-7%T:OF:&WP8TNO*J>&L))14:YC_X@[,69 T=: M/TLKZI>!.CE"'2?LC59N:=EO*A/9+H,SB+*1)ZGE>9D\R?&52/ML$/=8$B6# M)_@--OH-/+_!=^H7J(?MU!01S^R*I^*R Y>WPMR+SM6OO\3CZ/D3L@TWL@V? MXOY%V9ZFCI,^:W)@\%+FEH(]"FXL$V00!CA%,1-F RGC*J.+I.??O=;%BJO' M7W^9)O'DN64KH^^E#SC$.Y.!O>,/+-6(0^O 4L_9J52@UJ4%,]M]QH@\&CS_ M:;__@0;!HW85V'_/*T3*L.O2&*';9S\!J&'TU3*?Q M>=0]JO6/H56KU!#F-!XUMCNTZK?^OCL2&(B[YJ;CYIX-([U'K!F!($IE+KFO M1X@CBD +M$JGS2.;5_ VHLX0DDZWAJJ8SX4O:=LWI67<0L AFFJZ1Q/V(_:W^"6[C(>TQA78$ -5D,Z'$7&[#(>Y/&M?GF^L[I]-/ M_Z JG2%C%>A<; "[?B'JCS?7PWZRN;ZYO6:V:A3B<7):=%DN"^EVJ0>-K>)^ MO+F^7G*U /R*W?.\##2@\4Q4H;=&,LDUA%SDG!AFI$RHUYQ 9K;C(+!X0Y%^1L M1EKODA;A*N:3=NKZ1WBHR#()I.#M'*Q-!A.HBI8EK9(-69079*;/NRZ]K6(MN[);]#SDIQ_.40WKX];6$PBYN<&\K02CHAD.D-& M=8)+T8+O7G$]&^#?-);S*<'I:^ MTT'4&R1XT.*3+7)/DI8VHSN2LGT3^2+E4,:5=2*J6LC?R.(@(^6-;K"6> M$]&,&@F>R\\BZ[,W7&%RII!D!69%;[>/9;;P*\BP1&PM92E*RROML"X1O4J M.U6/5K%[;+V4"/H* :H'3&S?@Y0S[99@LN"^_Z#DL-)6^AMQ+S.J(GV/Y]I/ MQ;YRJ+J1V8H1"A$Q?)H7LZ@4>4:Z(V70D4#I&XFUA!C$4CP02]H@2 [049CH M?3W[&+HD '^/]#67A-N- LA.& S4-3A;2$*J+)6KRUDK1# M'&5GBJK@%M8O M>FO+I=99,#1D\D:$4'R6B^!6J8901XU>>M,M,7=I@TJ;LUQ $5]F0]GO,6&= M+("%7YR7E(_KEH 4(6:KG"NOIG6$V@*QU6E@W\3(]VQ5:K M0&UKOZR:S1Y[8>1GK7C/(WBM'4OT,)%HT1;. MUV'S?,]#-WPX6W'CA2 EYR7V:DM@?$$(N69V.H(#*8 WGCIP@+NMZF ,Z8%X MM6V;B11)CF!%:CU)T+070(/>@;+$U3MPVW:[ZBZIXZQF"/6EK@WL^ J!\. # M"OGBY'R,_KG:N4?/0W8Y&8WZTXU$WDYHAZ2//!)B"AF,+A=+W* 10Z:@Q%TZ MZ;-V<*N38=0?;7CX!.$9>9%"4L# -4=^H=_RDNRK&/S_.Q0<3C%( MM2@X'&'2^3H%AX,C"B8-C+ZL'WD#38VW@@Z:X< ^+<7GTS$[)76QT VG4UD5 M_+PYH?D]*.6IDN(*9= 7E2\ $H81>EAG$KU6PMBE7+'4SW085+C/S3[IS1Y9 M)4L8D73FZPGB&"[&[JKY<3!-ZLKQH7]'ID/65!#K%ME'E62Z3-3:^63$BW!: M=QH,FXEN-T"6^K+G]6P] ZB;7V2."GUZ#=KOZ-EGKTM#::5'81]FM5K"74 * M_EA;>D:&$!NC-KJ@W2JSW[7QW<+2L,K67/V=7BO,%90F,^HT]DU /OM?JHWJ M6>FK=T\[R?YLL#BGE)MI?!@T&V8Y.J%8$/2IO"A2F\4$*H6!/3 MUOYM%]ZYS'V1V!XJ"=@O5,B-C]:($+;W'%6DM&U5M;_?)"^$(CKDDH90!QP# MIX8(XH&CC0ABSZOFE];#T?4,/4KH6'RZB::]V@1NV9;F1'4^07@2=C)T<@1? M?]/=OZB_.Y&IZN"N(-@/JX6?#TM%U7*A@OM#NNH4*J2?KS]I]^W/_^'HX_N/ MZS[L:^JG>XNV96N*RL%)Y>9$%8WV[EY5I1MNEO/*]5=P*!-(?4/J^WMJTMI4 M:#NE]0>K-^H'. ]:3A/JW=H8I]4!_ \(C51U'%@X#4&Z!^=P,C@"[LU>GICQ MW'=*-*P?]=,C+5G/1\H)V/>B*/*6W5)5G3UJ^I8K!D)?B'B8U_S$=7#ZW']: MQKK"?HV E%E.8+$6\>Q3\E5EAP;?["/F81J#?5N]VS%ODT(CF_W=PL2Y3'U: MJV8SSQWL4+^%#34?YN-Y*'1T(%S4+_M@^59X\-Q(&PO=V]R:W-H965T[%EQWDT M"=![#"NPWH)+NV(?%9N)A9,M3Y(O=_OK1\EVSFF3 'L!P[Y$ID3^2(H/,;.= M5 \Z!S#DJ1"EGGNY,=5T,-!I#@73E[*"$D\V4A7,(*FV UTI8)D3*L2 !D$R M*!@OO<7,[2W58B9K(W@)2T5T711,/5^!D+NY%WK=QCW?YL9N#!:SBFUA!>9+ MM51(#?8H&2^@U%R61,%F[GT(IU>QY7<,OW#8Z=XWL9ZLI7RPQ,=L[@76(!"0 M&HO <'F$:Q#" J$9O[68WEZE%>Q_=^@_.-_1ES73<"W%5YZ9?.Z-/9+!AM7" MW,O=C]#Z,[1XJ13:_9)=PTN1.:VUD44KC!84O&Q6]M3>0T]@')P0H*T =78W MBIR5-\RPQ4S)'5&6&]'LAW/52:-QO+1!61F%IQSES.(.X_ZQ3&4!9 F*7,NB MP+M:Y4S!;&!0@64;I"W850-&3X"%E'R2I M0'I)HM G-*#1&;QH[V[D\*)_QMT&+#X.9NMEJBN6PMS#@M"@'L%;O'D5)L'[ M,Z;&>U/C<^A_UM3S8&%T2)K!_R6ER@M:XV_EI$SOL#ND#P5:K#=XE1LYOP_(M% W\43SVHX#VM\(H\*,HZ3M@P]&!6VVG M %^3X#*.#\@H^([KILV,_W,H?P*MIV3'E&*E(8*S-1?+; MB ]8*KV^VC7..Y77_1)4Y,0_>R![_?CH3\<3_Z: M*Z(Z'28%V@J*C=7+>3M=I:>3\.^7_\]M$F'M5+5* MA)&?8*6/X] ?Q\,FTR+,S6#\$I+8#^-1]X8V3(1DGL1\/HX[KV! QZ(UZV,:V;J#5Z "^G5X$0(V*!I4&ULU5WI<]O8D?]74$ZR):4H6:1\S7C&5;)L M)]ZRQRYIG-1^!(%'$3$(<'!8XOSUV[_N?A< TEFHI^6=7-)NWHS^;F?KMM3)KS MH$UY?W%V]NC^)BVJ>\]^XN_>-\]^JONN+"KSODG:?K-)F]US4]:W/]^;W[-? M7!4WZPY?W'_VTS:],=>F^[!]W]!?]]TL>;$Q55O45=*8U<_W+N8_/E^<8P _ M\;?"W+;!YP1'6=;U1_SQ.O_YWAEV9$J3=9@BI7\^F4M3EIB)]O&;3GK/K8F! MX6<[^RL^/!UFF;;FLB[_7N3=^N=[3^XEN5FE?=E=U;=_-7J@AY@OJ\N6_Y_< MRK,/']Q+LK[MZHT.IAULBDK^3>\4$,& )V=[!BQTP(+W+0OQ+E^D7?KLIZ:^ M31H\3;/A Q^51]/FB@I8N>X:^K6@<=VS:\%&4J^2Z^*F*E9%EE9=]H:4QP/]-EGLLRBSW+S!?)V[KJUFWRLLI-'D]P MG_;L-KZP&W^^.#CC"Y.=)N?S6;(X6YP?F._< >*P9106LX@,T(WEG9YS)QW6+J,L5V"+:Z#?HWJXF$ =%9 MLDJ+)L%D9C_L,"L-[6JZ !6) N+O9?%[NBR-C)R!T9FFP3+I73B)75UVRWRV M)$Y/X,.L>()86/;Q!)PS)X1L !M^\)2I[)*^2:M=LC1E0;L?G'9$'FF#TZ5M M76%S3Y-U?4NCFAFX>T_X(GHC=@R:VQ$M$!DUR:JI-XP#7>J__O!D,7_\-%CE M], E?.@NX<.#5^C:W#"93%V^+QL9@L/M,5L79I60#,9%))3G)BM8(.(:-4DA M\+KDIU[>F:R'C$O>K8A[T<^W:Z8)2+* IHM*A#FFH4_)MF^V->@5Y$'(RV0I M F7=-YDE:D4P_>!GHFWQ5(1LG@E0IJ/0K;<'.4TN:+RB91:B(5G3W6MI/J(Q M?SXA*=P5)KY68',(08\<@AX=!/-EVJYY>O[PDG@3G6@?QKYQJHBBB?FT16Z: M%D!-UJ0=E#NZ<_1T/DO:-1WQI#/-AF]>VPD),/8CL8157^4';\ICAXC'!Z&G$K5-KDQF:'7"\RSYQ713>/BVF1+W0^-^4,Z1 MU4T.UBT )-#7=%$L*Q<)4B=5W1$<4[I>%6&(D!.S*I(G1*XEP2BO"3]X6F4= MP; $.Z1?@:N:UB %F&XEHY,$9=MO0=M\T\9[I,OB>"(,K?)N*2$Q5J32-HP2ZSBP'=BR>80F I_A; M7B_+XH;9!7'TML_6D)J%K).EHCHLT^ICTV^[; =1T4'&J>I@'QRNZN^\Y=ET M/")C$M<8$S"9NBU$7KPFB5XT6;\AJ]4WC+)V49+3F=;_L5KU':BSF#5W[ZH98 TY"-E&T<2!VF]+%S2&GVT!WI>M[ MPH]#+<"<&0GPHB,SJ5O356H9,AYPH/XU<8"ZH>$EJS$-]@RZE&T1FLL!=1*T MFQM"0;TBVKHA*["5J^7/EZXZ0)-XX,:DE:Q)UT2MLG5*\FIIB&S-W3IE@#M- M:UMWD":T%\!(T;>#T+,(,) 6&WILFL<9KY4P49+]!&J!BEE!$P6=XB8=QD5R M2_1>$<3;%@8"#2;;PS#6K?W!6Z8/"]E'7Q&-E3C)Q!TM &E'G:JF\FEDIT3, MM^N";EEXCX&,C.81#@^H=*6RA+[U)#X$ !@8@QH,@Q@)8;0CF7Q)_Z30VQWN M1>8F4-^2,KT!1EDE%05,QH=Z0R%\+_V4%B6?"G16[N3X_N9YADM$*BH@<.Z) MK&L,B96]3*)O21WF/1 /;: 6JS0BD.7,%4BZ71Q"B.@%_808XS(SQ M8@DUIZ,58%7,\D45"V0+CDF&9=<4RYXP1%MNC!B%IT,:4+JWP*'!P<#67P%L M.\2WY00ZSLG\X02\*ZCX](-@*E3.Q5+_OJMRD'+YV3&LY.;,S_S-.7_R8.KF M3"AF,S8X5?ED02(F>(U]@$"/F#G4Q J(\(]_=+?O>_^- ''P2_LO0ROX8Y'\ MNH]*W6-_3.;SV8,G/X1?G,T>_/ D^7"()PV7)K8T^HZXDU<8OP);PWF."'/' MXV\)AL.N^+NN1KDEP5[<!58R7;M>(,8:@]-&2A;'<+V$S(6"YTTF-L:6(016F++ M$^$1:TV.+#+QA1%G71LH6R0J(BN>N$W7ASKVAZK #;KNO.MDTLBP?BMH1:Q= MB]VY;W8P41A,!0P)!2-?]$O'E^]J=]>DQ7=RP5Q;U%E X2/"3+:;\FY74L^W$_2; #MO-I\DJ= M%J$+A'3C-O CQB(F-RMHSDS7H%+#VI1%#.\Q/&%+"J,* M+MF10(FAV4[@=N;0P@*?-$S< *AMV%>$MST4N7_@Q,/"?4!.-$J$1/O/DPG[ M_KW2$]B_)SP/[K?_@>> HQQ?(6(.RIWO_??289LE&$LN_\G^FEPD?W9#YD^2 M/[D__-?G9_2U&_ \F3^DO_E_;N YOGD2/G:9S!?XR+-_'AUD ML8B^=@->)O/'DP/.XZ__G+R!U6NYS0'1](,333\<%":OK=M\2@Y]X=#$?R)F MP?YVYZ$B\A;G0E:WI$;WCHFLBJ;M3@KX]_E3W7>6+PZ=]Z*D9FG3[##:A0** M<%GK[1"]^"YC-R/=UWH)?V";P0\0JZ\'C&VU7]./;)UT]<#"#11?&R_)>&FQ M(\2&$;YK)!)4F5O/SR"/V&V@&X$>C/.8.YJ70RSZ)$UALG55E_4-+Q:>16(3 MXJ'SCAOK.95#F?UBM.70>+\62)IQ/*"*&2C$>&N&4"Y30O^A32\JD5P*751M-V, M!2T@3H1.@IR?2<7+M33=+7Q<:I)MTZ8KH (Z$W+5I!N#_ 6FD@VA2V*'0?!. M;4+(RFY-!NA)5] &UO2_E-2+'8Y)EZHK?A<"WO9B?_I;R9>A^ UARA[WF+8[ MN5 H6-^0X"N3N?Z[T'_/]W"427GMOMRF._W&W3SZK>G3$@/2O"@Y:/+)$'#8 M4<:<@[7C+1W^3OQEP4:7)DO[UD5M@YA*E78: A8WOZ.6:3_A:E+KM_HZS6+! M$ 0^4P<+1P&GR=_I4";YK:^=3T%47^\G$QJ17!0EAYD-$13Z=%;2.J1G"1GK MVJ?#303;BX)+$V$;;TFH%LG(_[(XT>B4L:U^2T20]\DE6>D>>#!5T M+H; DN_RKD2.D[TLA57^"P;!/V_?;\>7 MP7LJSA_-?GCPB#XP+A9/HT_ZHVQ+,;,'$U\WX[\+)?]N$EC\)Y+ XM'L"9DG MTPC3'[^.!+YDQG\5"MYX+O+/@^??1PS4'W[RS(_E?P+&+V!L7S3=(:TU2'Z< M']0OWVM(C%DN$CE8QY]45+]EHB3ZVKBO(8DYLXQ/+J:=)'9DI-OW$GC(H:^2 M6)"DJHJ3%$@S^EV3IUZ$/R_-35&YO! )@4##!RJX1.2;# M\RNPW&\))E4/2TOT@:GGF SG3Y/'.N)5WY#5!UT3*ZR*.WSV_,4^=EVO.L[ M<(X)_>$-#+-U3;9'L8&";V(7/=P58O\[T*Q,!)E$/9B-00HVMEVRK<=JL'.4 M$(5YY+%S#QRWWB:MW9@DE]"HBNXHE.I *2+UNRPR&T?G@0R6+2<=,<&DVZ*# MUT&-6"55H_CFI!&[E'<8C/&^(L*4S0;A-W9X&O@><=A-0+?LQ) ]GV#/[C1# M5=C/QST&"P\[UT<]G]MP' LF-_4 MU5:WA#D-X2@.EVS.0R M^GK]C64[-^3[*U]VG2/6)8\:(:X,CA MFUD5;":S;;J"#X+7*"&/.-A$MPSFF:!8,]#LD_3-H?61S##, (M 600:R7+' MI)\V1>OSWQTJU'4$IV/*^7">!)1AJ2^3M,VB9?^'R<.M#@D'CD#K!J49),40 M.0$@FX+YH>/OS"5?KZ;F"/*B)%-(J-"H-]5O&U<@H-#PY*D-,2%[6MR^ZKV: MH$:;JC6V51UL8&\0:TQR*I=,P9C689)4CY@7>_B(I1]B M4;XD9'ZP;N,92^=I3O0E R.&H[RWYM1LNDOIDM/] WV#*T0&FB+=U4]$@V3/ M)Y*8#46,;UH!;S/T:2?N&8A"@2UNO:@8UIVBZ]M,U0VJ<4K=%EQS0:0;+(4P M;V[A=4&XD/2FZ"PNF8[NS(K]6; (M' !3$.G95\WLI!88[UZ]\$BT8=_IY#> M0&O$,2#3:7:Z1/"H\L5C>K>YYH&JPW>=_PPYSN%U?&*K*TP9@ /7G[VC5H3S M[^IG4B]=%I7(C A8P)Z&":^T^X%$3D'GWEMF<:MW4FP&5CM2T#B.&*Z/2,?4C%%,R$+;<0)E@P.P.B/ M(S#.I.*MN#_7+. M'.L)@BZ-NJA''B1*K S%81UO;>(LRA'],S*G=7O;[8CHQFB'S!&,!TCQ8(PB M$9HLX#B//\P&*4L<+&#[KL&\$U0@D3F=IM3X$2+T;%CA5TNEDBC RK'7J27_ M3PP'/A2S1*>LVAL\NI+NDGA=5:G^=P%!.K KQ>TY25&3:C)6#F^*OS]\_<:J M\E.+O/FVL M7JQLV&5TQE.X,:!.Q;E.;BMQ;*W4BZQR/=FB+)9XSA84#&LD3QL^NAY%!*)5;>8+T5I\'=31<%OML4"C+*=.>3$=-AID M>!4Y[YPU54Z(&JYQFKP;%V&$SJ21_]2P#+5-+ M3F./4F%'L,"9B79XB_ IB-P ?J:2/&+@S,J]6>2X<6X@YQ3;$[ATJ]%\.38< M1HB_A)#H6%,TMFY $)UFF,0GE/BG]P4Q.U&92QOOLU =G+!093GKHUH& M?ON#Q. +7^>'ZU?_@A-6S#U_3>\TR$O@?AUK"W_A8.XDF?P3YWR8U? -$A29]0'S41$$!(ZV9V7:>BG%BHWO#2,^L%'7WO2@$#!0K\ M78L!K8&W!#E)%("><779U@VELX<>6$ZO-TC_D-+%\)?[6 MIZ0>,60I1V+UJ=W%6GJ'-, M>YI@Z\XB&,]\BU/5U6XV6A]CB]RY_KUA?N!\@KPU8E(DYX*\L?YTV/P,8[ .HLZ3EK_M6'K9B<)P""*/RY.SY(-G8-3ZZ3^!30I;C;B M[DU=ELX!Q-.^R[H: E[D^YES@U^3QJ*B_XQ_FH=DZQBM'F[;-V##K,JPI=7N,;"QAA3P0] M.A%R9H6PU>G\HFC3%F8%H"N+\&Q$57Q 4Z56-""US/LBJI:4LYSI]0(Y5&3V MJ0^)A@L(W);\O/&>+C8&N9H5+=QF9!Z_)VTC6-U/<''U_L+A67RZUD+&96ED M?L^78%?T9>]OI(#&I2G27 MU-69I4Z=4BC9.4A_TAKIZYJS<1SB, M6$U:%VW*;PI%NLP%U!J/D]Y89\OS\ M"ZAOS^VR%AVV%])_>!ZEPY#OB.+X3&35CY;EAN*[4?@XNF'&XG',[YK(5Y>Q'E6DD$4'+*+S.W0NHW+8-30G'/ M*-ZL^Q2R?XFB[.4_N,M,G:0](&H1]9D\L(=3X "T>ZGAXT(8YW- !YRQE>=! M5I;>\<]4;AFD$Y=!]%7]L]Z)3F> S?49?[=OD3$_W-C"ECE<>5MM4F'[ZEFF M";QUE2$,1]^:(*F7( &.9W3$WYV;GZY7T7)JI2^AT8R&UN;?AFF]JC6W5NZ% M9=:AI>NKJZU2B"+^.TTE%#L?!#RU[JFK#HG=,6K$^78X6L5^H#1OYH+"=-%A MG&P0C&,J4$F=69"=R%:85?I$X];2)F>8N$SR$D 70N'HDE.)D-;4T]$:#9#] MXO)FW]N38D?7>M3)&]CXTQ-PBRCB;5/SWUY=O-460&%9$F)C!!"$R0KVZF]F MOB*J%EG1U+NT9.6U%A\LYN)?-ND-P9A TM( H,@F^^]FT>++-/L(BW!%=)$W M.X22HPV87'.9;5A"/;ESUV!$T9^*J"DDB",6B._/Y)(; MY+ALL7E?64Q(HZ8>:V:PB(J!:0[N2 B%B?4$G+O]JZDD$(4*?PE!2;&QC4LJ MBAU$6F2P>&MX5+[G]B2Q9O01L5#=CYT8GF)',QB_!&_#X1HO'&.%K3,_M\27 M.4HC@(A3R?VEUPOB+O\K7W^K\!!(%HTG%J'PB//(MJ3H3BN_90I7$$@G>_?R M+8'LW8NW0K.7;\6HM (K=:E-<%($I8$S[@"%?1#/D7(&AA-8F2L!E/H^P4\!3=9Z8K ZDI$_>F7^ NL,AL57[+2,:ZQ#JIX7 837]A=L"_]::-U M/V#;JB"E7 ;E,AW4$1\4;JK\D&GDO+P)T.5P+]#=ET'Q5LH>!R,)$%K[%#D: M7&6GP]1O,(0XLG1CH%MMU[N94R:)![,CRV8,=(6F*,I6:)).O6KL%FW5R(S MR*X(&_9-K8ZKO(A36,0!EY42=;;AQB+;FU9OD7]*)F8N/CB0?9CY$N.8163+ M#,DA+>SZ,# =( % KR$(BWM<]0S%E=ZV![T;OB'_.&BWIQLFKT-DYR:QF M0;Y=(044@0O5-U#P%%U"&(Z9(/0K);4@[$=GM.T@@\G6C0:AV:9L#24SM7]0A MZ("U2BPIZ !@31D0@0VHNC:>:G[)$]KSS/<@$K*,-VT(?DOQ.OKJM=[XB?^E&&GV K66& MQP7I0DK.(2>$EY (SDYND>KT]%G,,\*;XEIGNDB[31H4,%H_;WBU!\M[UZ^: MG<)#+?^)&BYYDZW^!E?1:?)&++1(\PVMMM@"B3*6(EO1JC>LVQ&W8$UXOYVC MRH.>/5P$6PW&:_ZW[4H5]"@-.AE*V-#Z!5AYY,Y2K7C#(@5!#Q?:3 A%,-YT M%9]E&T1;D%X#Y9;3MU$5+,6]18GZ;*@Q%CWL]V*H0U XZSF6DRY^*)IB8+]) MX-E&.BV$+!3!("LV<[C5RK"_TH\G)5T&]9[SNX2I M/<:.71%!KOUKC4(RV&!5ZVGW'',@+3BBG$L]=.K(E7N 6H#:#CYN62(Y=LY; M@(5U&ZQH7EV\./DKTBVSHK6!&MXCE XCD&Z?V@7:)K-, M;K_=L_^%;4YVOO\@R,?JS U<8VFNY1=K.IB!S%\5:)VD#N$-X_>&9573B$7W MI4=W4:#<%:,,#^Q\$6/6$AUVT/X/[EVNZE\1HSMI.[.5>O>4F_XX3_J@:P&3 M5;'1'5N^:AWHEEI_3([FQS:S?F>GL+L: OUIC3H9.H8=CW8; M&CXL9]%N[#AL,SWYE OO?>G: ,?1PV-W=$GV"IS+^V?#!49'\A:1G>F0#-IZ M"9-2TR1$JT]]#O.-P7+#K.A U\95%FT(SNQVDF.$XG ?$-B,1O64([=P08ZQ MY$S4F9*<$])#1<(OK5:@96C:KZ'Q@0V3:Y8L: =-9R*__-1U\*J)6X;41]'X M*K."^]1E5X_E1+B,\X$K%$SN[YQ21+2!?AGPH$"](XY1L_E'M&K5D&P7E3DX M4-F][YE86AJRL:OB;IPDG\5PNK#J9J\P ML22]MQ5[(.'"BS.HP=M'AR[#*>_CUT6XW7O/,/.W8+L M5MWJG&$G:KET^Z#&$1K+=FPV?NR9ANKO.@%_-C8F.R#=QFEKD9;#.IO&8+Q" MQS]%ROMA]_TXR,'$F&JTF%DM1(YS_*AWEX0W9,L!+NS:'K,&KDFB.O<'G MG8/3H!Z$;DT*I\0L(?--]6#;B[YSWEY;7S;Q]A"^\:$%YE.AY#MB5$L96/;?G-]N"XW5=&U+=OX8(\"?'9!3O2JW>]?MM MB+^P;RZPZ=>N!M$IXMIC3$LWG+D99,*&).$+84.=(S12&Q\Z%TMO*>Z0%9U( MD^HSV[ULTD7G$!F5'(^5OF58G<#(+(N/*/O4>03-7/M82%L#NQ?I;Y3$WBD2 M!&U:BEN3B[0A2IQ2R V_ '^M?N7]^G(+#S;76NRS!W#8"5$81(*&V!S>S1./ M"]6JEJY4%8Z%-5QKUO#1R>E_?JN^I+S4>U1QM8K-!RU6OH_]3)W5\1MW+.5R MF2S"A1-G1$X\NR "9W?T=HU::6/)CPXE]%,C_\!A$;Q-66)I-='+]RBCVO"I$(;^ !9I:&[B;*XV/*S%;74*8%P7JIW;K^5\P59C MS^]"J&P5N18*F';RM0/1NRW\[KWKG5_YP(T5_1MC#G5.MXU_W>[4C^6F#E+Y M,:][]\3!EIK3.SY$^;ZE]OQP%^RK,''\A3=N)F_ MTV57.U)3@^:<#2!@(_? MC^.:D40=1\21(X[68;)K#+M_L"H=#AXXR_[RYMWSBS>OWGWXY<75ZY?7R5%K MC/2@FY\=GW[!YIW?E:X>*D=\XK\@^\B'U/>] ^UX)@'IHK-.)2UJ\>]2@"ZE MQ*)UO>D2S3W1/A3@*KE,8)4N&WO?.#4@S3ZF-^H=$MK1?"_ ]49R>.S2OE]J MU,.$_4I[@.!.JD4)06^C2G)UUB;-7619899'75<.T;'OOSL_W$7W.H#L90#9 M23K^MJF2ZSW8BWT_EAP8UTDMVEE00X"B(,(1>RWX$8[ 'UU=?SB64HO0<3AJ MKDOP91:NE1?HZ(3H7PJ>@BZEK:0ONSZ,^Z=R2?M\K.2]35W@O.ZCE]?OWW/B MMZ06B:CV"-S8Q.VJ($2+FN5DI\[$LD3&V!ZIH$R-C@N#AQ*/:'#X. MS?3#OK."7]8Y DN$'E]9%2:+&'JZ M@PT?8QA5^;".]Y-+'J'CM23V'2!4$SK<8VLDK'VU*OVW,H7TJ!*1I1EYTWY/ MFYC/,)^BZSV%PN-N(+5]?Z-S,@10],=Y7A+?.KG.8+>W.N@$E,+EK'5NRM/] MMS'$W=1F_Y.@_-(ZL3[54)*E>RS>0'&R(B'EBPBEN-H]+77M+_ *.-@8.T0W M#O'1A>_?O#C<:?FU1'U_1=[Q%._\BN'3#@*O6WDG0>I?KBO]QW@2SGWV65O. MOM__$M*HR1"GSCG7:T2AOJ=-&WE[?0=6;Z)9QR^66J:CFO#1FV>QKN,406&H MEN9P!8Q[+T>9WK9Q;+^H;*]S%ZX(=VN%J*T-%^MVP#\WO62,5=JU2>%.)G2Q MKFM7B6&"%*@IB/JR,NGH!A5YXO6NJL9+($$[9#"[1)19#7=.LN2 I9FSYYS MD3@/7SJQ"]F$ZVME-Q*>-O!E:2!!&N!4UA.&R>S+ ]G\^.S^8-7Z$18.+8%5 M"E(X4\'C4(7T7F;KL&S-MOJ\TVLZX@4O#-:-J'G ;*]0@N=0E&P*QKPJ9 MWEP=0D%V@>F 0S;:"6!=.8XM>C..2_0Y4EU[N'DNPQHC46JI37,BFY U"9M; MX/-#I$*!$Z5<+X+X9]^9KK'G/,BK?-?.Q>%FFWC%IS(<9#)>BCAEF3[)NKYY MMN1YVA:95E6Y)ZSXYB<*S@7)M ?@$OT#Z$;8VQ^,U&*F6WY-O,E/4GA8;DSP M_DA5X#C1*5 0PE1/YV<4"<6)S#HL*&NU%1U5)P(KHB9+*2%/^SG MF"(6"6=L.-]LZ:AK^O&VL-DM*AH^CS9YNV17G-C?#MXXWZMQ<;BS(EYSPV5$ MK\6Z>-_45=UKJZ!I?>%[)@28_[NON&W\(_&2^G<_7'BEX5I;AK3)\QJI+$>O M+JZ?'UL3:/+!#UM6.8\N8';]4I_R$BM7;L#ID@0LYYKR_4P "@>)ZP]ZUL7Y MR=D/R2R)]#6=]/&#,SI5M"6Z5OY)E"'K2[':/96K>-6XD:I&B4DW%L^ZDT#C MV\8HEPBWS[,0566GW?^E3,9VE)&>4OR^F[J+]"+IVA(% I03V+Z,#L@^Z_'@ M'?'- A>'>_Y=>T?_RT][K\57SC$)9Y]'HFF'4F\PT=A&E%A?UII+9]%I, BH M!5&VR,KIT;*N37(,2P[%M.%0G^L9+)WF"JMSBJO?MAZ,Y(G;Z^.$]R4>U?W3U%E,FR[KKZ@U_A /, M-'B ?E_5Q+?U#RR R"!O[]G_ E!+ P04 " "K@5U838 N*\\$ #-$0 M&0 'AL+W=OLCL;NVT\*_O[&3INTV1$5PM_>\;QGG+.% M5$]ZBFC@.4N%/O>FQLQ.6BT=33%C^DC.4-!.(E7&#"W5I*5G"EGLD+*T%;3; MO5;&N/"&9PYVJX9G,C[YWA)PQR=38P&MX=F,37", MYF%VJVC5JJC$/$.AN12@,#GW1O[)1=^>=P?^Y+C0:W.PDCQ*^607?\3G7MLR MA"E&QE)@-,SQ$M/4$B(V?I0TO>I*B[@^7U+_YF0G61Z9QDN9?N>QF9Y[ P]B M3%B>FCNY^!U+>;J67B13[;ZP*,^V/8AR;616(A,'&1?%R)Y+/>R"$)0(@>.[ MN,AQ><4,&YXIN0!E3Q,U.W&B.FQBC@MKE+%1M,L)SPS'A3% )C#F$\$3'C%A M8!1%,A>&BPGL0C//8H;C6J.WO#+)[_7/FW@O%-QWFFB/AQ3F,9YBI9U5K"K*5HBY'-K M+A!HZEAN)CK:)G1H*4$D*1RUP=A>9Z8(B4PIKJV"]K@@B,PU$['>/X$OGP9! M.SQ]]TBFQNP1E3-W(W Y6I]87P1PKUB,M>I9'OL-?/^P,SA>![0/.\<#>!"/ M/$U)XB;TY=CI=[=@W:X/(ZLE)B*K, 4S)>,\,D3(Y$IH((T1C-,NB_^FF*>D M1]?\3&>OX[?WMZ'AH+,/KQIL0[YNM[,I7Z_7;7#!;N6"W9U=4.$<18Y.I#J% M6?&115/0:V%6Y#E4=8[:?/5'.=EKXUTISG)=Z?ENVP?^0J:*!/<&GVUTY/>. MEZ5>=1$2+A16L^4NC."@0O$'\+E:K,!AF\ 5P@7X75J[3X486LA@_=@E4.(G MH%]+\F"+3;@JSAYL"1($&^ *X2OX_5J$H-:4G)LCM/S?X?*_R^=[. M/I\PKF#.TKQ8<4&!SED*3<172GG%$6X<;6T0R9SI5-H;:MB7*E;/JDUH+7 M%I=F/NXWC1QM@A.-V;E9L%6:9E7+/$VBK_*)+_:!8+_HPL$O<,!)IE3?A:F?O%IU#C#HEM)W(-9:1?E9'^SF4$ MM>'TS"1>XV;+;*L]<4^JJU29X(8F@?I0NU!H M_UQ8ME-+$DCHK,ZNK;4G-G4>$_&PO=V]R:W-H965TB@U8VB#)-NPC+9TE MHA+ID51<__N1DJTJM6LL0(;MBTC>R\/GCD?JIANION@2T<#7NA)ZYI7&K,]] M7VM[$[-I[(Q%1=X MIT W=\PJIR0);&7SM, MK]_2.0[G>_2/;>PVEB73>"6K/WANRIDW]B#'%6LJ@G+5% MQ8 M;)UG?-S3W8ASO689SCQ;\AK5$WKSMV_"-+@XP2ON><6GT.DL ++QDC5:W^">$+&<3(0) &9Q!0^2?$A/^*Q'T-* M)E%P()Z0(([@41I6[5,TP$XI&:7/-IN0R3B!5\R^X;7#:&LADX7@;6G\6Z?P MS[-_)[DPX&C8YWF8@9B$8SH4I"0=)?#YR4(]L_V6XF0<'4@IH6'PXL1_C_*: M![%=X_\A[TKF369VMW*0 $K"Z%G>$Q+0"'[EF?M[VNB_WW-$XE%Z> _(A([@ M7FY99?A@A_TX3@_/*B1Q&,-GFT]U<%9]!(0&\1'/-'CY]?KOWIS%W>)JP(=2 M$DS2H2 A*0WM8Z-,"8L:%<_88=")?6J.9#$F":5P6[4O3 M=^RGY0^:!\NZ:%LD^^C+1IBNC^BE?1>VZ)J/;^9="W?+5,&%A@I7UC4X&R4> MJ*XMZA9&KMM69"F-;6S::6D[253.P.I74IK]PFW0]Z;SOP%02P,$% @ MJX%=6$S\%Y/* P B L !D !X;"]W;W)K&UL MU591;]LX#/XK@C<,+>#6L>PX3I<$:+LK;L 5%S3;[5FQF428+'F2W+3__B@[ M==S%-7:XI[U8$D5^^FB2$F=[I;^;'8 E3X609N[MK"VO@L!D.RB8N50E2-S9 M*%TPBTN]#4RI@>6U42$".AHE0<&X]!:S6K;4BYFJK. 2EIJ8JBB8?KX!H?9S M+_1>! ]\N[-.$"QF)=O""NS7]?AU4WB]&N%?SCL M36=.G"=KI;Z[Q>=\[HT<(1"068? <'B$6Q#" 2&-'P=,KSW2&7;G+^AWM>_H MRYH9N%7B&\_M;NZE'LEAPRIA']3^3SCX,W9XF1*F_I)]HQN//))5QJKB8(P, M"BZ;D3T=_D/'('W+@!X,:,V[.:AF^8E9MIAIM2?::2.:F]2NUM9(CDL7E)75 MN,O1SBYNF& R [*J,^!6%:62(*TA9U_86H YGP46CW'*07: O&D@Z1N0(27W M2MJ=(7_('/+7 'R:TG2%Y(W=!#Q$V27) I]0DC&B_ZCT[W^=H@ MQ?U(KF2N3,DRF'M8$P;T(WB+#^_"9/1Q@&?<\HR'T!<^DL,PK2G)%%:3L9 [1+L#LE$"RY+++3GC$B6J,DSFYOR*?'B7TE'T\7^/ M&#LHUJ#K^ T*77#=AY('ML<I)T5G83DB[),$-[^M^.AJ1]-PRX) M/TF'4G+0^&$TJDN[PCRJG4>/W0O1 _ RCNGH1!;Z(6;27:4E M1P)0(VWXDYN;4^4P.I6E$[)2&[MG:/WS9DK')[(IG9*_ %^:G1(YX06FPR,4 M]:5\2BZ>)'W2.#[D\%NYM-7*]. E?DS34_'43\,821ESA>]H5A658"YMC;$_C7!CF*++T&-$(\2:O%JG@X67M(67_'+AH6NZ M0K<$9VLNN.70^R0, UZ?@OPNA;9DSQJ)76AHP@M/V/L9,*]^>Q1WPT Q#,GQ M<3JA$76"=JR(,?D;_X(^7M<3>KRL$WI(C)YP=$Z._2A*7C$;1[T)$72ZHP+T MMNX!74PJ:9M&J96V;>9UTUT=U9L>]9[I+9>&"-B@Z>AR@G>O;OJ^9F%56?=: M:V6Q7 53Z]SQ^\9_N&X,4_6X#Q9*O79;?XJ MYT'D#$*!A74(C'X/>(-"." RX\L6,^A5.L&GZQWZ']YW\F7)#-XH\8F7=CT/ MQ@&46+%6V ]J\R=N_?$&%DH8_X5-QSM* RA:8U6]%28+:BZ[/_NZC<,3@7%T M1"#9"B3>[DZ1M_(=LVPQTVH#VG$3FEMX5[TT&<>ENY0[JXG*2ST)(N)Q$66]SK#CIV<1'R'Q1#2> !)E*0G\-+>\]3CI?_'\T,.=W#983A7/%/3 ML +G 56'0?V P>+-JW@479XP-NN-S4ZA+^ZH&,M6(*@*/LJ2FT*UTF()56M; MC2"5?%LP65!VNQL#@92IT+!'[]\A;T[KNU\CM#^LQXF@!DO"%-V&R<]6V<][V\0#[(X=H?Y'I CC1QI=(B4>JF+ Z0TSAQI MO$?*DPE0+.FYK"Q9]I*629>QO$EWV@0IQ/X&XV9 J^;UMT(IWNA1+-[ MS&=Y/CE_ABLX6W+!K2OI/0L'^3C:0A>MUJ0?&J7]DTE!_3[ 63R()]%1A0.0 MU%H(Z27XMPO)!NDD.E$D>5\D^7\N$M,VC4 733**RZY[D=I#I7 :]7O)]Z/_ M9VEZ\M#G,'T2^.2;"Y9OV0.5T0JI';J&Z\JI"SBE0@UGC\BT.8=LF.XG:3Y, M\WV<784#%2?VO-DPC^#UL>VO$XAX&$WVU";N\&<"<2A3PR<=N$:]\G.& 0_9 M->/^M!]EKKH._HV]FX/>,[WBTI _%8E&PPM*3]W-%MW&JL;W\Z6R-!WXY9K& M,=2.@>B54G:W<0KZ 6_Q+U!+ P04 " "K@5U8^FYZ\YX" !K!@ &0 M 'AL+W=O4P#'56("?Z1)8H;&0I%2?&FFH5ZE(AR3V(LS")HD'("15!.O:^ MF4K'LC*,"IPIT!7G1&VND,GU)(B#QG%'5X5QCC =EV2%]V@>RIFR5MBRY)2C MT%0*4+B^=EO+@FB<2O:3YJ:8!.;L/'R*N\)H:D8R77 MH%RV97,37ZI'6W%4N$.Y-\I&J<69]!H7!@[G9,%0'XU#8RE=(,RV\*L:GKP! MCQ.XE<(4&CZ+'/.7!*'5T@I*&D%7R5[&:\Q.H!O A'D2C/9KZK:;^/O;TOGX!()?V NV6 MMY]@7B!D1*D-%2MX(JQ"QV6L=RIY2<3FX,-Y$I^-M-W%^ *F"G-JX(9DE%&S M 6+ ;C/R!:IFJY-C6!,-]K>4S+Y4#8=46$99:2)R?30$1QGU1O]]G%9*H3#P M38K5ISDJ_BYB)I5_T8WM[W!CS*4A[%7%3?0C),>#).K8?J>2T:N,!T&X6^PV1P],+9Y?/![[:[_G->W?5.+_KO*.ID[+I_8:+UU+VB];2>]K!O(W_2Z#=\2M:)" \.EA48G9Z%/OUM0( "$& M 9 >&PO=V]R:W-H965T;P#(IC;1]P7?VW7//^7S'O&?\ M692($EYKVHB%54K97CB.R$NLB3AG+3;J9,-X3:12^=81+4=2&*>:.K[KQDY- MJL;*YF;OGF=SUDE:-7C/071U3?C;$BGK%Y9GC1L/U;:4>L/)YBW9X@KE4WO/ ME>9,*$558R,JU@#'S<*Z\BZ6H;8W!C\J[,6!##J3-6//6OE6+"Q7$T**N=0( M1"T[O$9*-9"B\;+'M*:0VO%0'M&_F-Q5+FLB\)K1GU4ARX656%#@AG14/K#^ M*^[SB31>SJ@P7^@'VRBP(.^$9/7>63&HJV98R>O^'@X<$O<=!W_OX!O>0R## M\H9(DLTYZX%K:X6F!9.J\5;DJD87926Y.JV4G\Q6DN7/):,%RIB@^SQVI0FA#)]_#+0#2/XEX M@_DY!)X-ONL')_""*>' X 7_D/"Q/ >4\#B*;I4+T9(<%Y;J!8%\AU9V]L&+ MW 2_G=5E<%ZC=Q4Y^3FN.H2'BH^?&]U;PJ3A)-^EQ%-MQ&,/U82EZPH<@7F*'L3+'M^:&6HM0.W.C8JW .VK9&OC7#2:B2=XT<.GC:G>;?U=#V?\R' MX7E'^+92]TAQHUS=\UED 1\&TJ!(UIHAL&92C10CEFJ&(]<&ZGS#F!P5'6#Z M*V2_ 5!+ P04 " "K@5U8HGD&I;L$ !=#P &0 'AL+W=O;B"2Z)!4G^_4[4K8D-[;J#1VP+Z*.Y+U?O).ED$]J#J#)2Y&7ZG0PUWIQ M/!RJ= X%4ZY80(DG4R$+IA&4LZ%:2&"912KR(?6\:%@P7@[.3NS>K3P[$97. M>0FWDJBJ*)A\O8!<+$\'_F"],>&SN38;P[.3!9O!'>@OBUN)T+"ADO$"2L5% M221,3P?G_O%%9.[;"_< F.QUX1B#((=6& L/E&2XASPTA M%./KBN:@86D0N_]KZA^M[JC+(U-P*?('GNGYZ6 \(!E,697KB5C^"BM]0D,O M%;FR7[*L[XZ" 4DKI46Q0D8)"E[6*WM9V:&#,/9V(- 5 K5RUXRLE%=,L[,3 M*99$FMM(S?Q852TV"L=+XY0[+?&4(YX^N],B?3JZ0+TRG;VE0-%V'GG_!DDYO]N>#:3,&,:WF(N MF6';L>)[7 M\K-@Q^^1.]I?^S633:4P'%MV?N0[/NTX\AT9N4FRDR1*$"<-X6V.\JGCQW&' M@X4/-W78/T[[\R@@83)V@B3&A!A3S"C:39+03=ITBMRD>^1$R;B7QD7*[J>K?Z?T&S MK6OY]^IUX]TPY2HF^6C,'9\+]G,"IJ0RY[* M=V!+WR9*0+^;((D7.O'8KR5)>B(Q;"(Q[(V6ZV*1BU> ;7'6BVF&EF.U8"F< M#G J42"?88#!YT?>AQZYHD:N:.\,F1J'/UN',X5#3)WGVR3NI_EO,^%/?!/4 M3^HW1QL>6F]:3]DXNWY9@(W<9Y'CZS['A":AA[7KB,0!+N_-$AMHY/H(3;AZ M.II* ,(Q $UE(-+D!'6# &\%)CC?(^0;B+I)@%## Q$*H4%)@-\'[YRR-MN\K[]V^;'86?D*4#.[&"'S4-4I:ZGGV:WF1W/ MZY&IO5X/GI^8G.$;D.0P153/C3'@9#W,U8 6"SM /0J-XYC]G>/\"])

'Q_(#^JO7=^+*B"J]$^87ENI@[4P=R7-.FU#=B^P;W_K0$ M,U&J]@W;3C>:.) U2HMJ;VP85(QW(_VQ_PY'!E/_%P9D;T!:WMU!+]B;#_6TT]T5:)Z M-O.T.<2J>MD>\+(#)+\ # A\$%P7"E[R'//[ )YAUU,D!XJ7Y"3B"\S.( Q< M(#X)3^"%OA72! MXS$N;*D"\ZQ%::I7P5/&01>B4<9*/3N')X^FQ ^?__-H0HS5"F4;YH>;-NSV M1> S9QIS6&JJ4?7[CX&X<1S?6X=A#$O&-[06$@>(@>LGR8@TBE/XJ O#X^'> M-!Z*TH'H,81N$B3WUM/IJ9R-^VR(_S@;)-XB;_ WX3^-=S/ ^+]"?1B_(I7= M+^)?HQ]$;IRF#P0F8.]H3?DPRL0EP61,'$4$W@B^@??V-5#PW22:CMF9";Q& M\QOAN\%VZB:38::9K C3$_D9N60DX6S6QG!5,$Z'7\E-R-@YB3GGBG*:#TT" M-R310!J[D\2'B[($,5X(KI\.$S]VIT$,GX2F99^>=_&8&!Z3X_J,4S>]I04 #84 9 >&PO=V]R:W-H965TS3M?4A[<']G;4=; MIE3!M4C_9(E>7'3&'9+ C.:IOA>KWV!MS\CPBT6J["]9%7O#DPZ)4$TGYU*LB#2[D9L96%,M-2K'N#F4 M!RWQ7X9T>G++8Y$!>:3/H$CWD4Y34+WSH4;69L,P7K.Y*MAX!]BX'GDON%XH M\@M/(-EE,$2=2L6\C6)77BO'&X@'Q'?[Q',\OX6?7QKJ6W[^$88VV5=0!\W4 M)C5.U9+&<-'!V%<@GZ S>?N#&SIG+;H%I6Y!&_?) Z9:DJ= Q(R@EDO!@6ME M9JS06A_2NITOQBW1"R O0*4B8$Z&H%\AFX(L?4LH3\S Z]N]URB?\I>W/XP] M-SI39"G%$[,IB A0T0<5QN=-:P\:*JAQL'U@_I:0/ T$"-X MH^ J^_WU1Z%1G;4]%26J8MX8 :]U[@W, )DGW\-7@7.TF[KNB=,[:/6W>6MC M4D69KCNJB*N?ZM=^[PXD!N)H56A8E>D&+6@Q*M%B=#1:2, TC%G*J*UQN*+0 MU[D6\H7,UH=3R5F)Y] $(ZT"#X'?_Y79".&$Z@9#937*/'?@D!\WGR("[>GT M"<=>!SVU(9L"AQG;9I8[B"KCDW+\H$7\Z6?3 B06I;$S*;R^V> ,PG(<#+QR M?'M_3=2Z"W%#KYOU2,HRIG>I_8HH=^"6X^L%Y7/ 4R1/-,T+&IIB,T5YO#6W MZXT'H][.M!+M?R"RRT;N^UEP1%1WG8'70Y_B!W]; CHL SH\.J!-E,)LAMZR M]4\#5D.)W2))&*XB L:HB:E8,97R!75<49DTEL9VF8\+>*4LK',8?7/L)8ED M"KD(HA"HV(S%%/$969@C*CBBD&2#1$8:50I0&)6 0_2P.4;UKQ7/QGS:YM%- M7;.OE_V[R:4EYI%F?$Y2H=2>M[;@AQV&$XZK"U'?=1URRY^PL)E$KN7\.*JO M13ZYC&.9TU35_AR'?FTM\B,T%8$K7H.D.5&:F6/ZO)N!V_K=()7<(_)1&2\L M/3RCS>9R8HJ-F?"$Z5Q"7:6@'WGC.K^^YYU\&5'*[6$#B\@A]@YE(BW'0,0B M,,5*H.M^=/M>,&I8#:*(_"K-F35%:4W@"1)XM67?Z[L84A];P&F+2E$_"L;U MHM_UG;[OX1\-,=F@=^0U-%C]Z&2T2[]Q"(-7!/:.:ZTF#0T,GF+88 UZ-O1[ M>ZB[M;79 [[7.ZA^DXA1%#2*1C?T;%JVG2FV(J.&3JT%S*,2S*/C[S*V="EB M\:V\6ORDR-P&74##UF20WWI5"LJ(!-)C1UW+9)QOOYZSG[#?BXD=;$.%Y?IKY!:3=L<2P& MC7'IGCN#R-]U9U.Z#2MO.1G(N7VQPJ(J@K;;BQ>U]U3B M^2J2P@Q)G4&$;;XL7JF*B19+^S(T%5J+S X70+$K-AOP_YD0>C,Q LJGPLD_ M4$L#!!0 ( *N!75@A+[HW% 0 $(, 9 >&PO=V]R:W-H965T+ M""6J)!4G^_4[2K)B-[:Q#B@P[(LIDG\(\^3C50/.@ 7CI3.;-&-S-9O(V@A> MPEP171<%4\^7(.1FZ@3.=N".KW-C![S9I&)K6(#Y7,T5]KP>)>,%E)K+DBA8 M39T/P?@RMO:-P9\<-GKGFU@E2RD?;.=C-G5\2P@$I,8B,&P>X0J$L$!(XUN' MZ?1+6L?=[RWZKXUVU+)D&JZD^,(SDT^=H4,R6+%:F#NY^0TZ/0W!5 K=_))- M9^L[)*VUD47GC P*7K8M>^KVX9\XT,Z!-KS;A1J6U\RPV43)#5'6&M'L1R.U M\49RO+2'LC *9SGZF=DMGOO',I4%D#DH+07H\XEG<"5K M[Z4=ZF6+2H^@!I1\DJ7)-;DI,\CV 3RDV/.D6YZ7]"3B-:07) Q<0GT:GL + M>]UA@Q?^N.Y#[3X'LI("DY67 M:V)L!! -1N.@,CDQ.)W^ *&>"3GC)7K+6J.E=@D\I5"9;LXZOUBR0M:ET>=C M1MV]H>2V[H Q8Q4XU<@ MMR^ZOY]Z2T:N'].=?N(&=(2+E1+3^C#>MOW2W"V0_<(><>DUM/ND[>:G;>#B M/9$^$+QTM<&]Q)-SNV/Y'HKZ[B :NJ%/=X>"T'?#,-D58(]C"VY7.P;XEO@7 M4;37#?U75M==9/R?C_)WT'I,-DPI5AHB.%MRP;P&J%S[A=H$.N[.VCFXOC;O%9'Z6:!*AS![P?CV(W'H[^G91CFTH# M-TP&*";:TS>(W1&-3R?7\7/"]*)[73HZ\:C$_:,2G[SF%UC=934&#@JMI('2 M<";$<\O#[KB&M%;<<-P+O*I%;=-II62Q=\G;U^:5F$-OSFDR/R_#_^CB!-.C MJE6:8_VV?ZY)$+H))O,P"MQA%+?!%&+X^<.778_<(!IL:X36KTMS38*A&R7! MMKE9S.>-6T#W:=O^O31,D%%"W6 4DV$2N5$<;JT.G:FW4]?A3;5NJE>- O!Y M;$N\?K0OD#^T=>&+>5M=?V)JS7$C!*S0U;\8X(FHMF)M.T96396XE 9KSN8S MQR(?E#7 ^97$*.DZ=H'^;\/L;U!+ P04 " "K@5U8W%/(!ID" _!P M&0 'AL+W=OT@4@N:NH=)J*S;LTDNX-6Q,]N![M_O.@E1.@+B82_$]_J>DW-N\/5X)]6K MW@ 8\E9PH2?.QICRWG5UMH&"ZAM9@L"=E50%-1BJM:M+!32O005W \]+W((R MX:3C.C=7Z5A6AC,!VWAB;<--Q2=>P /-2SA5& M;L>2LP*$9E(0!:N)\^#?3Q-;7Q?\8+#3O36Q3I92OMK@:SYQ/"L(.&3&,E!\ M;&$*G%LBE/&[Y72Z5UI@?[UG_U)[1R]+JF$J^4^6F\W$&3DDAQ6MN'F6NR=H M_<26+Y-R,V*:^'XWN/,\;N]N^HX%"+[H;]0O?J8TZM=%)M2]BR3B'_%S! M#5OKDY)2%^XL=^ MZO,[?GW&N[QX+U="2/*1)EDY\592KN]\OXQ6(@W+FWPM,O7-(B_24*K+8NF7 MZT*$\[I1FOBTUQOX:1AGWG1(F7*UG=\*?C=;@4KT+^MGXNU)7?JLSC5&1EG&>D$(N)=Q_L_R:YYMN>1 M:%/*/&T:JQZD<;;_&7XT W'4(!B<:4";!O2T 3_3@#4-6&UTW[/:UF,HP^FX MR'>DJ)Y6:M6'>FSJULI-G%73^"H+]6VLVLGIZW[Z2+X@K_$RBQ=Q%&:2W$=1 MOLEDG"W):QZZD>-GX>] M'WK&3T#)4Y[)54F^9G,Q-P5\-3CM"-'#"#U04/%11#>$!5\([5%FZ="L>W,* M=(>U$\9J/7Y&[S#N_^IQN[<-$ZA2+0YWY3J,Q,13O_VE*+;"FW[_73#H_6RS MB"1F&.:M85ZKLS.&S5049U+!,>TBB1EV^ZW=/CB__[=+UJ*H;JE5U>8[K<6JOP&VT]Y-,!K[6XNC0>MHX)Q8=?$4?L3I)B5_/HGT311_V;R!PJ[> MD,2,,1BV8S!$"/$0TRZ2F&%WU-H=X89X9,M=&[N](?"5%QJZ;0W=NF;XP>8# M5'&=020QPW#0TV#00XAL(X+D&$O-M'S$0@%N;!N]D]SV3X+[V5-F;ZGN+77- MY,S:25#&>8J0U$S3FGX"AI%*5/K!4C,M:_X)0-ZX()7Z!A/5?WC=HY M!#9-::*A,-%8\OS5Z@64:?"A,/K;T=ER-867GV;W&CA#53$7[&(%&)2HL-=.R)BH*;QJY M!QH5KAJU;JNQ9B8*,Y-EG_P+R83\=#,7UG4V=PW&HIJQZ @CS:@XA:5F6M8X M1>'M(_O".+_S22TT=5=I@J.H2<.LN,*SK/+77@#"F(8QAU-\8 M*F]AJ9F6-6\QY!HZT@C$803J%.>.RS#\*N?IO@9&<8U1 M'*-DQU&9"4O-M'QT9 FY9 ?K.;NWEO;LZS775,1A*NH2<.OF,JSK;.X:&U-< MTQ;'*/5Q5(["4C,M:X[BR*4^;BOUL=/-9?BME[K2J,1A5.H4YZ[K->IF%9:: M.3":RSA&[8^C0AB6FGGD4D-8'[GV!^LYG[KL4OOSCPYYJVPNZ[/O):E#O#_- MW-YMS]??UZ?*3^X_!'>S_2EY+;,_M/\4%LLX*TDB%DJR=S-42VVQ/P>_OY#Y MNCY*_I9+]0M2?UR)<"Z*Z@'U_2+/Y>&B>D'[OQ&F_P%02P,$% @ JX%= M6%51]5V5 P &Q( !D !X;"]W;W)K&ULM5AK MCYLZ$/TK%JVN6NEVP>2Y>Y-(^]"JE;K2:M/'9R\,B;7&3FV3=*7^^&L#"T$A M%E'HEP3#G),YGF%R8+83\D6M 33ZG3*NYMY:Z\V5[ZMH#2E1%V(#W%Q)A$R) M-DNY\M5& HES4,K\, C&?DHH]Q:S_-RC7,Q$IAGE\"B1RM*4R-<;8&(W][#W M=N*)KM;:GO 7LPU9P1+T]\VC-"N_8HEI"EQ1P9&$9.Y=XZM;/+6 /.('A9W: M.T96RK,0+W;Q)9Y[@]9L6N'_\QGZ?BS=B MGHF"6\%^TEBOY][40S$D)&/Z2>P^0REH9/DBP53^B79E;."A*%-:I"789)!2 M7GR3W^5&[ 'P\ @@+ %A5\"@! QRH45FN:P[HLEB)L4.21MMV.Q!OC(R^4O),&=46_ !$91)B9$KW!%$FI>6^ M(8HJ].$.-*%,?30_45_[A+XO[]"']Q_1>T0Y^K86F3*L:N9KH]MF[T>EQIM" M8WA$XQU$%VB _T5A$ Y:X+?=X6$3[IO=KK8\K+8\S/D&1_CJG6N34F"'[5A[ M4U^I#8E@[IF[5H'<@K?XYQT>!_^U">N)K"%S4,DDX)[4S:+L8C"^'XYF_W1=V&!6.ISBLHAH9#ZN,A\Z,?Q(I;?.S MLF]?V_)S4IQ:GX)LM"]CTJYA5&D8==AUMG?G==]Z)_.ITD:=I8TK:6.GM*^P M!89P6^9.X*F9]T36T#BI-$[.F V3/F7V1-:0.:UD3O_&;)@>]%3;;#B,,$GEJ5GL@:&G%0FX'@C/8KP3TI[8NM*77/]^#SA[V;XV3% MN/-,Q+69P,X_\;,&OIOZ9'EA=WFUB>W.UK$]-E*\H58I 87' Q,=TLBS<1Q4*+3?XP_RRT%FE^N 82@[0! MYGHBA'Y;V/<#U?N@Q?]02P,$% @ JX%=6!HV==O$ P Y1, !D !X M;"]W;W)K&ULM5A=;]LV%/TKA%8,+=!&HIPX'[,- M)$Z+%:@'HVZZAV$/C'1E$Y5(E:3B!-B/'TG)DA4H])(Q+S9)\1S=&2H!T18BC[^K&BI#U2A MM]>@",WE.[WE9G6-WKYYA]X@RM"W#:^DWBLGH=*QFCN&21/751U7_$1<.$8+ MSM1&HH\LA;1/$&J1K=)XI_0J=C)>0W*$1O@]BJ-X-!#0_+_#8TH+O]N-6^[&+_9'VO--.GM1>$XXMH7DUW@S/L(P<[U0T$Z^9Y[0)[(>M+'K?2QTYS##_I[] <, MZA[[U.V)K*?[M-5]ZCSR&PE9E:,OVHR#+G2C8_0 1 P!YT[@"T6=M:+.G&$M M"*LR_;FLA'F=MP9&_Z %9;2H"O37 HI;$'\/279R/_=L/9'UTG#>IN'KV1-;3C:/N$Q_]+U[8)?ZFQR?]#9;O+G'K$OMGXJXBX5 ML4]W-VR^M'MBZVOO*BGL+%8.^]L-/W7X^S6J)-R52=A=)WVJ!*/:W6!/-:/W M9CPLT4GT[//TQ-:7W=5=^,2KE[V67;[8^MJ[P@L[ZYO#7G;#75Y^C<(*=Y45 M=A='*YZI+1$P*,I3>=0(?8UB"W?5%C[SZEZO!98OMK[VKL3"SDKFL'O=\)'# MO5Y+J'"O85* 6-L^DD2VYU%W%-K5ME=U:3LTC]:O3 _+-F(ZFKH!MB!B39E$ M.62:,CHZU>\54?>4ZHGBI6W+W'*E>&&'&R I"+-!7\\X5[N)N4';V9O]"U!+ M P04 " "K@5U8*E " 1!0 &0 'AL+W=O59M6E;J"Z> M1"?MWT^2'2\#VKSLQ18EGL-#4E2^-?;1M8@$3TIJMV M47>9)*YL47%W:CK4 M_J0V5G'RIFT2UUGD500IF61I>I$H+C0K\KBWLD5N>I)"X\J"ZY7B]GF)TFP7 M[(SM-NY%TU+82(J\XPVND7YT*^NM9&*IA$+MA-%@L5ZPJ[/+Y3SX1X>? K=N M;PTADP=C'H/QM5JP- A"B24%!NY_&[Q&*0.1E_%[Y&13R #<7^_8/\?V"?6108!P5 MZZ$98&I8BT:+6I1<$UR5I>DU"=W RDA1"G3P'M;^2E2]Q.!]JSIIGA'A'@EU MK/!W_@37%BM!<'R#Q(5T)W $0L.=D-)[N#PAKSE$3LI1WW+0E[VB;P9W1E/K MX%976/V+3WRN4\+9+N%E=I#P6Z]/89:^@RS-9O!C?0/'1R<'>&=3(6>1=_;? MA7RI" /W_&7N,)B7KN,E+IB?/(=V@ZQX^^;L(OUT0/E\4CX_Q%ZLK"D1*P>U M-0IPUU<[]95\7\NAKWYD>EV]F,(0Y"(&"4_!ILCR9+.O*]F[I@IM$X?102S0 M<&.GW6G>KX9K_M=]>"SNN&V$=B"Q]M#T],,Y SL,X&"0Z>*E?S#D1R@N6_]F MH0T._KPVAG9&"#"]@L4?4$L#!!0 ( *N!75CS=DX$Z@( *P+ 9 M>&PO=V]R:W-H965T1"@;:# M2*5=M4E#0T7;'J8]F.1 K/J2V:;0;S_;"8%)U"EL>TELQ^=_?B?'ES-<"_F@ M"@"--HQR-0H*K[(LM!T(TV&)ES #_;6<2M,+ M&Y6<,."*"(XD+$;!=7PUCGO6P,WX1F"M]MK(AC(7XL%V/N6C(+)$0"'35@*; MUR/< *56R7#\JD6#QJ]<\":8.59P(^AWDNMB%%P$*(<%7E%]+]8? MH0[( 6:"*O=$ZVIN/PE0ME):L-K8$##"JS?>U#]BSR#N/V.0U :)XZX<.JL#1SA-BLS+K-,-0&P0J%6>UN7+E+GG$7)V@BN"X4 M^L!SR/\4" U[$T"R#6"<>!5O(>N@;OP6)5'2]>AUFQ_2=7K=9_2J& ]%5MF= M'[:SN^=*E3B#46"VAP+Y"$'Z^E7OJE!(E=.JCE,[F #5$: M> 8V=:)T2UP+,VP&\T/X?@=:KL##V6LX>UZ9.\*Q93J9TB_?0MEO*/M>F0GA MA*T8^C$!-@?Y\Q"(5^'$; \:OL&):W#P'Z@N&JJ+(W(K@<,:4Z1!,G1&.'H" M+ \?"7[9I++T %XV@)=';9(C$/W"[8AQM#MO(__:PYO6M>>7.#'-\=Z5$)^X M_&K#?PR6[,"2%R;8I=0<*56B_;EM$1VT)W=W=\3>2Z#9(D?A^25?@+>[1&+_ M(7_R#F[1[;4S[BZ0V'_$_\4F;E'V4(9[!10#N71EHD*N!JIJJ6:T*46OJP)L M-[VJ8R=8+@E7AGYA3*/.P$#)JC2L.EJ4KAR;"VV*.]&PO=V]R:W-H M965TF MR>,,2LROZ0J(?+*DK,1"3EEJ\A4#G&A069B.905FB7-B1".]=L^B$:U$D1.X M9XA798G9RP0*NAD;MK%=>,C33*@%,QJM< IS$(^K>R9G9LN2Y"40GE."&"S' MQJU],[4M!= 1OW/8\+TQ4E86E#ZIR8]D;%A*$100"T6!Y6T-4R@*Q21U_&U( MC79/!=P?;]F_:?/2S )SF-+B3YZ(;&P,#93 $E>%>*";[] 8\A5?3 NNKVA3 MQPX" \45%[1LP%)!F9/ZCI^;1.P![', IP$XQP#O#,!M *XV6BO3MF98X&C$ MZ 8Q%2W9U$#G1J.EFYRHUS@73#[-)4Y$#[ &4@&Z0K.TX6SL3IY-Q!O$UHR?>I7-54WFDJ=9QO^ K',#;D>>7 UF!$'S_8@?7E ME,^>R Y<>ZUKKXL]ZO!8 P,-5%^8=12X@\ ?F>M]\:^C_# <[J(.5/FM*K]3 ME7P7@N6+2E!V2EDG^*W9[XGLP&?0^@SZJ[F@3]<]D1VX'K2N!^^MN1KH[U63 M%PZ]XYI['>5;H>>>KKEAJVK8J>HG)5=)=]UU$KSU#?1$=N U;+V&_=5=V*?K MGL@.7-O6[@=JO;?R&N3^A\QV0\E9^[]Y$M@J>Y].(II143] M@VQ7V_[J5G<51^L3U7?IYF%'4S=M=YBE.>&H@*6DM*X'\CBPN@^J)X*N="NQ MH$(V)GJ8R=X1F J0SY>4BNU$;=!VH]$_4$L#!!0 ( *N!75C0^.].V0( M )P* 9 >&PO=V]R:W-H965T$QB-8J7X@?]QR?<[E. M[F#+^+/( "1Z*7(JAE8FY>K.MD6<08'%+5L!53M+Q@LLU92GMEAQP(D!%;GM M.4YH%YA0*QJ8M2F/!FPM_$B&EJ,5 M00ZQU!18/38PACS73$K'GXK4JL_4P,/QCOV;,:_,++" ,)W+&=M^A\I0H/EBE@OSB[95K&.A>"TD*RJP4E 06C[Q2Y6( X ;7@!X%< [ M!70N /P*X!NCI3)C:X(EC@:<;1'7T8I-#TQN#%JY(53_C7/)U2Y1.!G-8 -T M#>@SFA"!TY1#BB4D:/&*'HDZ+T5LB680LY02D_?K"4A,CBL1HU*$=T&$ZZ$'1F4FT%>:0'),8"M'M2UO9VOD M-3).(+Y%OOL)>8[GGQ$T_G^XUR#'K[/L&S[_$M\^MSJ')J4F[^=R55)USE/I M:WTG5CB&H:7NK0"^ 2OZ^,$-G2_G?+9$=N2Z4[ON-+%'#1Y+8&B ^DVSB4*_ M&P8#>W,H_M^HH-_O[:..5 6UJJ!1U901*G7!2O4Z.J>M$?[6_+=$=N0TK)V& M[55=V*;KELB.7'=KU]WW5ET)# [KJ>/V_).J.Q,5AMT+5=>K5?4:5?W< +]8 M<8W0M^:^);(CE_W:9;^]BNNWZ;HELB/7KK/_B#KOK;D*>?@2ZP<][Z3FSD3Y MONNF_1$H9FLJRV]CO5JW6/>FL3A9'^G6R_0/>YJR;WO /"54 MH!R6BM*Y[:I[P,M6J)Q(MC+=Q())U9N88:;:1^ Z0.TO&9.[B3Z@;DBCOU!+ M P04 " "K@5U8\.\;XH\# !3$ &0 'AL+W=O61^Y^"HS (6^%3F3&RM3:G]KVS+. MH"#RAN^!Z94=%P51>BA26^X%D*0"%;GM.DY@%X0R*UI70\^/&PM;+Q"--,V4F[&B])RD\@?JR?Q!Z9+D9'RS/E7,_@CV5B.R0ARB)6A(/KC />0YX9)Y_%O0VJU M>QI@__F%_;=*O!;S3"3<\_P?FJAL8RTME,".E+EZY,??H1&T,'PQSV7U%QWK MV""T4%Q*Q8L&K#,H**L_R;?F('H '%P!N W /0?X5P!> _ JH75FE:PM421: M"WY$PD1K-O-0G4V%UFHH,U_CDQ)ZE6J?@GY#JN-Y+0_??#W8ETO/90 MO8K/N\;7':6Q*M^AYIC'SJJF\L>IS*_X5NY)#!M+_TPEB -8T8\_X,#Y94SG M3&0#U7ZKVI]BCR8TUL"@ IH7RR$*O#!8K.U#/_G+J,5JM>RB!EDMVJP6DUD] M")Z4L4*2Y##JU4GX:\]_)K*!TJ!5&LSGNF!.U3.1#52'K>KPK:ZK@8N^GSQL MW@\#UXU$+1S/'7?=LLUJ.9G5GS0V5QU+Q_*:A+[V[&>>&XYW#O+L?3>?$3R14=?\]-8U_[ M!L6[ LQ8.<[$- ME7>E WYS[= @^\6HZSG^N?TNHW1RY[6#W6O/"A!IU;5*%/.2J;K':6?;SOAC MU0^>S=^9CKEJ^SJ:NMW^1$1*F40Y[#2E>;&UUG00P99M=D [FXLR8TPUQ,::2S#04<*E"6ZI9AN'J& MDUSSQVIM0?TQV?(TR6%!$=MF&:8OMY"2_40SMU<9(6ED1\B0G/\*)9DA%D$+ M)046EQW,($TED]#QMR35JF=*8'U\8/^JS LS*\Q@1M(_27*$+E.3H M5TRV#.E *N"T$6&<$F!:Z)SF/&;K+0PB;!+IP4UFR#I9NK4[& M.037R#8_(5ZT,7N=W@L@*X"RK?,SG?MH>N, M]5U=_.LHQ_-&QZB&*J=2Y72JFBZFLS9)G:BWIKTGLH9!MS+H]E=L;I^N>R)K MN!Y6KH?O+;8"Z-3*R+8-SSTIMI8HQ[7-]F(;5:I&G:I^$LIC-,V )@%NT]8) M?VO^>R)K./4JIUY_5>?UZ;HGLH9KTSB>G<9[ZZY$UDO*=#QYH#0*KRULX-AV M>^69M5/=[%1V=W\W;975"7MK]OMB:YJTCB:M_LJNY.K+>4]L3>?'EL+L/+L[ M"\]^=7":@^%@>%IXK\.\D77ZQM-KC:5XCT6JWV8H(-N<%PU9M5KU]%/5R9ZL MW\I>7S6L1YKB0^$>TRC)&4IA+2B-ZZ'8"[3HO8L))QO5OJX(%\VP&L;B>P6H M#!#WUX3PPT0^H/H"\O\!4$L#!!0 ( *N!75@9W1\5A ( -$& 9 M>&PO=V]R:W-H965T6K=,09K[B0@D]2S1/I?>88I8!6M@C,^%EQ1DP)=$U6N@3 MDZ\I(+Y$3VRC1[GX1)=34)A0>:41+XLINKRX0A>(,/1<\+7$+)>)J[0Q(^]F MK8G[QD1PPL04LAL4^C]0X 5A#WWR=7JP3W?U=G1[$G1[$EB]\(1>%[8O24.- M^JGFSMW)"F M;];08TLWQ6"3^J/;Q-WL!CC&Q''<8?9\19VOZ*RO5WWMKPF[K@3/0/8Z:P0& MNZL.@^C VC$H&D8GO TZ;X.SWAX((_JNY6C%>?]!'QRMZD?#T8&U'E P]/NM MQ9VU^*RU9ZXPU??PS-&-CS[6*+SU#[P=@^)X%!YX3=#G4TT!;3I*%[9&O3&E:YHMEGH?PX( ]#S2\[5MF/*6O<72_\!4$L#!!0 M ( *N!75B5"07.- 0 !<5 9 >&PO=V]R:W-H965T11 PRPIB5TR&(S=A$;,6QG/-4Q1&#!X%DFB14 M_%A!S,\+!SO/'9^C_4&9#GX]F: M$).01?P5P5G6GI&1\LCY-]/X(UPX \,(8@B4@:#ZYP1KB&.#I'E\+T"=\ILF ML?[\C/XQ$Z_%/%():Q[_'87JL'!\!X6PHVFL/O/S[U (&AF\@,S M04$J%4^*9,T@B5C^2Y^*@:@EX/&5!%(DD';"\$J"5R1XF="<629K0Q5=S@4_ M(V&B-9IYR,8FR]9J(F:F<:N$?AOI/+5H->H8BA+P>>2ATOYZ[2 M[,PWW*!@LLJ9D"M,,$'WG*F#1!]8"&$3P-6R2FWD6=N*=")N(+A#'GZ+R(!X M%D+K_YY..NAXY5![&9YW!<\^GF_-@-I&*P<;VL',ZI[)(PU@X>CE*T&#WZS*>T)K*%[6.H>=J$OOW!%8W2LJX=*_5YP:75+#CK.0,UF=%KB\9#X M<_=4%V:)FOIX6$8U&(]*QJ-.QI] RIG>88(T26.J(-0;@QZ8(*)FZ[&1S?%& M-1KO,)E@W&)K"QM-/6RG.R[ICG]B@)G=7N,+*MX$3UI\+4&^[]G93DJVDTZV MF]I09EQIPH6*_LD[X$D?4!)LC"<79+ ^K%J,+4E"#L5\R]CL9WU.6[O1Y MDXJ([:NAM7'L!+IUT?8$UM \+35/^]RLIGWJ[@FLH1L/J@-Q\']L5P5JPWG> M<#IL^=,6-L;>%8?BVC&..UF;DSM5(#*^>LF;XJG;JMV M\Y97VA-^:223_JT M:X'6E_:>T)K:J[("=Y[>+S:L=^'$$6EOIY8@C,F5XQ57%0'N+@D^IH)%>C^% MC.TN>C+/=I:=0#?/5$]H3=E568%'O;JTLTJY67M/:$WM58V"?Z9(N>[2RQ($ M8Z_M4DN0/[EBTJI.P=V%RI;OU)D*:RW2G7KSU/2$UA1:E3?8[]66O18Y?:$U MM5=E#NZL)EYLR^F%XWPR:MOR,FA*IG9;DJH^(=WUR2>@$@X\#E&4:-XG,%2M M)+N!;IVHOM":LJL"A^ ^34IZK6[Z0FMJKZH;TEE!O-2D!6KCG^/A9-QRJ35J MV#[BW=H54P)BG]V\213PE*G\1J;L+6_WWF=W6JW^%9ZM\SNZ"B:_,KRG8A\Q MB6+8:,!: C"!.CW.\[5<\-\H+P+7?X+ M4$L#!!0 ( *N!75C=X"J$C ( .D& 9 >&PO=V]R:W-H965TP(9[#K]CS"7;"OFD*@"-GFO&U=BKM&ZN?5\5%=1$ M78H&N+FS%+(FVDSERE>-!%(Z4WGFKLUDGHFU9I3#3"*UKFLB M7VZ!B>W8"[W=A7NZJK2]X.=90U8P!_W8S*29^;U+26O@B@J.)"S'WDUX/4EM MO2OX16&K]L;()ED(\60G=^78"RP0,"BT=2#FM($),&:-#,:?SM/K'VF%^^.= M^U>7W619$ 43P7[34E=C;^2A$I9DS?2]V'Z#+D]B_0K!E#NB;5<;>*A8*RWJ M3FP(:LK;,WGNUF%/$,9O"*).$+U7@#L!=D%;,A=K2C3),RFV2-IJXV8';FV< MVJ2AW+[%N9;F+C4ZG=\21G@!:.ZVS$34C># M4(7:&YV3+EF@,02W12%7$.) MOE.RH(QJ"@J=3T$3RM0G4_LXGZ+SLT_H#%&.'BJQ5H27*O.U0;0/\HL.Y[;% MB=[ F4)QB7#X&45!A ?DD_?+H]=RWRQ,OSI1OSJ1\\-O^.UBLW^QAS*U)O&P MB?T.KU5#"AA[YD-3(#?@Y1\_A&GP92CA?S)[E1?W>?$I]WQ&7J1@[$("(]KD MAF?3+=1PZ-8I=4ZV5VQRC..KS-_LASDNBD:CM"]Z!1GWD/%)R#N^,3M4R)$H&69*>J;D)--/78$10<\QS5Q&@WSI#U/>I+G M06C"3(]\U_9-CUY2C'%Z 'E&ULK5=; MCYLX%/XK%JU6K=0.MT"2V01I$EJU#Y5&,VWWV8&3@ HV:YMDNK]^;4,82 @[ MF>4EP9?S'7_?\>6R9;9H,2ISD0GE*"&&R7QIU]&]J.,M S?J9PX*UO MI*AL*/VE&E_CI6&I%4$&D5 06/[M80U9II#D.OZN08W&IS)L?Q_1/VORDLP& M4 )$HM2@KXGM.28Q'QA"KDFA6Q&M?]5Y=^YX-]V MT#=*1,+1)Q)#W ,0#@,XDP$ 4ZK12.(<)5DY@X@A1#?(M3\@QW+C @6&7H:T-UL^X#WYWZWL+'@ M(EY)T6LH>H,4F\V1I9&ZR\E.WN4765=87HN/Z_HGG,_GS!S[A+%WIDL;IT/$ M;XCXP[&Z"]$7S&)4,!J7D4 VPCL&(%\HT4=E$.W:'3\F6#@26$?%::/B]'_? M%=,QE1L3+!P)K*/44B 50 MTWFL2D=*^98SI:)@,C,LE;;'X]R;9 SZNU:_,<'"^7DPK%8P.OK9UG/69KWV M;:HMVQZGI]%?#\-?R[''I3>]2+*5FMHCODXU6.=Y.N=MG[T]L[.C\1](73;. M,QOG)2%#\%3(FD>R:FX%NB/I/_WW0HTYN-[UL..K@SGLLF)OMBJ.'-A.5VY< M'EAYKJM,N^EMJL,[71.=]*_LVW55XSW#5"7G-\QV*>$H@ZV$M&ZF,AZLJN*J MAJ"%KFLV5,@J27\FLO(%IB;(\2VEXMA0#II:.O@74$L#!!0 ( *N!75AF M]@M=)@0 )L1 9 >&PO=V]R:W-H965T;&>V@<99T0$K&C3M]IF1SC912=1(VF[^_4A*D6Q)I@*C M7VR]W#WW/'>B[JCY@?$?8@L@T<\\*\3"V4I9WKFN2+:0$W'+2BC4G37C.9'J ME&]<47(@J7'*,]?WO-C-"2V^3+.=O)C!;PR)'8Y3GA+_>0L*P7C@?\-T*S[2#L?B'PD$< M'2,MY9FQ'_KDKW3A>)H19)!(#4'4WQY6D&4:2?'XKP9UFIC:\?CX%?VC$:_$ M/!,!*Y;]2U.Y73A3!Z6P)KM,?F6'3U +BC1>PC)A?M&ALHTC!R4[(5E>.RL& M.2VJ?_*S3L21@W_.P:\=_*Y#>,8AJ!T"([1B9F0]$$F6<\X.B&MKA:8/3&Z, MMU)#"UW&)\G57:K\Y'+%\IQ*51< ;OB]P"1QFHATNE MJEIIZHD=RE0%% X#Z15\)TJ2P,)12U0 WX.S_/TW''M_#*G\16 GFL-&.DWRGZ)0XSG[OZ8N!7Z0N)10SP:(QX-$:^\HE/B<8>X%?I" MXG%#/!XC'@\1CP>(!]V,6Z$O)#YIB$_&B$^&B$_ZQ ,<=HA;H2\D/FV(3\>( M3X>(3WO$(W_6X6U%OI#WK.$]L_+^IEY'0-82^!#[68]],.V0M\)?2!Y[;8/R M[/29)%G].BW)BVE5@UW'ZRF)<= MA#W8I6*.NBVVBOD;A+A#-"]W$E+5'511 M0,A!.;@GYR:*>G*LX2Z5X[=R_#?7)J/DF694JKEA4(_?7R;1U.OJL<:[5$_; MN;&U2=;E27:%@1G!(;\A> MW=B VC7H?4EKH!9/CJY>@'!Q/:C&'B]$QA6%**_F41R@E+P,E78U A5UH>(! MI-.TM'T>VQO]:%I2*A*V4X559C"8ARJ ?O4U!?-NO3#JUG74[E1"V_&QO>5_ MI 4I$OAE=;5'PZ88"%>U0/[YHHX,*G51;4"G"6DG"6P?)482,E[1Z1LK.FIW M*J =*;!]IN@^E D39[KR;& 'X/7>*"-6%4OW:)N; ]^8W;] )E75;K&YVGQA M^&#VU9WK]_K+@]D^MS#59XO/A&]H(92JM8+T;B=JW?/J2T!U(EEI-M//3*JM MN3G< DF!:P-U?\V8?#W1 9KO,ZWBAS(DRG M%5G#/:@OU4+H5MBYY+0$)BEG2,!J%KR-;W$\- )[QU<*.WETC,Q4EIQ_-XV_ M\UD0F1%! 9DR%D3_;6$.16&<]#A^M*9!UZ<1'A_OW=_9R>O)+(F$.2^^T5QM M9L%U@')8D;I0G_CN+V@G-#)^&2^D_46[]MXH0%DM%2];L1Y!25GS3WZV((X$ MVJ=?D+2"Y%?!\ G!H!4,SA4,6X%%'393L1PP422="KY#PMRMWOJ4 MF>=^KX2^2K5.I1B6"KU&HK1>\[41J(_60[YJ3[4H^Z&GNR'?IPEB"T'Z_(]X'+WI(^+3#'LR.Z$U[&@-7>[I!YT1L_V:W=HURUN..WOBW G/LDY9/,^S)[(36 MI*,U<:ZUC[622K\@3%PN24%8!GWPG":7PIL\BIFH"YB&B*?N3HA<=T2NG406 M BKR4)J,M()>&->/QA]/?IG!W-G'I0O$D]D)CIL.QXT3!SXW1SMM+ETB/LUP M8S8ZSM'C).K/T7%T*,0B)YA_0,I;9.LQ*F5M(@=E7"IY%BVW^:6XO+KAUNT8 MV.MD_ 2OH\(U_C]+ +?[QL]ZWF MMK@8BT\WW+J=&7B'PCMV5JK[P*,R,U 044K09:W(L@"D.-KI-4:8"4-@N5EB M"D1I4CG2KSF[WA[%ZV>N2-%+UVLU[]4-MV[G1>FA3H]_OU!_&I/7^MRK&X[/ MJM##HR_R$L3:[FQ(9%=8\W'>G>UV3][:/8/P<'NS]:(_<]>4253 2DNCJXE^ M0J+9S6@:BE?V^W[)E>*E/=P R4&8&_3U%>=JWS =='M*Z;]02P,$% @ MJX%=6+%KG\:W P 8Q$ !D !X;"]W;W)K&UL MO9A=DYLV%(;_BH9VTG:F71#?WMC,['J3-!<[V5E/VHM,+F0X-G0!$4G8R;^O M!!@;+R;=CB8WML#GO#J/>,%'S/>4/?$40*"O15[RA9$*45V;)H]3* B_HA64 M\I<-9041\I!M35XQ($F35.2F;5F^69"L-*)Y<^Z!17-:BSPKX8$A7A<%8=]N M(:?[A8&-PXG';)L*=<*,YA79P@K$Q^J!R2.S5TFR DJ>T1(QV"R,&WR]Q(%* M:"+^RF#/3\9(H:PI?5('[Y.%8:F*((=8* DBOW:PA#Q72K*.+YVHT<^I$D_' M!_6W#;R$61,.2YK_G24B71BA@1+8D#H7CW3_)W1 GM*+:X%Y(<+H$IP%M*VNP[H@@T9S1/6(J M6JJI0;,V3;:DR4IU&5>"R5\SF2>BE:#Q4TKS!!C_!;WY4F?B&_H#_7H'@F0Y M_TV.?T8FXBEAP.>FD%.J1#/NY&];>?N"/+;1/2U%RM&;,H%D*&#*6ON"[4/! MM_:DXAW$5\C!OR/;LIV1@I;_/=V>*,?IU\]I])P+>DM:%-*-7"VCM#4'MCO' M;*E:&7=<1MVLU[PB,2R,JE,QHE<_8=]Z/<:H26Q [/;$[I1Z=)?ML@3*A"/) M'9_@CU&W4GXCI9XHN\B:F[M3E,G)_B>*UZ-XDRB/W?7J[(WH9@"$Y%,2;6I1 M,T 9YS4I8QB#;"?Q3B =!_O8=L]0Q^*\F6-Y?=R PN\I_$F*@07WA#%2BM%; M=5+FI1;4)#8@#GKB0,]-%^@DUB0V( Y[XO!'.#5\YD .&WIF!QP)G,S>P_7$/8_M(8D^2 MK%J FYULCL@ZAZ;TMVWIK?'$UJ0V7Y-@ 84T=$-;: NE2 M&U(?FR \W07ILK3[S*G>+'1FP;FCG\?YH7+T!4,?.R#\G19H]9'+/=SZ'[FM M0H(>:MX!%_*Q/%KRI."++Z,FM2'^L77"OB;S:FV>=*D-J8_M$Y[L5;29-WAF MRIGE!>%Y/S$2YWN^[YX_C1:P( "L% 9 >&PO=V]R:W-H M965TZQHIW-II*83FD;6AJ0I%[4*G".(JF82ED%:2)7UM2FNC&*EGA MDL T92GH<8Y*M[-@%.P7;N2VL&XA3)-:;'&%]GN])(["@267)59&Z@H(-[/@ MT^A\/G'G_8$?$EMS, ?G9*WUG0N^Y+,@,QA2 M.N#A?,]^Z;VSE[4PN-#J5N:VF 5G >2X$8VR-[J]PM[/J>/+M#+^"VU_-@H@ M:XS590]F!:6LNE$\]'4X (SC)P!Q#XB][BZ15WDAK$@3TBV0.\UL;N*M>C2+ MDY6[E)4EWI6,L^G*ZNRNT"I',J_A\WTC[2.\AUM!)"IKX,T%6B&5>7NX:#4L M&\H*K@:LD"0:F,,-YL@_S%HA+'2U0[+2S9=<923"''PJ^'F-Y1KI%_/%T>@4 M%KPE+5R*3"J7>[^?A);M.9%AUEN9=U;B)ZQ\;:H3&$?O.MZ7$((I!+&V;OB7 M,.0Z#<6*AV+%/L/XB0S[ AS3UB$GQY&NM#]C=9V'[@. M&]['] ]02P,$% @ JX%=6!R%F@1A!0 51P !D !X;"]W;W)K&ULM9EM<^(V$,>_BH;>=.YF K8$^"$%9@*YMC?3ZV5" M<_=:V (\L2TJB9#TTU>RC6UL(X@/WH!MI-W]K:35WVBTH^R9KPD1X#4*8S[N MK(78W!H&]]8DPKQ'-R26ORPIB["0MVQE\ TCV$\Z1:&!3-,R(AS$G?; M)B.Z%6$0DP<&^#:*,'N;DI#NQAW8V3]X#%9KH1X8D]$&K\B)M*![I M[D^2 0V5/8^&//D$NZRMV0'>E@L:99UE!%$0I]_X-4M$J0.RCG1 60=4[3 \ MTJ&?=>@GH&ED"=8]%G@R8G0'F&HMK:F+)#=);TD3Q&H8YX+)7P/93TSF@GK/ MW:E,A ]F-)*S@^,DOUTP3T<6T"7XME'/.,"Q#^YVF/DV3RB4RO#:\%K"#W/XX67@]^VV8DU9 M\%]U]J? PSHPA @Y%6!M2"V!K1S8N@CPX_R)@Y6Z;D:U:JA=&_;[)JRP:J-I MR6KGK/99K,S\YD5Q MSYRMF=?J7;:8 MH?3]%36-PBGO"SVG-H#74#^PD#]0KW]:Y4)7:%-W$)9WN=Z@MD"O(8-0(8.0 M7@:UHM;6X,SA ?>@Y[H5;GU<;;D+!83T"J@5]YFU.7-='?GJ?-='V#8#A59" M>JWT\VO_=/'.0CC(Q+#G5JM@UNQH?3@D+ 02T@NDGYG;QRI[YO(P5*NZJ/6! MM1W:0CXAO7QJ '\DZE]M-5PS&@N&/;'%(?@K6#8/;B.ZWJD%W@AF'$ 31.D? ME6@ ?/S6]%_G[(0M.[/E[DU!I\'4878*\87TXJME=DY-#+W3?7:LC*@Q*=?0 M:JC0:DBOU>Y6*T966!#P1>8@B'G@@>\XW+YCAJ0.K/+BL&J:IZ$51/;PR&HO M5!K2J[0SPM?O6W7-9MFU7>L:>@T5>@WI]=KYC$>GJ5-+_F JZ]'^C#>BVF4 M#F@BPE;)N97<3>DV%NEQ1?XT/QN[2TZ$*L^G\':6GG 59M(#MZ^821W*04B6 MTJ39L^4PLO0,*[T1=),< RVH$#1*+M<$^X2I!O+W):5B?Z,)D_\!4$L# M!!0 ( *N!75B^!>95P@8 (\O 9 >&PO=V]R:W-H965T+U'_Z-X>/4PSS1G=SSY%D=R=3UP!RAB"[I)Y!>^ M^Y-5#S31>"%/\N(OVE5E1P,4;G+)TRI8M2"-L_(_?:F(. C SHD 4@60XX#Q MB0"G"G". LBI@'$5,'YO#9,JH'CT8?GL!7$^E71^)?@."5U:H>F+@OTB6O$5 M9[JC/$FAOHU5G)P_21Y^/[]55$?HCJ>J_^6T4/ Y)5;$!_J*R.A,_1)L:,^=/?IS*"_0:*;#\=3T./9PGX47R,%%[8XA M/'A_.+%PX=2B.@6>CWTTD0X+YD& !$%A+CG$MQ]B&/O^+2_4.+07-)(JH9&A!8X&V--DP MQ!>(K[4V.=JR7!Z_"J5&5OB^&D&"^278M #3<])VKF8H_7,UW![2WRV'G7:Y M%K.3FMF)E=EOQ3S HG.Z94+-:V^37!0PLVRMJB_+D&!^">8>L.=+,C7KO%IJXWGA$SM;.:VIF5VOL]?:IOACQ-U<2: MZZD8;=1\**KK6!7(]$(*K1.J.B_-(L1>F CCO @L2U5=VT2^M0U]R8<$\V?= M 0%[;G?@Z)9S7>_DN.'6[+M6]C]MTF?%LJ+PV?["-D!8,?NR"0GFNYT^ M:J 2J,86X5Y-N&MB8FGLN'C4+]I&5RB!=)_R5,50LW:M^:^+0CM.71% T'Q0M@$)K M*W)@H3#82D&B^15::]WMF-;=4-6V16A\*+;ZJK8()N+/T.YX";]F(N91 M42!4]Y'DZ)FA!L>H%:B+!47SWZ (HU=&!7)16N9#,%'VY=6TF@N@VM46LW&Q MV&YC=6H$U;//?;TV?51K4Z,HH+85%,T'10N@T-K"-"883^#F'U"7"XKF@Z(% M4&AM41KKC.W>^8&^Q.DF15EM-5HVKW3,**6O>G339EJ)5WH_N2K]GE$^4#N- M#1;8,(OXH+4&4&AM81KCC>W.^R;+-C31WEHP]L]U 'B19 H;5%:;P]MIM[B#2A MO8K>;P:HY<==+V_,%$+5VM[_:A(#Q)X8^'3R?=!Y0ZLZ)D7LM?55!!3-K] . M%7&(-YM.CP:_ *K:MB1-9H!83:[>#'%1\&,3R]=W+)CM8+T9!\T-@*(%4&AM M69K< "%@"V8"F@8 1?-!T0(HM+8H3:Z V(WP?\O)VT%[RP/J_"NTPU'J.#\# M56&;\\;2$[NE[YN6M\/U9AO4TE=HK3EAXHT[,\+/\.JD\>K$OF,=/#T^&ID% M]>6@:#XH6@"%UA:@\>5D"C?V@[IM4#0?%"V 0FN+TGAR8O?D$ ["7D5OL4!W MNRNTU@:M-\)3?#PX_0QW31IW3=Z[+5XYB"HO]1;SH!OCH&@^,6R-SV;X>+?6 M4&PV(P2;-VM)8XV)W1K_/\<\[(WH+0"H>:[0#K>J'&_GZYQ-[X.AF.E]&!X_RP^2KXOC MS<]<2IX6ERM&E;2Z@/I^P;G&PO=V]R:W-H965TTNEBDO?E^D2&);GO(!,K)]=R(9\96B)(<[@>2*,2RV$Z!\,_9"[Z7CGBR6RG3X MR:C "W@ ];.X$[KEURP989!+PG,D8#[VKL++:1@;@(UX)+"1.\_(6)EQ_F0: MW[.Q%QA%0"%5A@+KOS5,@5+#I'7\K4B]^IL&N/O\PO[5FM=F9EC"E--?)%/+ ML7?AH0SF>$75/=]\@\I0S_"EG$K[BS95;."A="459Q58*V D+__Q5 \?>I,="(R-.5,SPZ);7X[Z$%/F6Q% ?$Y^HJ)0(^8KFSKAA64;P&01:,? MA4%(='(-"A,J3S6X#NFXH]'O6V S$']&OM(VC!@_K21/2LG1 099/L$OO9?)R%Z2<(D:F2\AO0$9BH(H=@B:'@^/&N3$]9C$EB\^-"9+ M+* S^V],7*DJF;IN)K,'7,H"IS#V]"*7(-;@)9\_A?W@B\MF2V1[IKNUZ6X3 M>W+S7.B5K1VO.=5N*5';,W1+"X0 MP H:L]MW*=&+(WZC^$!<&+LE#VK)@P]*/ISC@5-*W.V]D>R.BX8')%_4DB\: M)5?);-S7&AG>NUA;(MLS.ZS-#EO;H89MFFZ);,]T&+R>E<%QRU[/289.2(ZV M@(4\=9YAS53]$HIBE.&M=%D]DB"\<##L^]NI!<+F.5RNKN:SN9'BO>/9%MN^ MX>C5<-3:/*ZHVC+>$MN^\=<*(VP\R]\WDYNI&B=B9?8XAFAX<"K[.Q4N [&P MA;]$*5_EJJSSZM[Z6.YQ6)!=!5+8:XI];FK3V-1 M7@+*AN*%K:-G7.FJW#XN]<4)A G0[^>&^4!]%4O^ 5!+ P04 " "K M@5U8_:D5^MP# "U#0 &0 'AL+W=OH!4VN[=/O2$BMA]-LD 5A.;LPVTI_OQ-W;2 MA*HA6R'M2V([GIG/$\]X/#I(]:PW (:\Y)G08V]CS/;&]W6R@9SICMR"P"\K MJ7)FL*O6OMXJ8*D3RC,_#(+8SQD7WF3DQF9J,I([DW$!,T7T+L^9>IU")@]C MCWIO T]\O3%VP)^,MFP-M]^T?W6+ MQ\4LF88[F?W@J=F,O8%'4EBQ76:>Y.$O*!<467V)S+1[DD,Y-_!(LM-&YJ4P M$N1<%&_V4CKB2*!W2B L!4+'71ARE/?,L,E(R0-1=C9JLPVW5">-<%S8OS(W M"K]RE#.3N9')\_44UY62.YGCS];,N>N:/($VBB<&O[A99"&XT>3B'@SCF;ZT M4^8+3;X0G^@-4Z )%\6D*QS$]B//,M2E1[Y!5&O03TJL:8$5GL"B(7F4PFPT M>1 II.\5^+C&:J'AVT*G8:O&>T@ZI$NO2!B$7;*8WY.++Y?'[,6KQ5*WJ>L/3W+E^"(G)UPH--WB@T]IHUVLB\T5N6P-C#T-.@]N!-?O^-QL$?+;R] MBK?7IGTR91D3"5R1):RY$%RL+?L6%)]>.3O M&W"B"B=JQ?E3,6$]UF8Y^F"Y3[O=@#9;CBO+<:OE[_B[?F(X_F#XNA?U:3!L MMMRO+/=;+=_9'Y!ED/J89U? ?X;1_XC1#Z)^,\2@@AA\;A^ 2#^Y P8?.(:( M,3CQ'X85R+ U@'ZX5(HNN-V#PJ.!/+R 2K@&,L-HPB=&U]PR-2$-?T$DT:#. MIL'YL72Q=?C8*UQZB;ZM$U!CDBRL#8Y#K-.+FMU+CW(^_52(G0%4GB;T'5$4 MGB *:Z+P,Z%W!E#8!!2>B$=:YW#:FG(;(_(,NFX37?>4N^J,33^9LM^'ZAF MO88-%IWR7IW":7L.#P,:DX=\F\E7 /(-484MOL@,L1LQ6M6=&[5UWJ?QKTLX MM/50.9>]/CEH^]&Q$ H2N1;\7^37KII;NFHN.:[FX,6VP>Z'QC44-FAXM ]Z MG1,'.:T/%-I^HKQC:^*Y(H?2]=>L='VYE>T$5S@9B;F4U'H:\=LQ*'D%ILB0 MY$5)20/>UP5=X2B8^36U>5+:;#*=\T-WJM V0GX?26E>>M8 ]5-;?(_4$L# M!!0 ( *N!75@--;P>0P( &P% 9 >&PO=V]R:W-H965T_ B#QTACK9W)%U%XDB2]7T"@_PA8L M>VITC2(VW3+QK0-5Q:3&)%F:GB6-TE86TW@V=\44.S+:PMP)WS6-B&2ULHM28S>2T#45Y(,=>S7E4 M/.BEU;4NE25QN70 _,/)BP\W0$H;_U%\$M]1L_,&GKF";7#_"V3O5X,+96ZQ MLY73X$_$G2U'TX286[@A*7L>5QL>V0$>/TL:B?'YBTVI+>1VX#EN\'"X-QX5M5PDQRYWMPSR"+]^_&9^F7(U0G ]7) M,?1B#DYC); 6+7H//O8[6_!2FLYSSPH76DL0.J4B?6C M/HLEZQ+V:3S.8B)>03E_1$\^Z,G_GYX2F]; 6S%ORAB&?)^ZXYSRP^J2G>$) M[] /Y9;:>F&@9JAT='XJ-X2W!F$;YVF!Q-,9MRM^#L&% /;7B+0UPH@.#VSQ M%U!+ P04 " "K@5U8]NK6:(L$ #R&P &0 'AL+W=O_Q.DM3?EQ9T'J[\)#L8E%=L-?+G.SH(Q5/^7TAS^P.)4HRRLJ$ M,U#0EY5U Z\W&%4)=<0_"3V6)\>@DO+,^??JY&NTLIR*$4WI5E001'X=Z(:F M:84D>?QH0:UNS"KQ]/@-_5,M7HIY)B7=\/3?)!+QR@HM$-$7LD_% S]^H:T@ MK\+;\K2L/\&QB?5D\'9?"IZUR9)!EK#FF_QL)^(D ?H3":A-0,,$=R(!MPFX M%MHPJV7=$4'6RX(?05%%2[3JH)Z;.ENJ25CU,SZ*0MY-9)Y8?Z9\5Y \3K;@ M*VNJHIK=]W=4D"0M/X#?P-/C'7C_[@-X!Q(&_H[YOB0L*I>VD,-7(/:V'>JV M&0I-# 41^,:9B$OP!XMHU >P)>^./'HC?XMF$>_H]@I@^!$@!V$-H'H=3V^6YP,]4+:G.DY-HGBTN7QF(T''1EV0](::.FE@9T5&-R9GG]27*BK9#YO'-+Q!1: M7^5)^X6&%D8+9$JV(;2^;*1DHTN+KLWLU1-"T!]4G3;,==%$V:D>#F?[Y?H+ M9SOPE_S0)MFB#I^"P&'51TASJBQ$I8X N-@9HW/%=% XM MLB9*LI]PHTC9 C1O"S9QPHB6E5%+8 JMKU)9 F3*$B"CEL 46E^VL@3H8DN MQKT>!6BT&,91.)AZ,B-E"-"\(=@01B)]U1GU Z;0^C*5'T"F_ RZ@=,H?5E M*S^ +O8#:-SI(4;NL.K&49X?3-A0I/P FO<#-VD*N(AIH65FU ^80NN_KE5^ M )OR ]BH'S"%UI>M_ VZ@?PN-./NJXN9N+QAY47P!=[@3;S]"5QZ(S>3&FB MO! .O8!]LGN2T6)7;RJ58,OW3#1[$=W5;N/JIMZN&5R_A=>;9OM)P32[8=]( ML4M8"5+Z(B&=JT!.5-%L,#4G@N?U'LTS%X)G]6%,242+*D#>?^%," #S"0 &0 'AL+W=O68ZEN69.4Z)$?AZ;<8"GRY%EA*8,<27 M>8[9OS%D=#TR;&.[\)(N$J$6S, O\ +F(-Z*&9,SLV:)TAP(3RE!#.*1<6_? M36Q+ 73$[Q36?&^,E)5W2C_4Y"D:&992!!F$0E%@>5O!!+),,4D=?RM2HWZF M NZ/M^R/VKPT\XXY3&CV)XU$,C(&!HH@QLM,O-#U+Z@,]11?2#.NKVA=Q5H& M"I=;C3(L>MD^QJ M/O<,WV3)F,QI4V9*8+<9J+[A.U[@$$:&_$@YL!48P?=OMF?];'+U160''KNU MQVX;>S 76$"3PQ+F:9CZJ:P"V^WZYFI?>$/,+N1 3J^6TVN5\TH%SE!+XDMX MKU560\P965XMRVL]"5.(04J*FA1Y7WD4OHCLP&2_-MEOS?TC1,!PUN2Q?Y+1 MKG64]%;N"Y4/:N6#RP[QX$1WQQX>*V_EOE#YL%8^_,1Y;SM>PP8+O6,+K0^Y MT()M[6J1U6IBQN@JU0V"[$]D4='51ZC2U%A4K)._1L?VC@PU!)U\P^9>^K3N7>UVOC];'JJ/197E'4[9#SY@M4L)1!K&DM&[[\CVP MLL,H)X(6NDB_4R%+OAXFLBL#I@+D?DRIV$[4 ^H^+_@/4$L#!!0 ( *N! M75@-R!TD- , !X* 9 >&PO=V]R:W-H965T0!"-!!I)9V6E]40W0/K]WD0JPZ-K/-0[_];">D0$TZ M37L#L7/W]^\N]OG&&RZ>90&@T+:D3$Z\0JGEE>_+M( 2RPY? M-O;F). M%H4R$WXR7N(%/(+ZL9P)/?(;E8R4P"3A# G()]YU>#4- ^-@+7X2V,B]9V1" M>>+\V0SNLXD7&"*@D"HC@?7?&J9 J5'2'+]K4:]9TSCN/^_4O]C@=3!/6,*4 MTU\D4\7$&WHH@QROJ)KSS5>H ^H;O913:7_1IK+MCSR4KJ3B9>VL"4K"JG^\ MK1.QYQ#&)QRBVB$Z=NB=<.C6#ET;:$5FP[K%"B=CP3=(&&NM9AYL;JRWCH8P M\QD?E=!OB?93R3U+>0GH.]Z"1)=H#BEG*:$$VR3?Y3G8/!L#-,<*T-DM*$RH M/!_[2J]O5/RT7NNF6BLZL588H0?.5"'1'Q@U3TFE3TVM03LU^P2/BJSK94Y !>(Z<*I/]L. M]@D8Y$2Y>"M17;_V68)P<$1\PFSD9HX;YO@=9IX^7YKRE2&]G71-EW;+N4!C M)T$0'X&ZS7J1&W30@ Y:0>_G4R3KBAW&T5EYCB@IB3I).W!B=$='M&ZS\,16 M&#:TPU;::8'9 O0116M,5]4AQE3?=)BESDW;+G<6#3O]X*.K4D[?]PS>>![$ M-&IB&K5*?5,%"!?[Z+T45J"MZO]81,+@]78*6NEG@J^);1ETQ[)7.T$ZKY]V ML3-=+$Y\CMKSS2DYWO[^WDU;@EC8!D3J,[ABJKJVFMFFR;FV5_O1_(UI?NP- M_BI3=4X/6"P(DXA"KB6#SD"7$%$U(]5 \:6]SY^XTMV!?2QT P?"&.CW.>=J M-S +-"UA\@=02P,$% @ JX%=6'\CZ9DM! ]0\ !D !X;"]W;W)K M&ULK9=M;]LV$,>_"J$50P/4D4C)DIW9!I)XW?*B M79"TW6M&.MM$)-(CZ8?LTX^4'-F6*"T!^L;6P]WQ=^21?]UD)^2S6@%HM"]R MKJ;>2NOUE>^K= 4%59=B#=R\60A94&UNY=)7:PDT*YV*W"=!$/L%9=R;3&#+E;8/_-ED39?P"/K[^EZ:.[^. MDK$"N&*"(PF+J7>-KV[QV#J4%C\8[-3)-;*I/ GQ;&_NLJD76"+((=4V!#5_ M6[B%/+>1#,<_AZ!>/:9U/+U^C?ZY3-XD\T05W(K\;Y;IU=0;>2B#!=WD^D'L M_H1#0D,;+Q6Y*G_1KK)- @^E&Z5%<7 V! 7CU3_='R;BQ '''0[DX$":#E&' M0WAP",M$*[(RK3G5=#:18H>DM3;1[$4Y-Z6WR89QNXR/6IJWS/CIV1U/10'H M&]V#0@,TAP5("1G2=(^H4J 5^C@'35FN+LS[[X]S]/'#!?J &$??5F*C*,_4 MQ-<&Q0;TT\.P-]6PI&-83- 7P?5*H=]Y!MEY -_D4"="7A.Y(;T1YY!>HA!_ M0B0@Q %T^W;WL V:0*Y!:\ MV:^_X#CXS97B3PIVEG!4)QSU19]]-4>..5PDU8PO42Z40BF5\L6<-#LJW352 M18S+B/:\VG63FL2!"/:JLSW&&-.^S%O>-;X%K(%Q=7Y3H\XPH; M5 Z;4>)FBFNFN)?I.DWEAN;.J8I;PR5ATD!JVXSBT(V4U$A)+](<3*FDC%9' M+L\0+834[-_R@8LS<4Q= [-M@CLH1S7EJ)?RP50SE>FJ)(2]J4*K-)KFY0W/ MF-Z8@G?ACMJXA(P;P&VC*"$=]3>ND<>]R(]:I,\#*T 9,B>PH52=2).I:^J-\X5ZQ<.F7DS-LKV@R'C8I758DZF \*@Z. MWJZQK^7)P"VTN%>^WJNT/RO:>>9'\<+]ZG6V,H9KA?SO[2*Y!.KK90#<*0-+%<5IV%?10T_'^*YBX:)VA;J@:N\G:9#9.N M^CZJ&NZ7-?M)]=93K3?2NZM[U/KDPL.@(YVCXN%^R3-]1&HZ3047IGFHKFP7 ML7WCB3AN,0U('#1UL)_AO1O3/VFL"I#+LM\T'[9BPW758]5/ZY[VNNSD_*-Y MU1!_H7+)N$(Y+(QK<)F8A(N,*%T5Z#Q5IL$)1PLRQRFJQ\6]T#6G48EIAKFD/ >! MR=BZ]"ZNO, 8E"-^4BSD1AF,*S/.GTSE-AY;KB%"AI$R$D1_5GB-C!DES?&G M%K6:.8WA9OE%_:9T7CLS(Q*O.?M%8Y6.K8$%,29DR=0#+[YA[5#7Z$6?#7!G[)74U44DZ((N%(\ *$&:W5 M3*%TM;36<#0WNS)50O=2;:?"VSSB&<(/LD8)7^"[/@=ZQP51-)\#XU)"1(1X MUMM?$!%+('EL!L-EI.!T@HI0)L_@!&@.=Y0QO=!RY"@-9N2=J(:XJB#\'1 3 MC&P(O'/P73^ Q^D$3D_.MF4<[5?CG-\XYY>ZG1VZ-QAK5U@;T%Y#3L/;V;N,[^&M%+UJ MQTUH6(7#GNV/G%4+2+RYC;7WEK7CVMUVUG[#VC^0 M52YGOW4^/@_NT6-5+7ED MY(T7S3MZN*HEM\_HP.ZW[ZGW^@!Y^U^@#XI8]:S;N%U[QQ'T7A\F;^\[\E%! MJYYUZS7PWP0 9R.+,1GA'1%SFDM@F&@KU^[K."VJ)*NJ*+XH$YL95SI-*HNI M3DQ1F &Z/^%?Q-:0, / + 9 M >&PO=V]R:W-H965T"7FO M%@":K/.,JXFST+HX=ET5+R"GZE 4P/%+*F1.-;[*N:L*"32Q07GF!IX7N3EE MW)F.[=BUG([%4F>,P[4D:IGG5#Z>0B96$\=W-@,W;+[09L"=C@LZAUO0=\6U MQ#>W1DE8#EPQP8F$=.*<^,=GO@VP,WXR6*FM9V*DS(2X-R^7R<3Q#"/((-8& M@N+? YQ!EADDY/&[ G7J-4W@]O,&_9L5CV)F5,&9R'ZQ1"\FSL@A":1TF>D; ML?H.E:"!P8M%INPO655S/8?$2Z5%7@4C@YSQ\I^N*R.V ORH)2"H H*7 ?V6 M@+ *"*W0DIF5=4XUG8ZE6!%I9B.:>;#>V&A4P[A)XZV6^)5AG)Y>\ECD0'[0 M-2AR0.ZXA%C,.?L#B1DD%VO<, K(WCEHRC*U;R;=GI.]S_MC5R,! ^/&U6*G MY6)!RV)^0*X$UPM%+G@"R7, %YG7](,-_=.@$_$$'80.CL[>%! M!YVP=C.T>&$+WC/[--H'E7U29*;F5E0F3;:5J/UF5%/)QZJ@,4P<+%4%\@&< MZ9=/?N1];9+\G\">&="O#>AWH;<:T",SF#/.&9\3D1*] /((5#9Y42X0V07, M(?0P];V!YWEC]V%;Y:O3GO$?U/P'G?QQ0^!A:!(&&=5&@R"%9$):NE91(10S M)Y!J(M^)WNP]: &6I3%]7JHDYU6.S_I"[:815&H]W4=)+XX 8< MUA*'[Y88+Z4$KM\HLA/_'2D<[IC5D<%1+6_TP?H"GIC*:JNJT0Z;_C#<3=WN MM*ZJ.JI9'[V2% UHEB8422)?FFF&UPW>XLN7>F; (66Z2<+1+K=!P\%PM'LP M#-HE^-[31>F]S_J*JL+3C&KL5I990EB.>T,32%.P_8F=*'$C-EZ6WFMNEXJZ MB7VPH/RM#L'O%'Z2BR56#VZNMFR5%O0(2\G3A%YE";5>F-8*L QM'#067D4C M>NUXZ:;[7COS )UDS_] M"U!+ P04 " "K@5U8%?8_Q.\# Q#@ &0 'AL+W=O?-PS_B[2 F1\#W/"C%R4BDW ]<5 M<4IR+%[8AA3JS8KQ'$NUY&M7;#C!B5'*,]?WO,C-,2V<\=#LS?EXR+8RHP69 M*7K5.H-=SSW'R#)K*DK%WO?B2C!Q/(R(9B:4V@=7?CDQ)EFE+"L=? ME5&G_J96/'T^6/]LR"LR2RS(E&7?:"+3D=-S("$KO,WD*]O_2BI"!F#,,F%^ M85_)>@[$6R%97BDK!#DMRG_\O7+$B0**&A3\2L&_5.@T* 250F"(EL@,K1F6 M>#SD; ]<2RMK^L'XQF@K-K30Q[B07+VE2D^.?U>1\J6(64Y@3CA,69XKYRY2 MS D\S(C$-!./\ QOBQD\?'B$#^""T&\%T +>"BK%D]I4SW^D;"MPD8BA*Q4P M;=Z-*Q"3$H3? +Y\)45,A7PJ4A(9L3CB7C YMS2MV.75?G\4!L<$Q&CDI40?B....? M?T*1]XN-V)V,G='LU#0[;=9-,%$33#::I6YD='5UV8W[7JB\NSN%?RT4(;]? M"YW!"FM88:OW)UC0&#[-%S94X3V=?R=C9RRCFF74ZOQOIF*1!/!.Q=J:'-*4 MK2 NLUH5D_@=5"T74N4I+=9/N@+2V.:6\EOAR3GX7K?3"[S+ [,)HL +@LA^ M:-V:3O?&6(*-*DP'"IK3$TR:8)R=HO)=.YP*R32BPH^W5:'NM(3:CV5;[ MOB'(>O<,LCL9.^/9KWGV_T.&]V_)\&NAY@Q'WK&->:W ?B-"#&"/.<>%A(SB M)V>9XVKF!+):J2%44ZDX;/1$*D#1@-?% MFWT "JYP1:CO7>.WR'7"L->4(,?6C-I[\^% GO_-@;1%5^?:T2B(NH%W66YM MDEZW&_9/4NJSZ::?]B?Z+O0V:H/YHI+U-?,5]3%6 962F3WDM7 >/E_:1<2+8Q M(_Z2275A,(^INM,1K@74^Q5C\K#0'ZAOB>-_ %!+ P04 " "K@5U83QJU M$4<# !$#@ &0 'AL+W=OPI>^0Q@$!/*6=-68J%7+*-R7,& M.-))*3$=R_+-%">9$4STWI(%$[H5),E@R1#?IBEFSS,@=#\U;.-EXR[9Q$)M MF,$DQQM8@;C/ETRNS HE2E+(>$(SQ& ]-:[LR[GMJ@0=\3.!/:]=(R7E@=)' MM;B)IH:E& &!4"@(++]V, ="%)+D\;L$-:K?5(GUZQ?TKUJ\%/. .$?Y2Q7.7PB2DD*X5MAB6#6<' .J(O>8Y#F!KRD>7 =F $[]_9OO6E365/8 W-7J79ZT(/ZL:IM/.#<> I M)%MYVFC-:%I$R$4FS4@HYRB75@P+*VI;M=6J(##0!-3+:A>,?<<>#R;FKEZ% MT["1[WD#MPIKZ!M4^@:=^J[3G-!GD.;A6[MX>&)/WW;]@7/DXM.PD6>/O$&[BT>5OE&GOKO5 M?>L!=F:]]@![ FL('%<"QWV9=MRGYI[ &IIMZ_"7;KVU;4L&=4.ZKF6-CGW; M$N?9WK#=MG:M:;$[%99M"MBO?7HQ'GML?:%UE3M'%0[?;FY1.I+ M=T]H3=V'_LGN;%7^BY_=$Y_*UZMO']OY;V&%0K/6CZ? -GI,X9+$-A-%&UOM M5J/0E1X CO9G:D32??X!IIBO;C';)!E'!-82TKH82DZL&%F*A:"Y[OH?J) S MA+Z,Y9@'3 7(^VLJJUHNU ]4@V/P!U!+ P04 " "K@5U823@(>4@" "@ M!0 &0 'AL+W=O%1*JI*B*?IL!$.\$1WCGNZ*;4UA%D:4TVL 1]7R^D ML8*>I: 5<$4%1Q+6$WP=C6<#&^\"OE-HU=X9624K(1ZL<5-,<&@+ @:YM@S$ M?+8P \8LD2GC9\>)^Y06N'_>L7]RVHV6%5$P$^P'+70YP>\Q*F!-&J;O1/L9 M.CU#RY<+IMPO:GWL<(A1WB@MJ@YL*J@H]U_RV/5A#Q"-C@#B#A"_! R. )(. MD#BAOC(G:TXTR5(I6B1MM&&S!]<;AS9J*+?_XE)+Z9\T"L?G&+/ MOII=<\-S40$Z_R*4NCBDUE.,'(7=+-OL*AR:OF_W5?P9-(KBJS[(5Q?L/?8* MY,;M (5RT7#M7T_O[=?,M9NN%_ZI63]^6_RF\;OKEL@-Y0HQ6!O*\/*=F7;I M]X$WM*C=2*V$-@/JCJ59H2!M@+E?"Z%WADW0+^7L%U!+ P04 " "K@5U8 M9#JB:T," "*!@ &0 'AL+W=O&6RY8!4M)N6AXZ16FW/3MP *O&9K8)[;^O;0C+IH1*>0'; MG//Y.T8V(HEXHRAAL!5(-E6%Q>L:*&]CQW>."SM2E,HLN$E4 MXP(>0?VLMT+/W(&2D0J8))PA 7GLK/SE>F'B;< O JT\&2-3R9[S9S/99+'C M&2&@D"I#P/IV@#N@U("TQI^>Z0Q;FL33\9'^S=:N:]EC"7><_B:9*F/GDX,R MR'%#U8ZWWZ&O9V9X*:?27E';Q8:?'90V4O&J3]8&%6'=';_TYW"2H#GG$X(^ M(;#>W4;6\AXKG$2"MTB8:$TS UNJS=9RA)F7\JB$?DITGDHV^G@S$.A)X(RP M JV$P*P ?>Q*1J[2.Y@X-^UIZXX67*"%Z($S54KTE660_9OO:K-!+SCJK8-1 MX#VD$Q3Z-RCP@G"$%P[EAI877N"=*_,&[5_1AF7D0+(&TW-5=]#I>:CY;I:R MQBG$COXP)(@#.,G'#_[<^S*B/!V4IV/T9-=00+ZWG]WZI]IHE?%:_7_(G>XX M,,=4PHC8;!";C7)^<'9[A=PX]#VY^2 WO^K4GD#HKPA?V&-P65Q_< MN-\X]Z*?>](?*A"%[8(2I;QAJFL5P^K0:%==?_D;WG7I!RP*PB2BD.M4;[+0 MKU-TG:^;*%[;;K/G2O_YP7^O9=X.YG'\[.6D^7M[OQ"PMG. Z%7+7*BR13'Y^##Y?>*8 M='=;V@X_-T*.>([1>AZ:R;)F0@JW@]NN!S5< MZ^1<%LKF=AG<[W$]? =8]< @%Z(QV"$N,.R75&NFY)WIV,$V^ (*ZO;CLC0. MIXHNVYT;LB;8FTDR+E3*5).F35:A85^P#.PH/IW!71=E"*#616X:*:?30E+K M8<6H&T9VPH1X@ ?\1[:EO<@V]LSNF&R:QE#==#*N _J;:DY[4_;Z5;I!R9\+ M_7ENIB-M'XJ,W2N6\87M+[+& *;>QM5I68KE)\&G,F=N\@ MY5<[CKIO9=E^J^P:]GJLW]K';O+F%$S&IV#R)&JR=_PFH^3X/=;GP2,WV7VS M;_:])L/Z)+1QW-HZ;#71 ZU _(=CL=BG308S[G07-:]&4]3)E^/ROAGD#!I8',OW= M6N.[C5?(_CK ]G1?A6 SQ2L1FRF^UH#XUPT82>+?;2P/,+!=P&H'\OOS0$WY M.5$$NXIYPYY@'$D2#(%:]-=H'".K$\/'OS_84Q)%2>)' /,[B"(,@:<11S ' MX %#HLB^!W?>1^'J/16N_W\Y_ -02P,$% @ JX%=6)>*NQS $P( M L !?3T\$MP>:4#M.*2VBZD8_1!2:5K5N %(MB6/:(7->=I3W;+T]!;X"O.DQQ0FE( M2S,.\,W2?S+W\PPU1>5*(Y5;&GC3Y?YVX$G1H2)8%II%R=.B':5_'G+AJ?@2Y3/*Z1O5_+Y MBS9/,ZV?V&M=*3OJ+9U;G0T&MEB*FMM?]4HHN#+7IN8.#LUB8%=&\-(NA7!U M-8B'PWQ0RDFXSZC5_ M5Z+':JED+=]$.>H->\PN]V%1V&<+#Z=GGK(!SZS MS1G'9_<<0$:]? @-SJ6QKKFC:9\#X[. F]NCM=/?9>6$&7,G?AB]7DFU\,W M4PR"QVCBL/UL@WAF_D\8]7PN"S'6Q;H6RK5Q-*+R@,HNY\XJH0K(FG#9AB MA"D^)!,[FG #7UB*YC_E6\"8((P)+>/4_ZZ_QS(]AVXM="V:CK[6-8RS #)% M(-,OA/PK#B S!#([).34Z>)IJ:M2&/L+N_E['4#F"&1^($C/>,WMDGVO]$LX M7HX1N&-:N)]FP95\:RXTW7O'W=H(CWJUMC* /$$@3X@CN*YK;C9-'\N%DO U M#N&\+ J]AKDQ@#Q%($]I(>_%LU#KA)M1"JD*(#BCCSPU^Y<@4W_$?'\?P?MOG--A/'#H :E3I>\ MD]'%F!-B8B>@'NWD=#&FAIA8#3AF$F*BE0:Q'-Z%SXZ@?JR$#8N+&!-%3"R* M?>9_!PTQ,6?$Q,Y $P!V%&)BZHB)U>%3@)U=C+DC)B\I/N<".R$QA<3$"MF7 M%.SX/\1<$A.[9+?I=D83TTM,K)=0>;O@$DPL";%8$/=YUA 3$TORI6))0TQ, M+ FQ6'#,+,1$5[&H"Q(4,P\Q,<\DU+4)BGD<8F*>2:B7LE#,DQ 3,T]";1X4 M\S3$Q-R3$+MGFYOUV5A:OH#R:@$D)9MMV)1WW)-@[DF(W8-@/L@Z7-A*,/%V$((YEC,.YV.62@EMA!:E'6CB5DH);904Y3U MV34W9@-X[)%7OA ?"\=EU4F+4\Q"Z2$JH(]E6O]?SA 3LU!*O;VR&_-/B"[O M+DFFF(528@OMK2=AI$-6$NY(8A;*J!?9]F->EF7H] RS4$9="R'1[%HHPRR4 M4=="^S'OA0TW9S+,0AEU+;1S,7_72,\P"V7$%MJWUK$#$]W5)[909ZVC']JR M>14AQ,0LE!%;Z /FO2@T>+*2;5!O0DS,0AFQA3Y@^G3#&!A.CK\R;CN=CEDH M.^">#F#Z)25HSG"??[!*AYB8A;)#KL/UV1_*0+?#X'^#B,+)\)43S$+Y5Z[( MC2GF4HGR#MJW<+[@53$Q MS'^TKV:DF=]RG:^KZAK._52_:UYNWY?!-T#(HPS=1Y +Z1 ITA@\%3$D>/D7 MQ =B^/2K'-IQWYWJ;M_7Q._8^4ZGI7CFV]Z_IR.E_9=,.Q'<_+ M89OZ=OW>;DO2Y3*GX79&\_QT.W/Q^MF7_YG8;3;[=?G9K7\?RVG\Q^#TIQO> MZZZ4L5F\ML.VC*LF?1RNIVNZ'.3N/+E9O+RMFN'E39HT=Y!"D,X?9!!D\PBGHK@=Z*>BN!WHIZ*X'>BGHK@=Z*>BN!WHIZ*X'>AGH; M@=Z&>AN!WH9Z&X'>-MDL(=#;4&\CT-M0;R/0VU!O(]#;4&\CT-M0;R/0VU!O M(]#;46\GT-M1;R?0VU%O)]#;46\GT-LGF]T$>COJ[01Z.^KM!'H[ZNT$>COJ M[01Z.^KM!'H'ZAT$>@?J'01Z!^H=!'H'ZAT$>@?J'01ZQ^1G)8'>@7H'@=Z! M>@>!WH%Z!X'>@7H'@=X9]F?4.Q/HG5'O3*!W1KTS@=X9]<[?J7<=/P^E M7GN^UOC\[Z1Z/-];KH^_++].3M[>"\[IMJ(^_P502P,$% @ JX%=6,"( M;73I 0 ?B4 !, !;0V]N=&5N=%]4>7!E&ULS=I=3\(P% ;@OT)V M:UCIU_R(<*/>JA?^@;H=9&%;F[8@_'N[ 28:)1I,?&]8H.UYSWJ2YXKKIZVC M,-JT31>FV2)&=\58*!?4FI!;1UU:F5O?FIB^^A?F3+DT+\3$9%*PTG:1NCB. M?8UL=GU+<[-JXNANDWX.M>VFF:&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0 M ( *N!75B@="8UQ < %TS 8 " @0T( !X;"]W;W)K M&0 M& @($'$ >&PO=V]R:W-H965T&UL4$L! M A0#% @ JX%=6!BM_="V @ N@D !@ ("!&18 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ JX%=6,?# MCXOW! >1X !@ ("!_2$ 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0#% @ JX%=6%%5*I/K)0 :GT !@ M ("!?#( 'AL+W=O&UL4$L! A0#% @ JX%=6,6D=G=6!P 2A4 M !D ("!)5X 'AL+W=O&PO=V]R:W-H965T -& ML0, %4) 9 " @5=L !X;"]W;W)K&UL4$L! A0#% @ JX%=6%)0;MFL P MP@ !D M ("!/W 'AL+W=OU:*$* P(@ &0 @($B= >&PO=V]R:W-H965T M&UL4$L! A0# M% @ JX%=6'4N<96\! Y H !D ("!T8$ 'AL+W=O M1)92%\# Z M"0 &0 @('$A@ >&PO=V]R:W-H965T&UL4$L! A0#% @ JX%=6':D M.\HJ! 50P !D ("!Q90 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ JX%=6' A35%P P IPH !D M ("!E,4 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ JX%=6/IN>O.> @ :P8 !D ("! MY- 'AL+W=O&PO=V]R:W-H965T0:ENP0 %T/ 9 M " @:76 !X;"]W;W)K&UL4$L! A0#% M @ JX%=6-H@(U\T P / D !D ("!E]L 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ JX%=6!HV==O$ P Y1, !D M ("!G_4 'AL+W=OE " 1!0 &0 @(&:^0 >&PO=V]R M:W-H965T&UL M4$L! A0#% @ JX%=6-&,2<+8 @ F0H !D ("!0O\ M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MJX%=6-HV><0< P #0T !D ("!)PD! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ JX%=6 "^RUVT P 7Q( !D M ("!G!X! 'AL+W=O&PO=V]R:W-H M965T1:P( "L% 9 M " @74F 0!X;"]W;W)K&UL4$L! M A0#% @ JX%=6!R%F@1A!0 51P !D ("!%RD! 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ JX%= M6/VI%?K< P M0T !D ("!,SD! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ JX%=6+\ 76GC @ \PD M !D ("!@D0! 'AL+W=O"@ &0 @(&<1P$ M>&PO=V]R:W-H965T&UL4$L! A0#% @ JX%=6,R,6D7^ @ ]@H !D M ("!:T\! 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ JX%=6$\:M1%' P 1 X !D ("!9EH! 'AL+W=O M4@" "@ M!0 &0 @('D70$ >&PO=V]R:W-H965T&UL4$L! A0#% @ JX%=6)O- MBF9* P S!0 T ( !W6(! 'AL+W-T>6QE&PO=V]R:V)O;VLN>&UL4$L! A0#% @ JX%=6-))O&T1 M @ %R8 !H ( !@FP! 'AL+U]R96QS+W=O XML 78 Show.js IDEA: XBRL DOCUMENT // Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission. Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105. var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0); e.removeAttribute('id');a.parentNode.appendChild(e)}} if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'} e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}} XML 79 report.css IDEA: XBRL DOCUMENT /* Updated 2009-11-04 */ /* v2.2.0.24 */ /* DefRef Styles */ ..report table.authRefData{ background-color: #def; border: 2px solid #2F4497; font-size: 1em; position: absolute; } ..report table.authRefData a { display: block; font-weight: bold; } ..report table.authRefData p { margin-top: 0px; } ..report table.authRefData .hide { background-color: #2F4497; padding: 1px 3px 0px 0px; text-align: right; } ..report table.authRefData .hide a:hover { background-color: #2F4497; } ..report table.authRefData .body { height: 150px; overflow: auto; width: 400px; } ..report table.authRefData table{ font-size: 1em; } /* Report Styles */ ..pl a, .pl a:visited { color: black; text-decoration: none; } /* table */ ..report { background-color: white; border: 2px solid #acf; clear: both; color: black; font: normal 8pt Helvetica, Arial, san-serif; margin-bottom: 2em; } ..report hr { border: 1px solid #acf; } /* Top labels */ ..report th { background-color: #acf; color: black; font-weight: bold; text-align: center; } ..report th.void { background-color: transparent; color: #000000; font: bold 10pt Helvetica, Arial, san-serif; text-align: left; } ..report .pl { text-align: left; vertical-align: top; white-space: normal; width: 200px; white-space: normal; /* word-wrap: break-word; */ } ..report td.pl a.a { cursor: pointer; display: block; width: 200px; overflow: hidden; } ..report td.pl div.a { width: 200px; } ..report td.pl a:hover { background-color: #ffc; } /* Header rows... */ ..report tr.rh { background-color: #acf; color: black; font-weight: bold; } /* Calendars... */ ..report .rc { background-color: #f0f0f0; } /* Even rows... */ ..report .re, .report .reu { background-color: #def; } ..report .reu td { border-bottom: 1px solid black; } /* Odd rows... */ ..report .ro, .report .rou { background-color: white; } ..report .rou td { border-bottom: 1px solid black; } ..report .rou table td, .report .reu table td { border-bottom: 0px solid black; } /* styles for footnote marker */ ..report .fn { white-space: nowrap; } /* styles for numeric types */ ..report .num, .report .nump { text-align: right; white-space: nowrap; } ..report .nump { padding-left: 2em; } ..report .nump { padding: 0px 0.4em 0px 2em; } /* styles for text types */ ..report .text { text-align: left; white-space: normal; } ..report .text .big { margin-bottom: 1em; width: 17em; } ..report .text .more { display: none; } ..report .text .note { font-style: italic; font-weight: bold; } ..report .text .small { width: 10em; } ..report sup { font-style: italic; } ..report .outerFootnotes { font-size: 1em; } XML 81 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.0.1 html 168 330 1 false 65 0 false 4 false false R1.htm 00090 - Document - Document and Entity Information Sheet http://www.everspin.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 00100 - Statement - Balance Sheets Sheet http://www.everspin.com/role/StatementBalanceSheets Balance Sheets Statements 2 false false R3.htm 00105 - Statement - Balance Sheets (Parenthetical) Sheet http://www.everspin.com/role/StatementBalanceSheetsParenthetical Balance Sheets (Parenthetical) Statements 3 false false R4.htm 00200 - Statement - Statements of Income and Comprehensive Income Sheet http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome Statements of Income and Comprehensive Income Statements 4 false false R5.htm 00205 - Statement - Statements of Income and Comprehensive Income (Parenthetical) Sheet http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncomeParenthetical Statements of Income and Comprehensive Income (Parenthetical) Statements 5 false false R6.htm 00300 - Statement - Statements of Stockholders' Equity Sheet http://www.everspin.com/role/StatementStatementsOfStockholdersEquity Statements of Stockholders' Equity Statements 6 false false R7.htm 00400 - Statement - Statement of Cash Flows Sheet http://www.everspin.com/role/StatementStatementOfCashFlows Statement of Cash Flows Statements 7 false false R8.htm 10101 - Disclosure - Organization and Nature of Business Sheet http://www.everspin.com/role/DisclosureOrganizationAndNatureOfBusiness Organization and Nature of Business Notes 8 false false R9.htm 10201 - Disclosure - Summary of Significant Accounting Policies Sheet http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPolicies Summary of Significant Accounting Policies Notes 9 false false R10.htm 10301 - Disclosure - Revenue Sheet http://www.everspin.com/role/DisclosureRevenue Revenue Notes 10 false false R11.htm 10401 - Disclosure - Balance Sheet Components Sheet http://www.everspin.com/role/DisclosureBalanceSheetComponents Balance Sheet Components Notes 11 false false R12.htm 10501 - Disclosure - Commitments and Contingencies Sheet http://www.everspin.com/role/DisclosureCommitmentsAndContingencies Commitments and Contingencies Notes 12 false false R13.htm 10601 - Disclosure - Debt Sheet http://www.everspin.com/role/DisclosureDebt Debt Notes 13 false false R14.htm 10701 - Disclosure - Stockholders' Equity Sheet http://www.everspin.com/role/DisclosureStockholdersEquity Stockholders' Equity Notes 14 false false R15.htm 10801 - Disclosure - Stock-Based Compensation Sheet http://www.everspin.com/role/DisclosureStockBasedCompensation Stock-Based Compensation Notes 15 false false R16.htm 10901 - Disclosure - 401 (k) Plan Sheet http://www.everspin.com/role/Disclosure401KPlan 401 (k) Plan Notes 16 false false R17.htm 11001 - Disclosure - Significant Agreements Sheet http://www.everspin.com/role/DisclosureSignificantAgreements Significant Agreements Notes 17 false false R18.htm 11101 - Disclosure - Geographic Information Sheet http://www.everspin.com/role/DisclosureGeographicInformation Geographic Information Notes 18 false false R19.htm 11201 - Disclosure - Income Taxes Sheet http://www.everspin.com/role/DisclosureIncomeTaxes Income Taxes Notes 19 false false R20.htm 11301 - Disclosure - Net Income Per Common Share Sheet http://www.everspin.com/role/DisclosureNetIncomePerCommonShare Net Income Per Common Share Notes 20 false false R21.htm 20202 - Disclosure - Summary of Significant Accounting Policies (Policies) Sheet http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies Summary of Significant Accounting Policies (Policies) Policies http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPolicies 21 false false R22.htm 30203 - Disclosure - Summary of Significant Accounting Policies (Tables) Sheet http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables Summary of Significant Accounting Policies (Tables) Tables http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPolicies 22 false false R23.htm 30303 - Disclosure - Revenue (Tables) Sheet http://www.everspin.com/role/DisclosureRevenueTables Revenue (Tables) Tables http://www.everspin.com/role/DisclosureRevenue 23 false false R24.htm 30403 - Disclosure - Balance Sheet Components (Tables) Sheet http://www.everspin.com/role/DisclosureBalanceSheetComponentsTables Balance Sheet Components (Tables) Tables http://www.everspin.com/role/DisclosureBalanceSheetComponents 24 false false R25.htm 30503 - Disclosure - Commitments and Contingencies (Tables) Sheet http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesTables Commitments and Contingencies (Tables) Tables http://www.everspin.com/role/DisclosureCommitmentsAndContingencies 25 false false R26.htm 30603 - Disclosure - Debt (Tables) Sheet http://www.everspin.com/role/DisclosureDebtTables Debt (Tables) Tables http://www.everspin.com/role/DisclosureDebt 26 false false R27.htm 30703 - Disclosure - Stockholders' Equity (Tables) Sheet http://www.everspin.com/role/DisclosureStockholdersEquityTables Stockholders' Equity (Tables) Tables http://www.everspin.com/role/DisclosureStockholdersEquity 27 false false R28.htm 30803 - Disclosure - Stock-Based Compensation (Tables) Sheet http://www.everspin.com/role/DisclosureStockBasedCompensationTables Stock-Based Compensation (Tables) Tables http://www.everspin.com/role/DisclosureStockBasedCompensation 28 false false R29.htm 31103 - Disclosure - Geographic Information (Tables) Sheet http://www.everspin.com/role/DisclosureGeographicInformationTables Geographic Information (Tables) Tables http://www.everspin.com/role/DisclosureGeographicInformation 29 false false R30.htm 31203 - Disclosure - Income Taxes (Tables) Sheet http://www.everspin.com/role/DisclosureIncomeTaxesTables Income Taxes (Tables) Tables http://www.everspin.com/role/DisclosureIncomeTaxes 30 false false R31.htm 31303 - Disclosure - Net Income Per Common Share (Tables) Sheet http://www.everspin.com/role/DisclosureNetIncomePerCommonShareTables Net Income Per Common Share (Tables) Tables http://www.everspin.com/role/DisclosureNetIncomePerCommonShare 31 false false R32.htm 40201 - Disclosure - Summary of Significant Accounting Policies - Accounts Receivable (Details) Sheet http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableDetails Summary of Significant Accounting Policies - Accounts Receivable (Details) Details 32 false false R33.htm 40202 - Disclosure - Summary of Significant Accounting Policies - Schedule of Revenue and Accounts Receivable for Each Significant Customer (Details) Sheet http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfRevenueAndAccountsReceivableForEachSignificantCustomerDetails Summary of Significant Accounting Policies - Schedule of Revenue and Accounts Receivable for Each Significant Customer (Details) Details 33 false false R34.htm 40203 - Disclosure - Summary of Significant Accounting Policies - Schedule of Fair Value of Financial Assets and Liabilities Measured on Recurring Basis (Details) Sheet http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfFairValueOfFinancialAssetsAndLiabilitiesMeasuredOnRecurringBasisDetails Summary of Significant Accounting Policies - Schedule of Fair Value of Financial Assets and Liabilities Measured on Recurring Basis (Details) Details 34 false false R35.htm 40204 - Disclosure - Summary of Significant Accounting Policies - Property and Equipment (Details) Sheet http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails Summary of Significant Accounting Policies - Property and Equipment (Details) Details 35 false false R36.htm 40205 - Disclosure - Summary of Significant Accounting Policies - Schedule of Employee Retention Tax Credit (Details) Sheet http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfEmployeeRetentionTaxCreditDetails Summary of Significant Accounting Policies - Schedule of Employee Retention Tax Credit (Details) Details 36 false false R37.htm 40206 - Disclosure - Summary of Significant Accounting Policies - Leases (Details) Sheet http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails Summary of Significant Accounting Policies - Leases (Details) Details http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables 37 false false R38.htm 40301 - Disclosure - Revenue - Disaggregated by Sales Channel (Details) Sheet http://www.everspin.com/role/DisclosureRevenueDisaggregatedBySalesChannelDetails Revenue - Disaggregated by Sales Channel (Details) Details 38 false false R39.htm 40302 - Disclosure - Revenue - Disaggregated by Timing of Recognition (Details) Sheet http://www.everspin.com/role/DisclosureRevenueDisaggregatedByTimingOfRecognitionDetails Revenue - Disaggregated by Timing of Recognition (Details) Details 39 false false R40.htm 40303 - Disclosure - Revenue - Disaggregated by Type (Details) Sheet http://www.everspin.com/role/DisclosureRevenueDisaggregatedByTypeDetails Revenue - Disaggregated by Type (Details) Details 40 false false R41.htm 40304 - Disclosure - Revenue - Disaggregated by Geographic Region (Details) Sheet http://www.everspin.com/role/DisclosureRevenueDisaggregatedByGeographicRegionDetails Revenue - Disaggregated by Geographic Region (Details) Details 41 false false R42.htm 40401 - Disclosure - Balance Sheet Components - Schedule of Inventory (Details) Sheet http://www.everspin.com/role/DisclosureBalanceSheetComponentsScheduleOfInventoryDetails Balance Sheet Components - Schedule of Inventory (Details) Details 42 false false R43.htm 40402 - Disclosure - Balance Sheet Components - Property and Equipment Net (Details) Sheet http://www.everspin.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentNetDetails Balance Sheet Components - Property and Equipment Net (Details) Details 43 false false R44.htm 40403 - Disclosure - Balance Sheet Components - Schedule of Accrued Liabilities (Details) Sheet http://www.everspin.com/role/DisclosureBalanceSheetComponentsScheduleOfAccruedLiabilitiesDetails Balance Sheet Components - Schedule of Accrued Liabilities (Details) Details 44 false false R45.htm 40404 - Disclosure - Balance Sheet Components - Deferred Revenue (Details) Sheet http://www.everspin.com/role/DisclosureBalanceSheetComponentsDeferredRevenueDetails Balance Sheet Components - Deferred Revenue (Details) Details 45 false false R46.htm 40501 - Disclosure - Commitments and Contingencies (Details) Sheet http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails Commitments and Contingencies (Details) Details http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesTables 46 false false R47.htm 40601 - Disclosure - Debt - Carrying Value (Details) Sheet http://www.everspin.com/role/DisclosureDebtCarryingValueDetails Debt - Carrying Value (Details) Details 47 false false R48.htm 40701 - Disclosure - Stockholders' Equity - (Details) Sheet http://www.everspin.com/role/DisclosureStockholdersEquityDetails Stockholders' Equity - (Details) Details http://www.everspin.com/role/DisclosureStockholdersEquityTables 48 false false R49.htm 40702 - Disclosure - Stockholders' Equity - Warrants (Details) Sheet http://www.everspin.com/role/DisclosureStockholdersEquityWarrantsDetails Stockholders' Equity - Warrants (Details) Details 49 false false R50.htm 40801 - Disclosure - Stock-Based Compensation - Summary of Options and Awards Activity (Details) Sheet http://www.everspin.com/role/DisclosureStockBasedCompensationSummaryOfOptionsAndAwardsActivityDetails Stock-Based Compensation - Summary of Options and Awards Activity (Details) Details 50 false false R51.htm 40802 - Disclosure - Stock-Based Compensation - Additional Information (Details) Sheet http://www.everspin.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails Stock-Based Compensation - Additional Information (Details) Details 51 false false R52.htm 40803 - Disclosure - Stock-Based Compensation - Schedule of Fair Value of Employee Stock Options (Details) Sheet http://www.everspin.com/role/DisclosureStockBasedCompensationScheduleOfFairValueOfEmployeeStockOptionsDetails Stock-Based Compensation - Schedule of Fair Value of Employee Stock Options (Details) Details 52 false false R53.htm 40804 - Disclosure - Stock-Based Compensation - Restricted Stock Units (Details) Sheet http://www.everspin.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails Stock-Based Compensation - Restricted Stock Units (Details) Details 53 false false R54.htm 41001 - Disclosure - Significant Agreements (Details) Sheet http://www.everspin.com/role/DisclosureSignificantAgreementsDetails Significant Agreements (Details) Details http://www.everspin.com/role/DisclosureSignificantAgreements 54 false false R55.htm 41101 - Disclosure - Geographic Information (Details) Sheet http://www.everspin.com/role/DisclosureGeographicInformationDetails Geographic Information (Details) Details http://www.everspin.com/role/DisclosureGeographicInformationTables 55 false false R56.htm 41201 - Disclosure - Income Taxes - Components of Income Tax Expense (Details) Sheet http://www.everspin.com/role/DisclosureIncomeTaxesComponentsOfIncomeTaxExpenseDetails Income Taxes - Components of Income Tax Expense (Details) Details 56 false false R57.htm 41202 - Disclosure - Income Taxes - Reconciliation Effective Tax Rate (Details) Sheet http://www.everspin.com/role/DisclosureIncomeTaxesReconciliationEffectiveTaxRateDetails Income Taxes - Reconciliation Effective Tax Rate (Details) Details 57 false false R58.htm 41203 - Disclosure - Income Taxes - Deferred tax assets (Details) Sheet http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails Income Taxes - Deferred tax assets (Details) Details 58 false false R59.htm 41204 - Disclosure - Income Taxes - Net operating loss carryforwards and Tax Act (Details) Sheet http://www.everspin.com/role/DisclosureIncomeTaxesNetOperatingLossCarryforwardsAndTaxActDetails Income Taxes - Net operating loss carryforwards and Tax Act (Details) Details 59 false false R60.htm 41205 - Disclosure - Income Taxes - Unrecognized Tax Expense (Details) Sheet http://www.everspin.com/role/DisclosureIncomeTaxesUnrecognizedTaxExpenseDetails Income Taxes - Unrecognized Tax Expense (Details) Details 60 false false R61.htm 41301 - Disclosure - Net Income Per Common Share (Details) Sheet http://www.everspin.com/role/DisclosureNetIncomePerCommonShareDetails Net Income Per Common Share (Details) Details http://www.everspin.com/role/DisclosureNetIncomePerCommonShareTables 61 false false R62.htm 41302 - Disclosure - Net Income Per Common Share - Potentially Dilutive Securities (Details) Sheet http://www.everspin.com/role/DisclosureNetIncomePerCommonSharePotentiallyDilutiveSecuritiesDetails Net Income Per Common Share - Potentially Dilutive Securities (Details) Details 62 false false R63.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Uncategorized 63 false false R64.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Cover 64 false false All Reports Book All Reports mram-20231231.xsd mram-20231231_cal.xml mram-20231231_def.xml mram-20231231_lab.xml mram-20231231_pre.xml mram-20231231x10k.htm http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 true true JSON 84 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "mram-20231231x10k.htm": { "nsprefix": "mram", "nsuri": "http://www.everspin.com/20231231", "dts": { "schema": { "local": [ "mram-20231231.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-sub-2023.xsd" ] }, "calculationLink": { "local": [ "mram-20231231_cal.xml" ] }, "definitionLink": { "local": [ "mram-20231231_def.xml" ] }, "labelLink": { "local": [ "mram-20231231_lab.xml" ] }, "presentationLink": { "local": [ "mram-20231231_pre.xml" ] }, "inline": { "local": [ "mram-20231231x10k.htm" ] } }, "keyStandard": 281, "keyCustom": 49, "axisStandard": 23, "axisCustom": 0, "memberStandard": 43, "memberCustom": 20, "hidden": { "total": 32, "http://xbrl.sec.gov/dei/2023": 9, "http://fasb.org/us-gaap/2023": 17, "http://xbrl.sec.gov/ecd/2023": 4, "http://www.everspin.com/20231231": 2 }, "contextCount": 168, "entityCount": 1, "segmentCount": 65, "elementCount": 609, "unitCount": 4, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 567, "http://xbrl.sec.gov/dei/2023": 38, "http://xbrl.sec.gov/ecd/2023": 4 }, "report": { "R1": { "role": "http://www.everspin.com/role/DocumentDocumentAndEntityInformation", "longName": "00090 - Document - Document and Entity Information", "shortName": "Document and Entity Information", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.everspin.com/role/StatementBalanceSheets", "longName": "00100 - Statement - Balance Sheets", "shortName": "Balance Sheets", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "As_Of_12_31_2023_0600uWceFkWmoLGYleIEZA", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_0600uWceFkWmoLGYleIEZA", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R3": { "role": "http://www.everspin.com/role/StatementBalanceSheetsParenthetical", "longName": "00105 - Statement - Balance Sheets (Parenthetical)", "shortName": "Balance Sheets (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "As_Of_12_31_2023_0600uWceFkWmoLGYleIEZA", "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "unitRef": "Unit_Divide_USD_shares_N984RgutY0qi9N2EsLaT5Q", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "us-gaap:PreferredStockParOrStatedValuePerShare", "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_0600uWceFkWmoLGYleIEZA", "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "unitRef": "Unit_Divide_USD_shares_N984RgutY0qi9N2EsLaT5Q", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "us-gaap:PreferredStockParOrStatedValuePerShare", "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R4": { "role": "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome", "longName": "00200 - Statement - Statements of Income and Comprehensive Income", "shortName": "Statements of Income and Comprehensive Income", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:CostOfGoodsAndServicesSold", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "unique": true } }, "R5": { "role": "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncomeParenthetical", "longName": "00205 - Statement - Statements of Income and Comprehensive Income (Parenthetical)", "shortName": "Statements of Income and Comprehensive Income (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:ShareBasedCompensation", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember_kEAJwckp1UehwSzHnrQu-w", "name": "us-gaap:ShareBasedCompensation", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "unique": true } }, "R6": { "role": "http://www.everspin.com/role/StatementStatementsOfStockholdersEquity", "longName": "00300 - Statement - Statements of Stockholders' Equity", "shortName": "Statements of Stockholders' Equity", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_mi_nu0exj02QPUAJY8gaCg", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_mi_nu0exj02QPUAJY8gaCg", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.everspin.com/role/StatementStatementOfCashFlows", "longName": "00400 - Statement - Statement of Cash Flows", "shortName": "Statement of Cash Flows", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "7", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R8": { "role": "http://www.everspin.com/role/DisclosureOrganizationAndNatureOfBusiness", "longName": "10101 - Disclosure - Organization and Nature of Business", "shortName": "Organization and Nature of Business", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "8", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R9": { "role": "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPolicies", "longName": "10201 - Disclosure - Summary of Significant Accounting Policies", "shortName": "Summary of Significant Accounting Policies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.everspin.com/role/DisclosureRevenue", "longName": "10301 - Disclosure - Revenue", "shortName": "Revenue", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.everspin.com/role/DisclosureBalanceSheetComponents", "longName": "10401 - Disclosure - Balance Sheet Components", "shortName": "Balance Sheet Components", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.everspin.com/role/DisclosureCommitmentsAndContingencies", "longName": "10501 - Disclosure - Commitments and Contingencies", "shortName": "Commitments and Contingencies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.everspin.com/role/DisclosureDebt", "longName": "10601 - Disclosure - Debt", "shortName": "Debt", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.everspin.com/role/DisclosureStockholdersEquity", "longName": "10701 - Disclosure - Stockholders' Equity", "shortName": "Stockholders' Equity", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.everspin.com/role/DisclosureStockBasedCompensation", "longName": "10801 - Disclosure - Stock-Based Compensation", "shortName": "Stock-Based Compensation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.everspin.com/role/Disclosure401KPlan", "longName": "10901 - Disclosure - 401 (k) Plan", "shortName": "401 (k) Plan", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.everspin.com/role/DisclosureSignificantAgreements", "longName": "11001 - Disclosure - Significant Agreements", "shortName": "Significant Agreements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "mram:SignificantArrangementsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "mram:SignificantArrangementsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.everspin.com/role/DisclosureGeographicInformation", "longName": "11101 - Disclosure - Geographic Information", "shortName": "Geographic Information", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.everspin.com/role/DisclosureIncomeTaxes", "longName": "11201 - Disclosure - Income Taxes", "shortName": "Income Taxes", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.everspin.com/role/DisclosureNetIncomePerCommonShare", "longName": "11301 - Disclosure - Net Income Per Common Share", "shortName": "Net Income Per Common Share", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies", "longName": "20202 - Disclosure - Summary of Significant Accounting Policies (Policies)", "shortName": "Summary of Significant Accounting Policies (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "21", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:UseOfEstimates", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:UseOfEstimates", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables", "longName": "30203 - Disclosure - Summary of Significant Accounting Policies (Tables)", "shortName": "Summary of Significant Accounting Policies (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "22", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "mram:ScheduleOfAccountsReceivableNetTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "mram:ScheduleOfAccountsReceivableNetTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.everspin.com/role/DisclosureRevenueTables", "longName": "30303 - Disclosure - Revenue (Tables)", "shortName": "Revenue (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "23", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.everspin.com/role/DisclosureBalanceSheetComponentsTables", "longName": "30403 - Disclosure - Balance Sheet Components (Tables)", "shortName": "Balance Sheet Components (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "24", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesTables", "longName": "30503 - Disclosure - Commitments and Contingencies (Tables)", "shortName": "Commitments and Contingencies (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "25", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "mram:LesseeOperatingAndFinancingLeaseLiabilityMaturityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "mram:LesseeOperatingAndFinancingLeaseLiabilityMaturityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.everspin.com/role/DisclosureDebtTables", "longName": "30603 - Disclosure - Debt (Tables)", "shortName": "Debt (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.everspin.com/role/DisclosureStockholdersEquityTables", "longName": "30703 - Disclosure - Stockholders' Equity (Tables)", "shortName": "Stockholders' Equity (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "mram:ScheduleOfReservedSharesOfCommonStockTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "mram:ScheduleOfReservedSharesOfCommonStockTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.everspin.com/role/DisclosureStockBasedCompensationTables", "longName": "30803 - Disclosure - Stock-Based Compensation (Tables)", "shortName": "Stock-Based Compensation (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.everspin.com/role/DisclosureGeographicInformationTables", "longName": "31103 - Disclosure - Geographic Information (Tables)", "shortName": "Geographic Information (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.everspin.com/role/DisclosureIncomeTaxesTables", "longName": "31203 - Disclosure - Income Taxes (Tables)", "shortName": "Income Taxes (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.everspin.com/role/DisclosureNetIncomePerCommonShareTables", "longName": "31303 - Disclosure - Net Income Per Common Share (Tables)", "shortName": "Net Income Per Common Share (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableDetails", "longName": "40201 - Disclosure - Summary of Significant Accounting Policies - Accounts Receivable (Details)", "shortName": "Summary of Significant Accounting Policies - Accounts Receivable (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "32", "firstAnchor": { "contextRef": "As_Of_12_31_2023_0600uWceFkWmoLGYleIEZA", "name": "us-gaap:AccountsReceivableGrossCurrent", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "mram:ScheduleOfAccountsReceivableNetTableTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_0600uWceFkWmoLGYleIEZA", "name": "us-gaap:AccountsReceivableGrossCurrent", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "mram:ScheduleOfAccountsReceivableNetTableTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfRevenueAndAccountsReceivableForEachSignificantCustomerDetails", "longName": "40202 - Disclosure - Summary of Significant Accounting Policies - Schedule of Revenue and Accounts Receivable for Each Significant Customer (Details)", "shortName": "Summary of Significant Accounting Policies - Schedule of Revenue and Accounts Receivable for Each Significant Customer (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "33", "firstAnchor": { "contextRef": "Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_mram_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_-DL1AeFZGkifEMtl217k-Q", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "Unit_Standard_pure_Uaf7UNdZpU6TqeN4hczAow", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "p", "td", "tr", "table", "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "us-gaap:ConcentrationRiskCreditRisk", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_mram_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_-DL1AeFZGkifEMtl217k-Q", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "Unit_Standard_pure_Uaf7UNdZpU6TqeN4hczAow", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "p", "td", "tr", "table", "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "us-gaap:ConcentrationRiskCreditRisk", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfFairValueOfFinancialAssetsAndLiabilitiesMeasuredOnRecurringBasisDetails", "longName": "40203 - Disclosure - Summary of Significant Accounting Policies - Schedule of Fair Value of Financial Assets and Liabilities Measured on Recurring Basis (Details)", "shortName": "Summary of Significant Accounting Policies - Schedule of Fair Value of Financial Assets and Liabilities Measured on Recurring Basis (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "34", "firstAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_zthGxLJR6kO67dNc_O-ZZg", "name": "us-gaap:AssetsFairValueDisclosure", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_zthGxLJR6kO67dNc_O-ZZg", "name": "us-gaap:AssetsFairValueDisclosure", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails", "longName": "40204 - Disclosure - Summary of Significant Accounting Policies - Property and Equipment (Details)", "shortName": "Summary of Significant Accounting Policies - Property and Equipment (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "35", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:ImpairmentOfLongLivedAssetsHeldForUse", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "us-gaap:ImpairmentOfLongLivedAssetsHeldForUse", "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:ImpairmentOfLongLivedAssetsHeldForUse", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "us-gaap:ImpairmentOfLongLivedAssetsHeldForUse", "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfEmployeeRetentionTaxCreditDetails", "longName": "40205 - Disclosure - Summary of Significant Accounting Policies - Schedule of Employee Retention Tax Credit (Details)", "shortName": "Summary of Significant Accounting Policies - Schedule of Employee Retention Tax Credit (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "36", "firstAnchor": { "contextRef": "Duration_4_1_2023_To_6_30_2023_Nb66lXQYgUmdOWTaGJILFg", "name": "mram:ProceedsFromEmployeeRetentionTaxCreditRefunds", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_1_2023_To_6_30_2023_Nb66lXQYgUmdOWTaGJILFg", "name": "mram:ProceedsFromEmployeeRetentionTaxCreditRefunds", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R37": { "role": "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails", "longName": "40206 - Disclosure - Summary of Significant Accounting Policies - Leases (Details)", "shortName": "Summary of Significant Accounting Policies - Leases (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:LesseeLeasesPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:LesseeLeasesPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R38": { "role": "http://www.everspin.com/role/DisclosureRevenueDisaggregatedBySalesChannelDetails", "longName": "40301 - Disclosure - Revenue - Disaggregated by Sales Channel (Details)", "shortName": "Revenue - Disaggregated by Sales Channel (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_ContractWithCustomerSalesChannelAxis_us-gaap_SalesChannelThroughIntermediaryMember_OwQKkfYQBk-cmxKZYipPeA", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "unique": true } }, "R39": { "role": "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByTimingOfRecognitionDetails", "longName": "40302 - Disclosure - Revenue - Disaggregated by Timing of Recognition (Details)", "shortName": "Revenue - Disaggregated by Timing of Recognition (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_yvwIQP1BzkeBpIX1cjmzqQ", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "unique": true } }, "R40": { "role": "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByTypeDetails", "longName": "40303 - Disclosure - Revenue - Disaggregated by Type (Details)", "shortName": "Revenue - Disaggregated by Type (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_LicenseMember_kwQjUiS1V06MMbRKGFG5ng", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "unique": true } }, "R41": { "role": "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByGeographicRegionDetails", "longName": "40304 - Disclosure - Revenue - Disaggregated by Geographic Region (Details)", "shortName": "Revenue - Disaggregated by Geographic Region (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_srt_AsiaPacificMember_Atfbtl4Mq0-6ZRspWF9bww", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "unique": true } }, "R42": { "role": "http://www.everspin.com/role/DisclosureBalanceSheetComponentsScheduleOfInventoryDetails", "longName": "40401 - Disclosure - Balance Sheet Components - Schedule of Inventory (Details)", "shortName": "Balance Sheet Components - Schedule of Inventory (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "As_Of_12_31_2023_0600uWceFkWmoLGYleIEZA", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_0600uWceFkWmoLGYleIEZA", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R43": { "role": "http://www.everspin.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentNetDetails", "longName": "40402 - Disclosure - Balance Sheet Components - Property and Equipment Net (Details)", "shortName": "Balance Sheet Components - Property and Equipment Net (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "As_Of_12_31_2023_0600uWceFkWmoLGYleIEZA", "name": "us-gaap:PropertyPlantAndEquipmentGross", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_0600uWceFkWmoLGYleIEZA", "name": "us-gaap:PropertyPlantAndEquipmentGross", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R44": { "role": "http://www.everspin.com/role/DisclosureBalanceSheetComponentsScheduleOfAccruedLiabilitiesDetails", "longName": "40403 - Disclosure - Balance Sheet Components - Schedule of Accrued Liabilities (Details)", "shortName": "Balance Sheet Components - Schedule of Accrued Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "As_Of_12_31_2023_0600uWceFkWmoLGYleIEZA", "name": "us-gaap:AccruedSalariesCurrent", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_0600uWceFkWmoLGYleIEZA", "name": "us-gaap:AccruedSalariesCurrent", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R45": { "role": "http://www.everspin.com/role/DisclosureBalanceSheetComponentsDeferredRevenueDetails", "longName": "40404 - Disclosure - Balance Sheet Components - Deferred Revenue (Details)", "shortName": "Balance Sheet Components - Deferred Revenue (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2022_To_12_31_2022_us-gaap_TypeOfArrangementAxis_mram_RadHardProduct1AgreementMember_rLS4Z2HdR0iSc18d4wmYuA", "name": "mram:TotalConsiderationOfAgreement", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "unique": true } }, "R46": { "role": "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails", "longName": "40501 - Disclosure - Commitments and Contingencies (Details)", "shortName": "Commitments and Contingencies (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "As_Of_12_31_2023_0600uWceFkWmoLGYleIEZA", "name": "mram:LesseeOperatingAndFinancingLeaseLiabilityPaymentsDueNextTwelveMonths", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "mram:LesseeOperatingAndFinancingLeaseLiabilityMaturityTableTextBlock", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_0600uWceFkWmoLGYleIEZA", "name": "mram:LesseeOperatingAndFinancingLeaseLiabilityPaymentsDueNextTwelveMonths", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "mram:LesseeOperatingAndFinancingLeaseLiabilityMaturityTableTextBlock", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R47": { "role": "http://www.everspin.com/role/DisclosureDebtCarryingValueDetails", "longName": "40601 - Disclosure - Debt - Carrying Value (Details)", "shortName": "Debt - Carrying Value (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "As_Of_12_31_2022_CCuinSBb10KUJ6lQU0A3UA", "name": "us-gaap:LongTermDebtCurrent", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_CreditFacilityAxis_mram_CreditFacility2019Member_Eg0-GcQ3HEiD48KUZVSiTQ", "name": "us-gaap:LineOfCredit", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "unique": true } }, "R48": { "role": "http://www.everspin.com/role/DisclosureStockholdersEquityDetails", "longName": "40701 - Disclosure - Stockholders' Equity - (Details)", "shortName": "Stockholders' Equity - (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:CommonStockDividendsPerShareDeclared", "unitRef": "Unit_Divide_USD_shares_N984RgutY0qi9N2EsLaT5Q", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "p", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:CommonStockDividendsPerShareDeclared", "unitRef": "Unit_Divide_USD_shares_N984RgutY0qi9N2EsLaT5Q", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "p", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R49": { "role": "http://www.everspin.com/role/DisclosureStockholdersEquityWarrantsDetails", "longName": "40702 - Disclosure - Stockholders' Equity - Warrants (Details)", "shortName": "Stockholders' Equity - Warrants (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "As_Of_6_30_2015_us-gaap_ClassOfWarrantOrRightAxis_mram_WarrantsToPurchaseSeriesBRedeemableConvertiblePreferredStockMember_us-gaap_CreditFacilityAxis_mram_AresVentureFinanceCreditFacilityMember_kJsGfUYOTkSm4y1Sv5qN0g", "name": "us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight", "unitRef": "Unit_Standard_shares_25dqpLtA4ki2Zlexez1cXA", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_6_30_2015_us-gaap_ClassOfWarrantOrRightAxis_mram_WarrantsToPurchaseSeriesBRedeemableConvertiblePreferredStockMember_us-gaap_CreditFacilityAxis_mram_AresVentureFinanceCreditFacilityMember_kJsGfUYOTkSm4y1Sv5qN0g", "name": "us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight", "unitRef": "Unit_Standard_shares_25dqpLtA4ki2Zlexez1cXA", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R50": { "role": "http://www.everspin.com/role/DisclosureStockBasedCompensationSummaryOfOptionsAndAwardsActivityDetails", "longName": "40801 - Disclosure - Stock-Based Compensation - Summary of Options and Awards Activity (Details)", "shortName": "Stock-Based Compensation - Summary of Options and Awards Activity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "As_Of_12_31_2022_CCuinSBb10KUJ6lQU0A3UA", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "unitRef": "Unit_Standard_shares_25dqpLtA4ki2Zlexez1cXA", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized", "unitRef": "Unit_Standard_shares_25dqpLtA4ki2Zlexez1cXA", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "unique": true } }, "R51": { "role": "http://www.everspin.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "longName": "40802 - Disclosure - Stock-Based Compensation - Additional Information (Details)", "shortName": "Stock-Based Compensation - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R52": { "role": "http://www.everspin.com/role/DisclosureStockBasedCompensationScheduleOfFairValueOfEmployeeStockOptionsDetails", "longName": "40803 - Disclosure - Stock-Based Compensation - Schedule of Fair Value of Employee Stock Options (Details)", "shortName": "Stock-Based Compensation - Schedule of Fair Value of Employee Stock Options (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_eR6dA1U_TEeIml1FryEjmw", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum", "unitRef": "Unit_Standard_pure_Uaf7UNdZpU6TqeN4hczAow", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_eR6dA1U_TEeIml1FryEjmw", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum", "unitRef": "Unit_Standard_pure_Uaf7UNdZpU6TqeN4hczAow", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R53": { "role": "http://www.everspin.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "longName": "40804 - Disclosure - Stock-Based Compensation - Restricted Stock Units (Details)", "shortName": "Stock-Based Compensation - Restricted Stock Units (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_gIJxYs9DFUyImbdHGGpV0g", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber", "unitRef": "Unit_Standard_shares_25dqpLtA4ki2Zlexez1cXA", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_gIJxYs9DFUyImbdHGGpV0g", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber", "unitRef": "Unit_Standard_shares_25dqpLtA4ki2Zlexez1cXA", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R54": { "role": "http://www.everspin.com/role/DisclosureSignificantAgreementsDetails", "longName": "41001 - Disclosure - Significant Agreements (Details)", "shortName": "Significant Agreements (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "Duration_10_17_2014_To_10_17_2014_srt_CounterpartyNameAxis_mram_GlobalfoundriesMember_us-gaap_TypeOfArrangementAxis_mram_JointDevelopmentAgreementMember_bqPZVHBC0EKkG7rchRW94w", "name": "mram:PeriodOfPossessionOfExclusiveRightToManufactureAfterQualificationOfDevice", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "mram:SignificantArrangementsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_10_17_2014_To_10_17_2014_srt_CounterpartyNameAxis_mram_GlobalfoundriesMember_us-gaap_TypeOfArrangementAxis_mram_JointDevelopmentAgreementMember_bqPZVHBC0EKkG7rchRW94w", "name": "mram:PeriodOfPossessionOfExclusiveRightToManufactureAfterQualificationOfDevice", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "mram:SignificantArrangementsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R55": { "role": "http://www.everspin.com/role/DisclosureGeographicInformationDetails", "longName": "41101 - Disclosure - Geographic Information (Details)", "shortName": "Geographic Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "As_Of_12_31_2023_0600uWceFkWmoLGYleIEZA", "name": "us-gaap:PropertyPlantAndEquipmentNet", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_srt_StatementGeographicalAxis_country_US_8vfUY9tahkWCMRUa5qDIhA", "name": "us-gaap:PropertyPlantAndEquipmentNet", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "unique": true } }, "R56": { "role": "http://www.everspin.com/role/DisclosureIncomeTaxesComponentsOfIncomeTaxExpenseDetails", "longName": "41201 - Disclosure - Income Taxes - Components of Income Tax Expense (Details)", "shortName": "Income Taxes - Components of Income Tax Expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:CurrentStateAndLocalTaxExpenseBenefit", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:CurrentStateAndLocalTaxExpenseBenefit", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R57": { "role": "http://www.everspin.com/role/DisclosureIncomeTaxesReconciliationEffectiveTaxRateDetails", "longName": "41202 - Disclosure - Income Taxes - Reconciliation Effective Tax Rate (Details)", "shortName": "Income Taxes - Reconciliation Effective Tax Rate (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "unitRef": "Unit_Standard_pure_Uaf7UNdZpU6TqeN4hczAow", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "unitRef": "Unit_Standard_pure_Uaf7UNdZpU6TqeN4hczAow", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R58": { "role": "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails", "longName": "41203 - Disclosure - Income Taxes - Deferred tax assets (Details)", "shortName": "Income Taxes - Deferred tax assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "As_Of_12_31_2022_CCuinSBb10KUJ6lQU0A3UA", "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwards", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2022_CCuinSBb10KUJ6lQU0A3UA", "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwards", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R59": { "role": "http://www.everspin.com/role/DisclosureIncomeTaxesNetOperatingLossCarryforwardsAndTaxActDetails", "longName": "41204 - Disclosure - Income Taxes - Net operating loss carryforwards and Tax Act (Details)", "shortName": "Income Taxes - Net operating loss carryforwards and Tax Act (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "59", "firstAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_nmNUj3MfuEq0RhhVzwVz2g", "name": "us-gaap:OperatingLossCarryforwards", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_nmNUj3MfuEq0RhhVzwVz2g", "name": "us-gaap:OperatingLossCarryforwards", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R60": { "role": "http://www.everspin.com/role/DisclosureIncomeTaxesUnrecognizedTaxExpenseDetails", "longName": "41205 - Disclosure - Income Taxes - Unrecognized Tax Expense (Details)", "shortName": "Income Taxes - Unrecognized Tax Expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "60", "firstAnchor": { "contextRef": "As_Of_12_31_2022_CCuinSBb10KUJ6lQU0A3UA", "name": "mram:UnrecognizedTaxExpenses", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2021_Bbalqv5FhE6tpPXRhlohkw", "name": "mram:UnrecognizedTaxExpenses", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "unique": true } }, "R61": { "role": "http://www.everspin.com/role/DisclosureNetIncomePerCommonShareDetails", "longName": "41301 - Disclosure - Net Income Per Common Share (Details)", "shortName": "Net Income Per Common Share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "61", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "mram:WarrantLiabilityFairValueGainLossRecognized", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "unique": true } }, "R62": { "role": "http://www.everspin.com/role/DisclosureNetIncomePerCommonSharePotentiallyDilutiveSecuritiesDetails", "longName": "41302 - Disclosure - Net Income Per Common Share - Potentially Dilutive Securities (Details)", "shortName": "Net Income Per Common Share - Potentially Dilutive Securities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "62", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "Unit_Standard_shares_25dqpLtA4ki2Zlexez1cXA", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "Unit_Standard_shares_25dqpLtA4ki2Zlexez1cXA", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true, "unique": true } }, "R63": { "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "shortName": "Pay vs Performance Disclosure", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Uncategorized", "order": "63", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_rhEHrEVBWkCCOILladpgfg", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_Ki8LGBu2HkSBlfIOa1jaOQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "mram-20231231x10k.htm", "first": true }, "uniqueAnchor": null }, "R64": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Cover", "order": "64", "firstAnchor": null, "uniqueAnchor": null } }, "tag": { "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "label": "Summary of Significant Accounting Policies" } } }, "auth_ref": [] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Payable, Current", "terseLabel": "Accounts payable", "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r22", "r655" ] }, "us-gaap_AccountsReceivableGrossCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableGrossCurrent", "crdr": "debit", "calculation": { "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableDetails": { "parentTag": "us-gaap_AccountsReceivableNetCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableDetails" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Gross, Current", "terseLabel": "Trade accounts receivable", "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current." } } }, "auth_ref": [ "r166", "r255", "r256", "r619" ] }, "us-gaap_AccountsReceivableMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableMember", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfRevenueAndAccountsReceivableForEachSignificantCustomerDetails" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, net [Member]", "terseLabel": "Accounts Receivable, net", "documentation": "Due from customers or clients for goods or services that have been delivered or sold." } } }, "auth_ref": [ "r601" ] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 }, "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableDetails", "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Net, Current", "terseLabel": "Accounts receivable, net", "totalLabel": "Accounts receivable, net", "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current." } } }, "auth_ref": [ "r255", "r256" ] }, "us-gaap_AccountsReceivableNetCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrentAbstract", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableDetails" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Net, Current [Abstract]", "terseLabel": "Accounts receivable" } } }, "auth_ref": [] }, "us-gaap_AccruedIncomeTaxesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedIncomeTaxesNoncurrent", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accrued Income Taxes, Noncurrent", "terseLabel": "Long-term income tax liability", "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all domestic and foreign income tax obligations due beyond one year or the operating cycle, whichever is longer. Alternate captions include income taxes payable, noncurrent." } } }, "auth_ref": [ "r81", "r129" ] }, "mram_AccruedInventory": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "AccruedInventory", "crdr": "credit", "calculation": { "http://www.everspin.com/role/DisclosureBalanceSheetComponentsScheduleOfAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsScheduleOfAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for inventory. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Inventory", "terseLabel": "Inventory" } } }, "auth_ref": [] }, "us-gaap_AccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 }, "http://www.everspin.com/role/DisclosureBalanceSheetComponentsScheduleOfAccruedLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsScheduleOfAccruedLiabilitiesDetails", "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accrued Liabilities, Current", "terseLabel": "Accrued liabilities", "totalLabel": "Total accrued liabilities", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r25" ] }, "us-gaap_AccruedLiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesCurrentAbstract", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsScheduleOfAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Accrued Liabilities, Current [Abstract]", "terseLabel": "Accrued liabilities" } } }, "auth_ref": [] }, "us-gaap_AccruedSalariesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedSalariesCurrent", "crdr": "credit", "calculation": { "http://www.everspin.com/role/DisclosureBalanceSheetComponentsScheduleOfAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsScheduleOfAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Accrued Salaries, Current", "terseLabel": "Payroll-related expenses", "documentation": "Carrying value as of the balance sheet date of the obligations incurred through that date and payable for employees' services provided. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r25", "r620" ] }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.everspin.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentNetDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "negatedLabel": "Less: accumulated depreciation", "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services." } } }, "auth_ref": [ "r52", "r159", "r500" ] }, "ecd_Additional402vDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Additional402vDisclosureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Additional 402(v) Disclosure [Text Block]", "terseLabel": "Additional 402(v) Disclosure" } } }, "auth_ref": [ "r708" ] }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalCommonStock", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Additional Paid in Capital, Common Stock", "terseLabel": "Additional paid-in capital", "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital." } } }, "auth_ref": [ "r86" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.everspin.com/role/StatementStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Additional Paid-In Capital", "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders." } } }, "auth_ref": [ "r398", "r399", "r400", "r531", "r764", "r765", "r766", "r817", "r834" ] }, "ecd_AdjToCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation Amount", "terseLabel": "Adjustment to Compensation, Amount" } } }, "auth_ref": [ "r714" ] }, "ecd_AdjToCompAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation [Axis]", "terseLabel": "Adjustment to Compensation:" } } }, "auth_ref": [ "r714" ] }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToNonPeoNeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]", "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote" } } }, "auth_ref": [ "r714" ] }, "ecd_AdjToPeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToPeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment To PEO Compensation, Footnote [Text Block]", "terseLabel": "Adjustment To PEO Compensation, Footnote" } } }, "auth_ref": [ "r714" ] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/StatementStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition", "terseLabel": "Stock-based compensation expense", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r66", "r67", "r362" ] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:" } } }, "auth_ref": [] }, "ecd_AggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Amount", "terseLabel": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r678", "r690", "r700", "r726" ] }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompNotYetDeterminedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]", "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined" } } }, "auth_ref": [ "r681", "r693", "r703", "r729" ] }, "ecd_AllAdjToCompMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllAdjToCompMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Adjustments to Compensation [Member]", "terseLabel": "All Adjustments to Compensation" } } }, "auth_ref": [ "r714" ] }, "ecd_AllExecutiveCategoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllExecutiveCategoriesMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Executive Categories [Member]", "terseLabel": "All Executive Categories" } } }, "auth_ref": [ "r721" ] }, "ecd_AllIndividualsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllIndividualsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Individuals [Member]", "terseLabel": "All Individuals" } } }, "auth_ref": [ "r685", "r694", "r704", "r721", "r730", "r734", "r742" ] }, "mram_AllOtherCountryMember": { "xbrltype": "domainItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "AllOtherCountryMember", "presentation": [ "http://www.everspin.com/role/DisclosureGeographicInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents all other countries.", "label": "All other" } } }, "auth_ref": [] }, "ecd_AllTradingArrangementsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllTradingArrangementsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "All Trading Arrangements [Member]", "terseLabel": "All Trading Arrangements" } } }, "auth_ref": [ "r740" ] }, "mram_AllowanceForProductReturnsAndPriceConcessions": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "AllowanceForProductReturnsAndPriceConcessions", "crdr": "credit", "calculation": { "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableDetails": { "parentTag": "us-gaap_AccountsReceivableNetCurrent", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableDetails" ], "lang": { "en-us": { "role": { "documentation": "A valuation allowance for product returns and price concessions.", "label": "Allowance For Product Returns and Price Concessions", "negatedLabel": "Allowance for product returns and price adjustments" } } }, "auth_ref": [] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Amendment Flag", "terseLabel": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "us-gaap_AmortizationOfFinancingCostsAndDiscounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfFinancingCostsAndDiscounts", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementStatementOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Amortization of Debt Issuance Costs and Discounts", "terseLabel": "Non-cash interest expense", "documentation": "Amount of amortization expense attributable to debt discount (premium) and debt issuance costs." } } }, "auth_ref": [ "r295", "r468", "r635", "r636", "r759" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.everspin.com/role/DisclosureNetIncomePerCommonSharePotentiallyDilutiveSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "terseLabel": "Potentially dilutive securities excluded from diluted net loss per common share", "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented." } } }, "auth_ref": [ "r217" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "presentation": [ "http://www.everspin.com/role/DisclosureNetIncomePerCommonSharePotentiallyDilutiveSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities [Axis]", "documentation": "Information by type of antidilutive security." } } }, "auth_ref": [ "r38" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems", "presentation": [ "http://www.everspin.com/role/DisclosureNetIncomePerCommonSharePotentiallyDilutiveSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]", "terseLabel": "Antidilutive Securities", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_AntidilutiveSecuritiesNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesNameDomain", "presentation": [ "http://www.everspin.com/role/DisclosureNetIncomePerCommonSharePotentiallyDilutiveSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities, Name [Domain]", "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented." } } }, "auth_ref": [ "r38" ] }, "mram_AresVentureFinanceCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "AresVentureFinanceCreditFacilityMember", "presentation": [ "http://www.everspin.com/role/DisclosureStockholdersEquityWarrantsDetails" ], "lang": { "en-us": { "role": { "documentation": "Ares Venture Finance Credit Facility [Member]", "label": "2015 Credit Facility [Member]" } } }, "auth_ref": [] }, "us-gaap_ArrangementsAndNonarrangementTransactionsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ArrangementsAndNonarrangementTransactionsMember", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsDeferredRevenueDetails", "http://www.everspin.com/role/DisclosureSignificantAgreementsDetails" ], "lang": { "en-us": { "role": { "label": "Arrangements and Non-arrangement Transactions [Domain]", "documentation": "Collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations." } } }, "auth_ref": [ "r435" ] }, "srt_AsiaPacificMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "AsiaPacificMember", "presentation": [ "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByGeographicRegionDetails" ], "lang": { "en-us": { "role": { "label": "APAC" } } }, "auth_ref": [ "r836", "r837", "r838", "r839" ] }, "us-gaap_AssetImpairmentChargesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetImpairmentChargesAbstract", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Asset Impairment Charges [Abstract]", "terseLabel": "Impairment of Long-lived Assets" } } }, "auth_ref": [] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets", "totalLabel": "Total assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r128", "r161", "r187", "r227", "r241", "r246", "r260", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r437", "r441", "r460", "r493", "r558", "r655", "r668", "r776", "r777", "r820" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsAbstract", "presentation": [ "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "Assets" } } }, "auth_ref": [] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets, Current", "totalLabel": "Total current assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r154", "r169", "r187", "r260", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r437", "r441", "r460", "r655", "r776", "r777", "r820" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets:" } } }, "auth_ref": [] }, "us-gaap_AssetsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsFairValueDisclosure", "crdr": "debit", "calculation": { "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfFairValueOfFinancialAssetsAndLiabilitiesMeasuredOnRecurringBasisDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfFairValueOfFinancialAssetsAndLiabilitiesMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Assets, Fair Value Disclosure, Recurring", "totalLabel": "Total assets measured at fair value", "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r71" ] }, "dei_AuditorFirmId": { "xbrltype": "nonemptySequenceNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AuditorFirmId", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Auditor Firm ID", "documentation": "PCAOB issued Audit Firm Identifier" } } }, "auth_ref": [ "r672", "r673", "r686" ] }, "dei_AuditorLocation": { "xbrltype": "internationalNameItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AuditorLocation", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Auditor Location" } } }, "auth_ref": [ "r672", "r673", "r686" ] }, "dei_AuditorName": { "xbrltype": "internationalNameItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AuditorName", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Auditor Name" } } }, "auth_ref": [ "r672", "r673", "r686" ] }, "ecd_AwardExrcPrice": { "xbrltype": "perShareItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardExrcPrice", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Exercise Price", "terseLabel": "Exercise Price" } } }, "auth_ref": [ "r737" ] }, "ecd_AwardGrantDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardGrantDateFairValue", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Grant Date Fair Value", "terseLabel": "Fair Value as of Grant Date" } } }, "auth_ref": [ "r738" ] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]", "terseLabel": "Award Timing Disclosures" } } }, "auth_ref": [ "r733" ] }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing, How MNPI Considered [Text Block]", "terseLabel": "Award Timing, How MNPI Considered" } } }, "auth_ref": [ "r733" ] }, "ecd_AwardTmgMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Method [Text Block]", "terseLabel": "Award Timing Method" } } }, "auth_ref": [ "r733" ] }, "ecd_AwardTmgMnpiCnsdrdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiCnsdrdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Considered [Flag]", "terseLabel": "Award Timing MNPI Considered" } } }, "auth_ref": [ "r733" ] }, "ecd_AwardTmgMnpiDiscTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiDiscTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Disclosure [Text Block]", "terseLabel": "Award Timing MNPI Disclosure" } } }, "auth_ref": [ "r733" ] }, "ecd_AwardTmgPredtrmndFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgPredtrmndFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Predetermined [Flag]", "terseLabel": "Award Timing Predetermined" } } }, "auth_ref": [ "r733" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardTypeAxis", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.everspin.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.everspin.com/role/DisclosureStockBasedCompensationScheduleOfFairValueOfEmployeeStockOptionsDetails", "http://www.everspin.com/role/DisclosureStockholdersEquityDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Type [Axis]", "terseLabel": "Award Type", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r365", "r366", "r367", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r389", "r390", "r391", "r392", "r393" ] }, "ecd_AwardUndrlygSecuritiesAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardUndrlygSecuritiesAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Underlying Securities Amount", "terseLabel": "Underlying Securities" } } }, "auth_ref": [ "r736" ] }, "ecd_AwardsCloseToMnpiDiscIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r735" ] }, "ecd_AwardsCloseToMnpiDiscTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table]", "terseLabel": "Awards Close in Time to MNPI Disclosures" } } }, "auth_ref": [ "r734" ] }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]", "terseLabel": "Awards Close in Time to MNPI Disclosures, Table" } } }, "auth_ref": [ "r734" ] }, "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPolicies" ], "lang": { "en-us": { "role": { "label": "Basis of Presentation and Significant Accounting Policies [Text Block]", "terseLabel": "Summary of Significant Accounting Policies", "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r108" ] }, "mram_BilledContractRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "BilledContractRevenue", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsDeferredRevenueDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the amount billed for the performance under contractual agreements.", "label": "Billed Contract Revenue", "terseLabel": "Amount billed for the performance under contractual agreements" } } }, "auth_ref": [] }, "country_CA": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "CA", "presentation": [ "http://www.everspin.com/role/DisclosureGeographicInformationDetails" ], "lang": { "en-us": { "role": { "label": "Canada" } } }, "auth_ref": [] }, "country_CN": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "CN", "presentation": [ "http://www.everspin.com/role/DisclosureGeographicInformationDetails" ], "lang": { "en-us": { "role": { "label": "China" } } }, "auth_ref": [] }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalExpendituresIncurredButNotYetPaid", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Capital Expenditures Incurred but Not yet Paid", "terseLabel": "Purchases of property and equipment in accounts payable and accrued liabilities", "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred." } } }, "auth_ref": [ "r35", "r36", "r37" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation." } } }, "auth_ref": [ "r33", "r157", "r617" ] }, "us-gaap_CashAndCashEquivalentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAxis", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfFairValueOfFinancialAssetsAndLiabilitiesMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents [Axis]", "documentation": "Information by type of cash and cash equivalent balance." } } }, "auth_ref": [ "r157" ] }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsFairValueDisclosure", "crdr": "debit", "calculation": { "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfFairValueOfFinancialAssetsAndLiabilitiesMeasuredOnRecurringBasisDetails": { "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfFairValueOfFinancialAssetsAndLiabilitiesMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, Fair Value Disclosure", "terseLabel": "Money market funds", "documentation": "Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [] }, "us-gaap_CashAndCashEquivalentsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsPolicyTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, Policy [Policy Text Block]", "terseLabel": "Cash and Cash Equivalents", "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value." } } }, "auth_ref": [ "r34" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "periodEndLabel": "Cash and cash equivalents at end of period", "periodStartLabel": "Cash and cash equivalents at beginning of period", "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r33", "r105", "r184" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementStatementOfCashFlows": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, Period Increase (Decrease)", "totalLabel": "Net increase in cash and cash equivalents", "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r2", "r105" ] }, "ecd_ChangedPeerGroupFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ChangedPeerGroupFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Changed Peer Group, Footnote [Text Block]", "terseLabel": "Changed Peer Group, Footnote" } } }, "auth_ref": [ "r712" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "us-gaap_ClassOfStockLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ClassOfStockLineItems", "presentation": [ "http://www.everspin.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Class of Stock [Line Items]", "terseLabel": "Common stock reserved", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r163", "r164", "r165", "r222", "r302", "r303", "r304", "r306", "r309", "r314", "r316", "r524", "r525", "r526", "r527", "r637", "r749", "r760" ] }, "us-gaap_ClassOfWarrantOrRightAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ClassOfWarrantOrRightAxis", "presentation": [ "http://www.everspin.com/role/DisclosureNetIncomePerCommonSharePotentiallyDilutiveSecuritiesDetails", "http://www.everspin.com/role/DisclosureStockholdersEquityDetails", "http://www.everspin.com/role/DisclosureStockholdersEquityWarrantsDetails" ], "lang": { "en-us": { "role": { "label": "Class of Warrant or Right [Axis]", "documentation": "Information by type of warrant or right issued." } } }, "auth_ref": [ "r62" ] }, "us-gaap_ClassOfWarrantOrRightDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ClassOfWarrantOrRightDomain", "presentation": [ "http://www.everspin.com/role/DisclosureNetIncomePerCommonSharePotentiallyDilutiveSecuritiesDetails", "http://www.everspin.com/role/DisclosureStockholdersEquityDetails", "http://www.everspin.com/role/DisclosureStockholdersEquityWarrantsDetails" ], "lang": { "en-us": { "role": { "label": "Class of Warrant or Right [Domain]", "documentation": "Name of the class or type of warrant or right outstanding. Warrants and rights represent derivative securities that give the holder the right to purchase securities (usually equity) from the issuer at a specific price within a certain time frame. Warrants are often included in a new debt issue to entice investors by a higher return potential. The main difference between warrants and call options is that warrants are issued and guaranteed by the company, whereas options are exchange instruments and are not issued by the company. Also, the lifetime of a warrant is often measured in years, while the lifetime of a typical option is measured in months." } } }, "auth_ref": [] }, "us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1", "presentation": [ "http://www.everspin.com/role/DisclosureStockholdersEquityWarrantsDetails" ], "lang": { "en-us": { "role": { "label": "Class of Warrant or Right, Exercise Price of Warrants or Rights", "terseLabel": "Warrant exercise price", "documentation": "Exercise price per share or per unit of warrants or rights outstanding." } } }, "auth_ref": [ "r317" ] }, "us-gaap_ClassOfWarrantOrRightLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ClassOfWarrantOrRightLineItems", "presentation": [ "http://www.everspin.com/role/DisclosureStockholdersEquityWarrantsDetails" ], "lang": { "en-us": { "role": { "label": "Class of Warrant or Right [Line Items]", "terseLabel": "Warrants", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight", "presentation": [ "http://www.everspin.com/role/DisclosureStockholdersEquityWarrantsDetails" ], "lang": { "en-us": { "role": { "label": "Class of Warrant or Right, Number of Securities Called by Each Warrant or Right", "verboseLabel": "Number of shares the warrant can be converted to", "documentation": "Number of securities into which each warrant or right may be converted. For example, but not limited to, each warrant may be converted into two shares." } } }, "auth_ref": [] }, "us-gaap_ClassOfWarrantOrRightTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ClassOfWarrantOrRightTable", "presentation": [ "http://www.everspin.com/role/DisclosureStockholdersEquityWarrantsDetails" ], "lang": { "en-us": { "role": { "label": "Class of Warrant or Right [Table]", "documentation": "Disclosure for warrants or rights issued, which includes the title of issue of securities called for by warrants and rights outstanding, the aggregate amount of securities called for by warrants and rights outstanding, the date from which the warrants or rights are exercisable, and the price at which the warrant or right is exercisable." } } }, "auth_ref": [ "r62" ] }, "ecd_CoSelectedMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Amount", "terseLabel": "Company Selected Measure Amount" } } }, "auth_ref": [ "r713" ] }, "ecd_CoSelectedMeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Name", "terseLabel": "Company Selected Measure Name" } } }, "auth_ref": [ "r713" ] }, "us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems", "presentation": [ "http://www.everspin.com/role/DisclosureSignificantAgreementsDetails" ], "lang": { "en-us": { "role": { "label": "Collaborative Arrangements and Non-collaborative Arrangement Transactions [Line Items]", "terseLabel": "Joint development agreement", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r435" ] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingencies", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies.", "terseLabel": "Commitments and contingencies (Note 5)", "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur." } } }, "auth_ref": [ "r27", "r77", "r494", "r545" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Commitments and Contingencies" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureCommitmentsAndContingencies" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Text Block]", "verboseLabel": "Commitments and Contingencies", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r114", "r268", "r269", "r602", "r772" ] }, "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockCapitalSharesReservedForFutureIssuance", "presentation": [ "http://www.everspin.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Common Stock, Capital Shares Reserved for Future Issuance", "terseLabel": "Reserved shares of common stock for future issuance", "documentation": "Aggregate number of common shares reserved for future issuance." } } }, "auth_ref": [ "r28" ] }, "us-gaap_CommonStockDividendsPerShareDeclared": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockDividendsPerShareDeclared", "presentation": [ "http://www.everspin.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Common Stock, Dividends, Per Share, Declared", "terseLabel": "Dividends on common stock", "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding." } } }, "auth_ref": [ "r119" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://www.everspin.com/role/StatementStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Common Stock [Member]", "terseLabel": "Common Stock", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r658", "r659", "r660", "r662", "r663", "r664", "r665", "r764", "r765", "r817", "r832", "r834" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.everspin.com/role/StatementBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common stock, par value", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r85" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.everspin.com/role/StatementBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares Authorized", "terseLabel": "Common stock, shares authorized", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r85", "r546" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.everspin.com/role/StatementBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares, Issued", "terseLabel": "Common stock, shares issued", "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury." } } }, "auth_ref": [ "r85" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.everspin.com/role/StatementBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares, Outstanding", "terseLabel": "Common stock, shares outstanding", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r11", "r85", "r546", "r564", "r834", "r835" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Common Stock, Value, Issued", "terseLabel": "Common stock, $0.0001 par value per share; 100,000,000 shares authorized; 21,080,472 and 20,374,288 shares issued and outstanding as of December 31, 2023 and December 31, 2022, respectively", "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r85", "r496", "r655" ] }, "mram_CommonStockWarrantsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "CommonStockWarrantsMember", "presentation": [ "http://www.everspin.com/role/DisclosureNetIncomePerCommonSharePotentiallyDilutiveSecuritiesDetails", "http://www.everspin.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "Common stock warrants.", "label": "Common stock warrants" } } }, "auth_ref": [] }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Company Selected Measure" } } }, "auth_ref": [ "r718" ] }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsNetIncomeTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Net Income [Text Block]", "terseLabel": "Compensation Actually Paid vs. Net Income" } } }, "auth_ref": [ "r717" ] }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Other Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Other Measure" } } }, "auth_ref": [ "r719" ] }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]", "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return" } } }, "auth_ref": [ "r716" ] }, "us-gaap_CompensationAndRetirementDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CompensationAndRetirementDisclosureAbstract", "lang": { "en-us": { "role": { "label": "401 (k) Plan" } } }, "auth_ref": [] }, "us-gaap_ComponentsOfDeferredTaxAssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComponentsOfDeferredTaxAssetsAbstract", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Components of Deferred Tax Assets [Abstract]", "terseLabel": "Deferred tax assets:" } } }, "auth_ref": [] }, "us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Components of Deferred Tax Assets and Liabilities [Abstract]", "terseLabel": "Tax effects of temporary differences and carryforwards" } } }, "auth_ref": [] }, "us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComponentsOfDeferredTaxLiabilitiesAbstract", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Components of Deferred Tax Liabilities [Abstract]", "terseLabel": "Deferred tax liabilities:" } } }, "auth_ref": [] }, "us-gaap_ComputerEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComputerEquipmentMember", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentNetDetails", "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Computer and network equipment", "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems." } } }, "auth_ref": [] }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskBenchmarkDomain", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfRevenueAndAccountsReceivableForEachSignificantCustomerDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Benchmark [Domain]", "documentation": "The denominator in a calculation of a disclosed concentration risk percentage." } } }, "auth_ref": [ "r41", "r43", "r72", "r73", "r254", "r601" ] }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByBenchmarkAxis", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfRevenueAndAccountsReceivableForEachSignificantCustomerDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Benchmark [Axis]", "documentation": "Information by benchmark of concentration risk." } } }, "auth_ref": [ "r41", "r43", "r72", "r73", "r254", "r519", "r601" ] }, "us-gaap_ConcentrationRiskByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByTypeAxis", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfRevenueAndAccountsReceivableForEachSignificantCustomerDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Type [Axis]", "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender." } } }, "auth_ref": [ "r41", "r43", "r72", "r73", "r254", "r601", "r751" ] }, "us-gaap_ConcentrationRiskCreditRisk": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskCreditRisk", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]", "terseLabel": "Concentration of Credit Risk", "documentation": "Disclosure of accounting policy for credit risk." } } }, "auth_ref": [ "r78", "r143" ] }, "us-gaap_ConcentrationRiskLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskLineItems", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfRevenueAndAccountsReceivableForEachSignificantCustomerDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk [Line Items]", "terseLabel": "Concentration risk", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r601" ] }, "us-gaap_ConcentrationRiskPercentage1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskPercentage1", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfRevenueAndAccountsReceivableForEachSignificantCustomerDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk, Percentage", "terseLabel": "Concentration risk percentage", "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division." } } }, "auth_ref": [ "r41", "r43", "r72", "r73", "r254" ] }, "us-gaap_ConcentrationRiskTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskTable", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfRevenueAndAccountsReceivableForEachSignificantCustomerDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk [Table]", "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark." } } }, "auth_ref": [ "r40", "r41", "r43", "r44", "r72", "r127", "r601" ] }, "us-gaap_ConcentrationRiskTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskTypeDomain", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfRevenueAndAccountsReceivableForEachSignificantCustomerDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Type [Domain]", "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration." } } }, "auth_ref": [ "r41", "r43", "r72", "r73", "r254", "r601" ] }, "us-gaap_ContractWithCustomerLiabilityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityAbstract", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsDeferredRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability [Abstract]", "terseLabel": "Deferred Revenue" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsDeferredRevenueDetails", "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Deferred Revenue, Current", "terseLabel": "Deferred licensing revenue", "verboseLabel": "Deferred revenue", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current." } } }, "auth_ref": [ "r319", "r320", "r339" ] }, "us-gaap_ContractWithCustomerSalesChannelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerSalesChannelAxis", "presentation": [ "http://www.everspin.com/role/DisclosureRevenueDisaggregatedBySalesChannelDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Sales Channel [Axis]", "documentation": "Information by sales channel for delivery of good or service in contract with customer." } } }, "auth_ref": [ "r644", "r780" ] }, "us-gaap_ContractWithCustomerSalesChannelDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerSalesChannelDomain", "presentation": [ "http://www.everspin.com/role/DisclosureRevenueDisaggregatedBySalesChannelDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Sales Channel [Domain]", "documentation": "Sales channel for delivery of good or service in contract with customer. Includes, but is not limited to, directly to consumer and through intermediary." } } }, "auth_ref": [ "r644", "r780" ] }, "us-gaap_CostOfGoodsAndServicesSold": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSold", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Cost of Goods and Services Sold", "terseLabel": "Total cost of sales", "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities." } } }, "auth_ref": [ "r100", "r489" ] }, "us-gaap_CostOfGoodsAndServicesSoldDepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSoldDepreciationAndAmortization", "crdr": "debit", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Cost of Goods and Services Sold, Depreciation and Amortization", "terseLabel": "Depreciation and amortization expense", "documentation": "Amount of expense for allocation of cost of tangible and intangible assets over their useful lives directly used in production of good and rendering of service." } } }, "auth_ref": [ "r757" ] }, "srt_CounterpartyNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "CounterpartyNameAxis", "presentation": [ "http://www.everspin.com/role/DisclosureSignificantAgreementsDetails" ], "lang": { "en-us": { "role": { "label": "Counterparty Name [Axis]" } } }, "auth_ref": [ "r189", "r190", "r284", "r304", "r481", "r624", "r626" ] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "label": "Document And Entity Information", "documentation": "Cover page." } } }, "auth_ref": [] }, "mram_CreditFacility2019Member": { "xbrltype": "domainItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "CreditFacility2019Member", "presentation": [ "http://www.everspin.com/role/DisclosureDebtCarryingValueDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the 2019 Credit Facility.", "label": "2019 Credit Facility" } } }, "auth_ref": [] }, "us-gaap_CreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityAxis", "presentation": [ "http://www.everspin.com/role/DisclosureDebtCarryingValueDetails", "http://www.everspin.com/role/DisclosureStockholdersEquityWarrantsDetails" ], "lang": { "en-us": { "role": { "label": "Credit Facility [Axis]", "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [] }, "us-gaap_CreditFacilityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityDomain", "presentation": [ "http://www.everspin.com/role/DisclosureDebtCarryingValueDetails", "http://www.everspin.com/role/DisclosureStockholdersEquityWarrantsDetails" ], "lang": { "en-us": { "role": { "label": "Credit Facility [Domain]", "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [] }, "us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentFederalStateAndLocalTaxExpenseBenefitAbstract", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesComponentsOfIncomeTaxExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Current Federal, State and Local, Tax Expense (Benefit) [Abstract]", "terseLabel": "Current" } } }, "auth_ref": [] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Current Fiscal Year End Date", "terseLabel": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "us-gaap_CurrentIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentIncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesComponentsOfIncomeTaxExpenseDetails": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesComponentsOfIncomeTaxExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Current Income Tax Expense (Benefit)", "totalLabel": "Total Current", "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations." } } }, "auth_ref": [ "r125", "r424", "r430", "r763" ] }, "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentStateAndLocalTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesComponentsOfIncomeTaxExpenseDetails": { "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesComponentsOfIncomeTaxExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Current State and Local Tax Expense (Benefit)", "terseLabel": "State", "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction." } } }, "auth_ref": [ "r753", "r763", "r815" ] }, "mram_CustomerAMember": { "xbrltype": "domainItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "CustomerAMember", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfRevenueAndAccountsReceivableForEachSignificantCustomerDetails" ], "lang": { "en-us": { "role": { "documentation": "Customer A.", "label": "Customer A [Member]", "terseLabel": "Customer A" } } }, "auth_ref": [] }, "mram_CustomerBMember": { "xbrltype": "domainItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "CustomerBMember", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfRevenueAndAccountsReceivableForEachSignificantCustomerDetails" ], "lang": { "en-us": { "role": { "documentation": "Customer B.", "label": "Customer B [Member]", "terseLabel": "Customer B" } } }, "auth_ref": [] }, "mram_CustomerCMember": { "xbrltype": "domainItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "CustomerCMember", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfRevenueAndAccountsReceivableForEachSignificantCustomerDetails" ], "lang": { "en-us": { "role": { "documentation": "Customer C.", "label": "Customer C [Member]", "terseLabel": "Customer C" } } }, "auth_ref": [] }, "us-gaap_CustomerConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerConcentrationRiskMember", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfRevenueAndAccountsReceivableForEachSignificantCustomerDetails" ], "lang": { "en-us": { "role": { "label": "Customer Concentration Risk [Member]", "terseLabel": "Customer Concentration Risk", "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer." } } }, "auth_ref": [ "r42", "r254" ] }, "mram_CustomerDMember": { "xbrltype": "domainItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "CustomerDMember", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfRevenueAndAccountsReceivableForEachSignificantCustomerDetails" ], "lang": { "en-us": { "role": { "documentation": "Customer D.", "label": "Customer D [Member]", "terseLabel": "Customer D" } } }, "auth_ref": [] }, "mram_CustomerEMember": { "xbrltype": "domainItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "CustomerEMember", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfRevenueAndAccountsReceivableForEachSignificantCustomerDetails" ], "lang": { "en-us": { "role": { "documentation": "Customer E.", "label": "Customer E" } } }, "auth_ref": [] }, "country_DE": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "DE", "presentation": [ "http://www.everspin.com/role/DisclosureGeographicInformationDetails" ], "lang": { "en-us": { "role": { "label": "Germany" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Debt" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureDebt" ], "lang": { "en-us": { "role": { "label": "Debt Disclosure [Text Block]", "terseLabel": "Debt", "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants." } } }, "auth_ref": [ "r115", "r185", "r283", "r285", "r286", "r287", "r288", "r289", "r290", "r293", "r296", "r297", "r298" ] }, "us-gaap_DebtInstrumentCarryingAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentCarryingAmount", "crdr": "credit", "calculation": { "http://www.everspin.com/role/DisclosureDebtCarryingValueDetails": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureDebtCarryingValueDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Gross", "verboseLabel": "Principal amount", "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt." } } }, "auth_ref": [ "r20", "r131", "r299" ] }, "us-gaap_DebtInstrumentUnamortizedDiscount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentUnamortizedDiscount", "crdr": "debit", "calculation": { "http://www.everspin.com/role/DisclosureDebtCarryingValueDetails": { "parentTag": "us-gaap_LongTermDebt", "weight": -1.0, "order": 2.0 }, "http://www.everspin.com/role/DisclosureDebtCarryingValueDetailsCal2": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.everspin.com/role/DisclosureDebtCarryingValueDetails", "http://www.everspin.com/role/DisclosureSignificantAgreementsDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Unamortized Discount", "negatedTotalLabel": "Less: Discount attributable to warrants, end of term fee and debt issuance costs, Total", "verboseLabel": "Unamortized discount", "documentation": "Amount, after accumulated amortization, of debt discount." } } }, "auth_ref": [ "r74", "r76", "r779" ] }, "us-gaap_DebtInstrumentUnamortizedDiscountCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentUnamortizedDiscountCurrent", "crdr": "debit", "calculation": { "http://www.everspin.com/role/DisclosureDebtCarryingValueDetails": { "parentTag": "us-gaap_LongTermDebtCurrent", "weight": -1.0, "order": 1.0 }, "http://www.everspin.com/role/DisclosureDebtCarryingValueDetailsCal2": { "parentTag": "us-gaap_DebtInstrumentUnamortizedDiscount", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureDebtCarryingValueDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Unamortized Discount, Current", "negatedLabel": "Less: Debt issuance costs, Current Portion", "documentation": "Amount of debt discount to be amortized within one year or within the normal operating cycle, if longer." } } }, "auth_ref": [ "r74", "r76" ] }, "us-gaap_DebtPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtPolicyTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Debt, Policy [Policy Text Block]", "terseLabel": "Debt Issuance Costs", "documentation": "Disclosure of accounting policy related to debt. Includes, but is not limited to, debt issuance costs, the effects of refinancings, method of amortizing debt issuance costs and original issue discount, and classifications of debt." } } }, "auth_ref": [ "r8" ] }, "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredFederalIncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesComponentsOfIncomeTaxExpenseDetails": { "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesComponentsOfIncomeTaxExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Federal Income Tax Expense (Benefit)", "terseLabel": "Federal", "documentation": "Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction." } } }, "auth_ref": [ "r763", "r814", "r815" ] }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesComponentsOfIncomeTaxExpenseDetails": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesComponentsOfIncomeTaxExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Expense (Benefit)", "totalLabel": "Total Deferred", "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r6", "r125", "r149", "r429", "r430", "r763" ] }, "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesComponentsOfIncomeTaxExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]", "terseLabel": "Deferred" } } }, "auth_ref": [] }, "us-gaap_DeferredIncomeTaxLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxLiabilities", "crdr": "credit", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails": { "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Liabilities, Gross", "negatedTotalLabel": "Deferred tax liabilities", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences." } } }, "auth_ref": [ "r82", "r83", "r130", "r418" ] }, "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesComponentsOfIncomeTaxExpenseDetails": { "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesComponentsOfIncomeTaxExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Deferred State and Local Income Tax Expense (Benefit)", "terseLabel": "State", "documentation": "Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction." } } }, "auth_ref": [ "r763", "r814", "r815" ] }, "us-gaap_DeferredTaxAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsGross", "crdr": "debit", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails": { "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Gross", "totalLabel": "Gross deferred tax assets", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards." } } }, "auth_ref": [ "r419" ] }, "us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsInProcessResearchAndDevelopment", "crdr": "debit", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, in Process Research and Development", "terseLabel": "Research and experimental expenditures", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from in-process research and development costs expensed in connection with a business combination." } } }, "auth_ref": [ "r70", "r813" ] }, "us-gaap_DeferredTaxAssetsInventory": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsInventory", "crdr": "debit", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Inventory", "terseLabel": "Inventory", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory." } } }, "auth_ref": [ "r70", "r813" ] }, "us-gaap_DeferredTaxAssetsLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsLiabilitiesNet", "crdr": "debit", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Net", "totalLabel": "Net deferred tax assets", "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting." } } }, "auth_ref": [ "r812" ] }, "us-gaap_DeferredTaxAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsNet", "crdr": "debit", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails": { "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Net of Valuation Allowance", "totalLabel": "Deferred tax assets", "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards." } } }, "auth_ref": [ "r812" ] }, "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsOperatingLossCarryforwards", "crdr": "debit", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Operating Loss Carryforwards", "terseLabel": "Net operating loss carryforwards", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards." } } }, "auth_ref": [ "r70", "r813" ] }, "us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration", "crdr": "debit", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesNetOperatingLossCarryforwardsAndTaxActDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Operating Loss Carryforwards, Not Subject to Expiration", "terseLabel": "Net operating loss carryforwards, which will carryover indefinitely", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards that are not subject to expiration dates." } } }, "auth_ref": [] }, "us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration", "crdr": "debit", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesNetOperatingLossCarryforwardsAndTaxActDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Operating Loss Carryforwards, Subject to Expiration", "terseLabel": "Net operating loss carryforwards, which will expire if not utilized", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards that are subject to expiration dates." } } }, "auth_ref": [] }, "mram_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpirationIrcSection382": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpirationIrcSection382", "crdr": "debit", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesNetOperatingLossCarryforwardsAndTaxActDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards that are subject to expiration dates in accordance with IRC Section 382.", "label": "Deferred Tax Assets, Operating Loss Carryforwards, Subject to Expiration, IRC Section 382", "terseLabel": "Net operating loss carryforwards, subject to expiration per IRC Section 382" } } }, "auth_ref": [] }, "mram_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpirationIrcSection382TaxEffected": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpirationIrcSection382TaxEffected", "crdr": "debit", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesNetOperatingLossCarryforwardsAndTaxActDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards that are subject to expiration dates in accordance with IRC Section 382, tax effected.", "label": "Deferred Tax Assets, Operating Loss Carryforwards, Subject to Expiration, IRC Section 382, Tax Effected", "terseLabel": "Net operating loss carryforwards (tax effected), subject to expiration per IRC Section 382" } } }, "auth_ref": [] }, "us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsPropertyPlantAndEquipment", "crdr": "debit", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Property, Plant and Equipment", "terseLabel": "Depreciation and amortization", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from property, plant, and equipment." } } }, "auth_ref": [] }, "mram_DeferredTaxAssetsRightOfUseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "DeferredTaxAssetsRightOfUseLiability", "crdr": "debit", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from right-of-use liability.", "label": "Deferred Tax Assets, Right Of Use Liability", "terseLabel": "Right of use liability" } } }, "auth_ref": [] }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost", "crdr": "debit", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-based Compensation Cost", "terseLabel": "Stock-based compensation", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation." } } }, "auth_ref": [ "r70", "r813" ] }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals", "crdr": "debit", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals", "terseLabel": "Accruals", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from reserves and accruals." } } }, "auth_ref": [ "r70", "r813" ] }, "us-gaap_DeferredTaxAssetsValuationAllowance": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsValuationAllowance", "crdr": "credit", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails": { "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Valuation Allowance", "negatedLabel": "Valuation allowance", "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized." } } }, "auth_ref": [ "r420" ] }, "us-gaap_DeferredTaxLiabilitiesOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilitiesOther", "crdr": "credit", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails": { "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Liabilities, Other", "negatedLabel": "Other", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences classified as other." } } }, "auth_ref": [ "r70", "r813" ] }, "mram_DeferredTaxLiabilitiesRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "DeferredTaxLiabilitiesRightOfUseAsset", "crdr": "credit", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails": { "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences related to right-of-use assets.", "label": "Deferred Tax Liabilities, Right of Use Asset", "negatedLabel": "Right of use asset" } } }, "auth_ref": [] }, "us-gaap_DepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationAndAmortization", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementStatementOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Depreciation, Depletion and Amortization, Nonproduction", "terseLabel": "Depreciation and amortization", "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production." } } }, "auth_ref": [ "r6", "r51" ] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByGeographicRegionDetails", "http://www.everspin.com/role/DisclosureRevenueDisaggregatedBySalesChannelDetails", "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByTimingOfRecognitionDetails", "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByTypeDetails" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of Revenue", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r338", "r638", "r639", "r640", "r641", "r642", "r643", "r644" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByGeographicRegionDetails", "http://www.everspin.com/role/DisclosureRevenueDisaggregatedBySalesChannelDetails", "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByTimingOfRecognitionDetails", "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByTypeDetails" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Table]", "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r338", "r638", "r639", "r640", "r641", "r642", "r643", "r644" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureRevenueTables" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Schedule of disaggregation of revenue", "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r780" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensation" ], "lang": { "en-us": { "role": { "label": "Disclosure of Compensation Related Costs, Share-based Payments [Text Block]", "terseLabel": "Stock-Based Compensation", "documentation": "The entire disclosure for share-based payment arrangement." } } }, "auth_ref": [ "r360", "r364", "r394", "r395", "r397", "r649" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "lang": { "en-us": { "role": { "label": "Stock-Based Compensation" } } }, "auth_ref": [] }, "us-gaap_DisclosureTextBlockSupplementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureTextBlockSupplementAbstract", "lang": { "en-us": { "role": { "label": "Balance Sheet Components" } } }, "auth_ref": [] }, "dei_DocumentAnnualReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentAnnualReport", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Annual Report", "documentation": "Boolean flag that is true only for a form used as an annual report." } } }, "auth_ref": [ "r672", "r673", "r686" ] }, "dei_DocumentFinStmtErrorCorrectionFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFinStmtErrorCorrectionFlag", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Financial Statement Error Correction [Flag]", "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction." } } }, "auth_ref": [ "r672", "r673", "r686", "r722" ] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Period Focus", "terseLabel": "Document Fiscal Period Focus", "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY." } } }, "auth_ref": [] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Year Focus", "terseLabel": "Document Fiscal Year Focus", "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006." } } }, "auth_ref": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Period End Date", "terseLabel": "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_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentTransitionReport", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r707" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Type", "terseLabel": "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": [] }, "us-gaap_DomesticCountryMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DomesticCountryMember", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesNetOperatingLossCarryforwardsAndTaxActDetails" ], "lang": { "en-us": { "role": { "label": "Federal", "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile." } } }, "auth_ref": [] }, "us-gaap_EMEAMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EMEAMember", "presentation": [ "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByGeographicRegionDetails" ], "lang": { "en-us": { "role": { "label": "EMEA", "documentation": "Regions of Europe, Middle East and Africa." } } }, "auth_ref": [ "r836", "r837", "r838", "r839" ] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareAbstract", "lang": { "en-us": { "role": { "label": "Net Income Per Common Share" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.everspin.com/role/DisclosureNetIncomePerCommonShareDetails", "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic", "terseLabel": "Net income per common share, Basic", "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period." } } }, "auth_ref": [ "r177", "r196", "r197", "r198", "r199", "r200", "r205", "r207", "r214", "r215", "r216", "r220", "r451", "r452", "r490", "r505", "r628" ] }, "us-gaap_EarningsPerShareBasicAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasicAbstract", "presentation": [ "http://www.everspin.com/role/DisclosureNetIncomePerCommonShareDetails" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic [Abstract]", "terseLabel": "Basic EPS" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.everspin.com/role/DisclosureNetIncomePerCommonShareDetails", "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted", "terseLabel": "Net income per common share, Diluted", "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period." } } }, "auth_ref": [ "r177", "r196", "r197", "r198", "r199", "r200", "r207", "r214", "r215", "r216", "r220", "r451", "r452", "r490", "r505", "r628" ] }, "us-gaap_EarningsPerShareDilutedAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDilutedAbstract", "presentation": [ "http://www.everspin.com/role/DisclosureNetIncomePerCommonShareDetails" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted [Abstract]", "terseLabel": "Diluted EPS" } } }, "auth_ref": [] }, "us-gaap_EarningsPerSharePolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerSharePolicyTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Policy [Policy Text Block]", "terseLabel": "Net Income per Common Share", "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements." } } }, "auth_ref": [ "r38", "r39" ] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureNetIncomePerCommonShare" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Text Block]", "terseLabel": "Net Income Per Common Share", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r204", "r217", "r218", "r219" ] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateContinuingOperations", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesReconciliationEffectiveTaxRateDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesReconciliationEffectiveTaxRateDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Percent", "totalLabel": "Provision for income taxes", "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r411" ] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesReconciliationEffectiveTaxRateDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Percent [Abstract]", "terseLabel": "Reconciliation of statutory federal income tax" } } }, "auth_ref": [] }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesReconciliationEffectiveTaxRateDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesReconciliationEffectiveTaxRateDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent", "terseLabel": "Tax at statutory federal rate", "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)." } } }, "auth_ref": [ "r188", "r411", "r431" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesReconciliationEffectiveTaxRateDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesReconciliationEffectiveTaxRateDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent", "terseLabel": "Change in valuation allowance", "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets." } } }, "auth_ref": [ "r810", "r816" ] }, "mram_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensationPercent": { "xbrltype": "percentItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseExecutiveCompensationPercent", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesReconciliationEffectiveTaxRateDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesReconciliationEffectiveTaxRateDetails" ], "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to executive compensation nondeductible expenses.", "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Executive Compensation, Percent", "terseLabel": "IRC section 162(m) limitation" } } }, "auth_ref": [] }, "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesReconciliationEffectiveTaxRateDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesReconciliationEffectiveTaxRateDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-based Compensation Cost, Percent", "terseLabel": "Stock-based compensation", "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for share-based payment arrangement." } } }, "auth_ref": [ "r810", "r816" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesReconciliationEffectiveTaxRateDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesReconciliationEffectiveTaxRateDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Percent", "terseLabel": "Other", "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments." } } }, "auth_ref": [ "r810", "r816" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes", "calculation": { "http://www.everspin.com/role/DisclosureIncomeTaxesReconciliationEffectiveTaxRateDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesReconciliationEffectiveTaxRateDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent", "terseLabel": "State taxes, net of federal benefit", "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit)." } } }, "auth_ref": [ "r810", "r816" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.everspin.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition", "terseLabel": "Unrecognized compensation expense, weighted-average period expected to be recognized", "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r396" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "crdr": "debit", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.everspin.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options", "terseLabel": "Unrecognized stock-based compensation expense", "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r809" ] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOptionMember", "presentation": [ "http://www.everspin.com/role/DisclosureNetIncomePerCommonSharePotentiallyDilutiveSecuritiesDetails", "http://www.everspin.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.everspin.com/role/DisclosureStockBasedCompensationScheduleOfFairValueOfEmployeeStockOptionsDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Employee Stock Option [Member]", "terseLabel": "Employee Stock Option", "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time." } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine2": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine2", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Address Line Two", "documentation": "Address Line 2 such as Street or Suite number" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Central Index Key", "terseLabel": "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": [ "r670" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Common Stock, Shares Outstanding", "terseLabel": "Entity Common Stock, Shares Outstanding", "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument." } } }, "auth_ref": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Current Reporting Status", "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r670" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFilerCategory", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Filer Category", "terseLabel": "Entity Filer Category", "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [ "r670" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Interactive Data Current", "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)." } } }, "auth_ref": [ "r747" ] }, "dei_EntityPublicFloat": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityPublicFloat", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Public Float", "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter." } } }, "auth_ref": [] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Registrant Name", "terseLabel": "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": [ "r670" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r670" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r670" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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": [ "r670" ] }, "dei_EntityVoluntaryFilers": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityVoluntaryFilers", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Voluntary Filers", "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act." } } }, "auth_ref": [] }, "dei_EntityWellKnownSeasonedIssuer": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityWellKnownSeasonedIssuer", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Well-known Seasoned Issuer", "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A." } } }, "auth_ref": [ "r748" ] }, "us-gaap_EquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquipmentMember", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentNetDetails", "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Manufacturing equipment", "documentation": "Tangible personal property used to produce goods and services." } } }, "auth_ref": [] }, "us-gaap_EquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityAbstract", "lang": { "en-us": { "role": { "label": "Stockholders' Equity" } } }, "auth_ref": [] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://www.everspin.com/role/StatementStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity Component [Domain]", "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc." } } }, "auth_ref": [ "r11", "r152", "r173", "r174", "r175", "r191", "r192", "r193", "r195", "r201", "r203", "r221", "r261", "r262", "r318", "r398", "r399", "r400", "r425", "r426", "r443", "r444", "r445", "r446", "r447", "r448", "r450", "r461", "r462", "r463", "r464", "r465", "r466", "r480", "r514", "r515", "r516", "r531", "r585" ] }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Valuation Assumption Difference, Footnote [Text Block]", "terseLabel": "Equity Valuation Assumption Difference, Footnote" } } }, "auth_ref": [ "r715" ] }, "ecd_ErrCompAnalysisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompAnalysisTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneous Compensation Analysis [Text Block]", "terseLabel": "Erroneous Compensation Analysis" } } }, "auth_ref": [ "r678", "r690", "r700", "r726" ] }, "ecd_ErrCompRecoveryTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompRecoveryTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneously Awarded Compensation Recovery [Table]", "terseLabel": "Erroneously Awarded Compensation Recovery" } } }, "auth_ref": [ "r675", "r687", "r697", "r723" ] }, "ecd_ExecutiveCategoryAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ExecutiveCategoryAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Executive Category [Axis]", "terseLabel": "Executive Category:" } } }, "auth_ref": [ "r721" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfFairValueOfFinancialAssetsAndLiabilitiesMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "terseLabel": "Fair Value", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r454", "r455", "r458" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfFairValueOfFinancialAssetsAndLiabilitiesMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Measurements, Recurring and Nonrecurring [Table]", "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis." } } }, "auth_ref": [ "r454", "r455", "r458" ] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfFairValueOfFinancialAssetsAndLiabilitiesMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Hierarchy [Axis]", "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient." } } }, "auth_ref": [ "r292", "r344", "r345", "r346", "r347", "r348", "r349", "r455", "r482", "r483", "r484", "r633", "r634", "r645", "r646", "r647" ] }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByMeasurementFrequencyAxis", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfFairValueOfFinancialAssetsAndLiabilitiesMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Measurement Frequency [Axis]", "documentation": "Information by measurement frequency." } } }, "auth_ref": [ "r454", "r455", "r456", "r457", "r459" ] }, "us-gaap_FairValueInputsLevel1Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel1Member", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfFairValueOfFinancialAssetsAndLiabilitiesMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Level 1 [Member]", "terseLabel": "Level 1", "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date." } } }, "auth_ref": [ "r292", "r344", "r349", "r455", "r482", "r645", "r646", "r647" ] }, "us-gaap_FairValueInputsLevel3Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel3Member", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfFairValueOfFinancialAssetsAndLiabilitiesMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Level 3 [Member]", "terseLabel": "Level 3", "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing." } } }, "auth_ref": [ "r292", "r344", "r345", "r346", "r347", "r348", "r349", "r455", "r484", "r633", "r634", "r645", "r646", "r647" ] }, "us-gaap_FairValueMeasurementFrequencyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementFrequencyDomain", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfFairValueOfFinancialAssetsAndLiabilitiesMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Measurement Frequency [Domain]", "documentation": "Measurement frequency." } } }, "auth_ref": [] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfFairValueOfFinancialAssetsAndLiabilitiesMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Hierarchy [Domain]", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r292", "r344", "r345", "r346", "r347", "r348", "r349", "r482", "r483", "r484", "r633", "r634", "r645", "r646", "r647" ] }, "us-gaap_FairValueMeasurementsRecurringMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsRecurringMember", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfFairValueOfFinancialAssetsAndLiabilitiesMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Recurring", "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value." } } }, "auth_ref": [ "r453", "r459" ] }, "us-gaap_FairValueOfFinancialInstrumentsPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueOfFinancialInstrumentsPolicy", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Fair Value of Financial Instruments, Policy [Policy Text Block]", "terseLabel": "Fair Value of Financial Instruments", "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments." } } }, "auth_ref": [ "r9", "r19" ] }, "us-gaap_FinanceLeasePrincipalPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeasePrincipalPayments", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Principal Payments", "terseLabel": "Financing cash flows paid for finance leases", "documentation": "Amount of cash outflow for principal payment on finance lease." } } }, "auth_ref": [ "r470", "r476" ] }, "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseWeightedAverageDiscountRatePercent", "presentation": [ "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Finance lease weighted-average discount rate", "documentation": "Weighted average discount rate for finance lease calculated at point in time." } } }, "auth_ref": [ "r479", "r654" ] }, "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseWeightedAverageRemainingLeaseTerm1", "presentation": [ "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Weighted Average Remaining Lease Term", "terseLabel": "Finance lease weighted-average remaining lease term (years)", "documentation": "Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r478", "r654" ] }, "us-gaap_FinancialLiabilitiesFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancialLiabilitiesFairValueDisclosure", "crdr": "credit", "calculation": { "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfFairValueOfFinancialAssetsAndLiabilitiesMeasuredOnRecurringBasisDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfFairValueOfFinancialAssetsAndLiabilitiesMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Financial Liabilities Fair Value Disclosure", "totalLabel": "Total liabilities measured at fair value", "documentation": "Fair value of financial obligations, including, but not limited to, debt instruments, derivative liabilities, federal funds purchased and sold under agreements to repurchase, securities loaned or sold under agreements to repurchase, financial instruments sold not yet purchased, guarantees, line of credit, loans and notes payable, servicing liability, and trading liabilities." } } }, "auth_ref": [] }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r682", "r694", "r704", "r730" ] }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Expense of Enforcement, Amount", "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r682", "r694", "r704", "r730" ] }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Violation of Home Country Law, Amount", "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r682", "r694", "r704", "r730" ] }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Explanation of Impracticability [Text Block]", "terseLabel": "Forgone Recovery, Explanation of Impracticability" } } }, "auth_ref": [ "r682", "r694", "r704", "r730" ] }, "ecd_ForgoneRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r682", "r694", "r704", "r730" ] }, "us-gaap_FurnitureAndFixturesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FurnitureAndFixturesMember", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentNetDetails", "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Furniture and fixtures", "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases." } } }, "auth_ref": [] }, "mram_FutureStockOptionGrantsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "FutureStockOptionGrantsMember", "presentation": [ "http://www.everspin.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "Future stock option grants.", "label": "Shares Available for Future Option Grants [Member]" } } }, "auth_ref": [] }, "us-gaap_GainLossOnDispositionOfAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GainLossOnDispositionOfAssets", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementStatementOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Gain (Loss) on Disposition of Property Plant Equipment, Excluding Oil and Gas Property and Timber Property", "negatedLabel": "Gain on sale of property and equipment", "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, excluding oil and gas property and timber property." } } }, "auth_ref": [ "r759", "r769", "r770" ] }, "mram_GainOnWarrantRevaluation": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "GainOnWarrantRevaluation", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementStatementOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 15.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "It represents the amount of gain on warrant revaluation during the period.", "label": "Gain On Warrant Revaluation", "negatedLabel": "Non-cash warrant revaluation" } } }, "auth_ref": [] }, "us-gaap_GainsLossesOnExtinguishmentOfDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GainsLossesOnExtinguishmentOfDebt", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementStatementOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Gain (Loss) on Extinguishment of Debt", "negatedLabel": "Loss on prepayment and termination of credit facility", "documentation": "Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity." } } }, "auth_ref": [ "r6", "r53", "r54" ] }, "us-gaap_GeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "General and Administrative Expense", "terseLabel": "General and administrative", "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line." } } }, "auth_ref": [ "r101", "r568" ] }, "us-gaap_GeneralAndAdministrativeExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeneralAndAdministrativeExpenseMember", "presentation": [ "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncomeParenthetical" ], "lang": { "en-us": { "role": { "label": "General and Administrative [Member]", "terseLabel": "General and Administrative", "documentation": "Primary financial statement caption encompassing general and administrative expense." } } }, "auth_ref": [ "r97" ] }, "mram_GlobalfoundriesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "GlobalfoundriesMember", "presentation": [ "http://www.everspin.com/role/DisclosureSignificantAgreementsDetails" ], "lang": { "en-us": { "role": { "documentation": "Global Foundries.", "label": "Global Foundries, Inc. [Member]", "terseLabel": "GlobalFoundries, Inc." } } }, "auth_ref": [] }, "mram_GovernmentTaxCreditsIncentivesAndGrantsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "GovernmentTaxCreditsIncentivesAndGrantsPolicyTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy related to Government Tax Credits, Incentives and Grants.", "label": "Government Tax Credits, Incentives and Grants [Policy Text Block]", "terseLabel": "Government Tax Credits, Incentives and Grants" } } }, "auth_ref": [] }, "us-gaap_GranteeStatusAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GranteeStatusAxis", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationScheduleOfFairValueOfEmployeeStockOptionsDetails", "http://www.everspin.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Grantee Status [Axis]", "documentation": "Information by status of recipient to whom award is granted." } } }, "auth_ref": [ "r361", "r363", "r365", "r366", "r367", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r389", "r390", "r391", "r392", "r393" ] }, "us-gaap_GranteeStatusDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GranteeStatusDomain", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationScheduleOfFairValueOfEmployeeStockOptionsDetails", "http://www.everspin.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Grantee Status [Domain]", "documentation": "Status of recipient to whom award is granted." } } }, "auth_ref": [ "r361", "r363", "r365", "r366", "r367", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r389", "r390", "r391", "r392", "r393" ] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Gross Profit", "totalLabel": "Gross profit", "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity." } } }, "auth_ref": [ "r99", "r187", "r227", "r240", "r245", "r248", "r260", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r460", "r630", "r776" ] }, "country_HK": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "HK", "presentation": [ "http://www.everspin.com/role/DisclosureGeographicInformationDetails" ], "lang": { "en-us": { "role": { "label": "Hong Kong" } } }, "auth_ref": [] }, "dei_IcfrAuditorAttestationFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "IcfrAuditorAttestationFlag", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "ICFR Auditor Attestation Flag" } } }, "auth_ref": [ "r672", "r673", "r686" ] }, "us-gaap_ImpairmentOfLongLivedAssetsHeldForUse": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ImpairmentOfLongLivedAssetsHeldForUse", "crdr": "debit", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Impairment of Long-Lived Assets Held-for-use", "terseLabel": "Impairment of long-lived assets", "documentation": "The aggregate amount of write-downs for impairments recognized during the period for long lived assets held for use (including those held for disposal by means other than sale)." } } }, "auth_ref": [ "r6", "r50", "r112" ] }, "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]", "terseLabel": "Impairment of Long-lived Assets", "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets." } } }, "auth_ref": [ "r0", "r113" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "totalLabel": "Net income before income taxes", "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r1", "r95", "r133", "r227", "r240", "r245", "r248", "r491", "r502", "r630" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "label": "Statements of Income and Comprehensive Income" } } }, "auth_ref": [] }, "us-gaap_IncomeStatementCompensationItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementCompensationItemsAbstract", "presentation": [ "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncomeParenthetical" ], "lang": { "en-us": { "role": { "label": "Compensation Items [Abstract]", "terseLabel": "Operating expenses include stock-based compensation as follows:" } } }, "auth_ref": [] }, "us-gaap_IncomeStatementLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationAxis", "presentation": [ "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncomeParenthetical" ], "lang": { "en-us": { "role": { "label": "Income Statement Location [Axis]", "documentation": "Information by location in the income statement." } } }, "auth_ref": [ "r266", "r267", "r569" ] }, "us-gaap_IncomeStatementLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationDomain", "presentation": [ "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncomeParenthetical" ], "lang": { "en-us": { "role": { "label": "Income Statement Location [Domain]", "documentation": "Location in the income statement." } } }, "auth_ref": [ "r267", "r569" ] }, "us-gaap_IncomeTaxAuthorityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxAuthorityAxis", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesNetOperatingLossCarryforwardsAndTaxActDetails" ], "lang": { "en-us": { "role": { "label": "Income Tax Authority [Axis]", "documentation": "Information by tax jurisdiction." } } }, "auth_ref": [ "r10" ] }, "us-gaap_IncomeTaxAuthorityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxAuthorityDomain", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesNetOperatingLossCarryforwardsAndTaxActDetails" ], "lang": { "en-us": { "role": { "label": "Income Tax Authority [Domain]", "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes." } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Income Taxes" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxes" ], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Text Block]", "terseLabel": "Income Taxes", "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information." } } }, "auth_ref": [ "r188", "r407", "r412", "r415", "r422", "r427", "r432", "r433", "r434", "r529" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 2.0 }, "http://www.everspin.com/role/DisclosureIncomeTaxesComponentsOfIncomeTaxExpenseDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesComponentsOfIncomeTaxExpenseDetails", "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Income Tax Expense (Benefit)", "negatedLabel": "Income tax benefit (expense)", "totalLabel": "Provision for income taxes", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r139", "r150", "r202", "r203", "r231", "r410", "r428", "r506" ] }, "us-gaap_IncomeTaxPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxPolicyTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Income Tax, Policy [Policy Text Block]", "terseLabel": "Income Taxes", "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements." } } }, "auth_ref": [ "r172", "r408", "r409", "r415", "r416", "r421", "r423", "r523" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementStatementOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 12.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accounts Payable", "terseLabel": "Accounts payable", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business." } } }, "auth_ref": [ "r5" ] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementStatementOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 8.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accounts Receivable", "negatedLabel": "Accounts receivable", "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services." } } }, "auth_ref": [ "r5" ] }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccruedLiabilities", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementStatementOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accrued Liabilities", "terseLabel": "Accrued liabilities", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid." } } }, "auth_ref": [ "r5" ] }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInContractWithCustomerLiability", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementStatementOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase Decrease in a Contract with Customer Liability", "terseLabel": "Deferred revenue", "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r487", "r758" ] }, "us-gaap_IncreaseDecreaseInInventories": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInInventories", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementStatementOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 10.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Inventories", "negatedLabel": "Inventory", "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities." } } }, "auth_ref": [ "r5" ] }, "mram_IncreaseDecreaseInLeaseLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "IncreaseDecreaseInLeaseLiabilities", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementStatementOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 14.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "The increase (decrease) in lease liabilities.", "label": "Increase (Decrease) in Lease Liabilities", "terseLabel": "Lease liabilities, net" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in operating assets and liabilities:" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInOtherOperatingAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherOperatingAssets", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementStatementOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 11.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Other Operating Assets", "negatedLabel": "Other assets", "documentation": "Amount of increase (decrease) in operating assets classified as other." } } }, "auth_ref": [ "r5" ] }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementStatementOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 9.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedLabel": "Prepaid expenses and other current assets", "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other." } } }, "auth_ref": [ "r5" ] }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "presentation": [ "http://www.everspin.com/role/StatementStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "terseLabel": "Increase (Decrease) in Stockholders' Equity", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "ecd_IndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "IndividualAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Individual [Axis]", "terseLabel": "Individual:" } } }, "auth_ref": [ "r685", "r694", "r704", "r721", "r730", "r734", "r742" ] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]", "terseLabel": "Insider Trading Arrangements:" } } }, "auth_ref": [ "r740" ] }, "ecd_InsiderTradingPoliciesProcLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingPoliciesProcLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]", "terseLabel": "Insider Trading Policies and Procedures:" } } }, "auth_ref": [ "r674", "r746" ] }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Adopted [Flag]", "terseLabel": "Insider Trading Policies and Procedures Adopted" } } }, "auth_ref": [ "r674", "r746" ] }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]", "terseLabel": "Insider Trading Policies and Procedures Not Adopted" } } }, "auth_ref": [ "r674", "r746" ] }, "us-gaap_InterestExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestExpense", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Interest Expense", "negatedLabel": "Interest expense", "documentation": "Amount of the cost of borrowed funds accounted for as interest expense." } } }, "auth_ref": [ "r75", "r135", "r176", "r230", "r467", "r570", "r666", "r833" ] }, "us-gaap_InterestPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestPaidNet", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Interest Paid, Net", "terseLabel": "Interest paid", "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount." } } }, "auth_ref": [ "r179", "r182", "r183" ] }, "us-gaap_InventoryDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryDisclosureAbstract", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsScheduleOfInventoryDetails" ], "lang": { "en-us": { "role": { "label": "Inventory Disclosure [Abstract]", "terseLabel": "Inventory" } } }, "auth_ref": [] }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryFinishedGoodsNetOfReserves", "crdr": "debit", "calculation": { "http://www.everspin.com/role/DisclosureBalanceSheetComponentsScheduleOfInventoryDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsScheduleOfInventoryDetails" ], "lang": { "en-us": { "role": { "label": "Inventory, Finished Goods, Net of Reserves", "terseLabel": "Finished goods", "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale." } } }, "auth_ref": [ "r110", "r621" ] }, "us-gaap_InventoryNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryNet", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 }, "http://www.everspin.com/role/DisclosureBalanceSheetComponentsScheduleOfInventoryDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsScheduleOfInventoryDetails", "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Inventory, Net", "terseLabel": "Inventory", "totalLabel": "Total inventory", "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r168", "r618", "r655" ] }, "us-gaap_InventoryPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryPolicyTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Inventory, Policy [Policy Text Block]", "terseLabel": "Inventory", "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost." } } }, "auth_ref": [ "r140", "r156", "r167", "r263", "r264", "r265", "r488", "r627" ] }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryRawMaterialsNetOfReserves", "crdr": "debit", "calculation": { "http://www.everspin.com/role/DisclosureBalanceSheetComponentsScheduleOfInventoryDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsScheduleOfInventoryDetails" ], "lang": { "en-us": { "role": { "label": "Inventory, Raw Materials, Net of Reserves", "terseLabel": "Raw materials", "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process." } } }, "auth_ref": [ "r110", "r623" ] }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryWorkInProcessNetOfReserves", "crdr": "debit", "calculation": { "http://www.everspin.com/role/DisclosureBalanceSheetComponentsScheduleOfInventoryDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsScheduleOfInventoryDetails" ], "lang": { "en-us": { "role": { "label": "Inventory, Work in Process, Net of Reserves", "terseLabel": "Work-in-process", "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing." } } }, "auth_ref": [ "r110", "r622" ] }, "country_JP": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "JP", "presentation": [ "http://www.everspin.com/role/DisclosureGeographicInformationDetails" ], "lang": { "en-us": { "role": { "label": "Japan" } } }, "auth_ref": [] }, "mram_JointDevelopmentAgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "JointDevelopmentAgreementMember", "presentation": [ "http://www.everspin.com/role/DisclosureSignificantAgreementsDetails" ], "lang": { "en-us": { "role": { "documentation": "Joint development agreement.", "label": "Joint Development Agreement [Member]", "terseLabel": "Joint Development Agreement" } } }, "auth_ref": [] }, "us-gaap_LeaseCostAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseCostAbstract", "presentation": [ "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "label": "Lease, Cost [Abstract]", "terseLabel": "Other lease information" } } }, "auth_ref": [] }, "mram_LeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "LeaseLiability", "crdr": "credit", "calculation": { "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetailsCalc2": { "parentTag": null, "weight": null, "order": null, "root": true } }, "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from leases.", "label": "Lease Liability" } } }, "auth_ref": [] }, "mram_LeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "LeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetailsCalc2": { "parentTag": "mram_LeaseLiability", "weight": 1.0, "order": 1.0 }, "http://www.everspin.com/role/StatementBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails", "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from leases, classified as current.", "label": "Lease, Liability, Current", "negatedLabel": "Less: current portion of lease liabilities", "verboseLabel": "Lease liabilities, current portion" } } }, "auth_ref": [] }, "mram_LeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "LeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 }, "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetailsCalc2": { "parentTag": "mram_LeaseLiability", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails", "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from lease, classified as noncurrent.", "label": "Lease, Liability, Noncurrent", "terseLabel": "Total lease liabilities, net of current portion", "verboseLabel": "Lease liabilities, net of current portion" } } }, "auth_ref": [] }, "mram_LeaseQuantitativeDisclosureTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "LeaseQuantitativeDisclosureTableTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesTables" ], "lang": { "en-us": { "role": { "documentation": "The tabular disclosure of lease quantitative information.", "label": "Lease Quantitative Disclosure [Table Text Block]", "terseLabel": "Schedule of supplemental information" } } }, "auth_ref": [] }, "us-gaap_LeaseholdImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseholdImprovementsMember", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Leasehold improvements", "documentation": "Additions or improvements to assets held under a lease arrangement." } } }, "auth_ref": [ "r111" ] }, "us-gaap_LesseeFinanceLeaseExistenceOfOptionToExtend": { "xbrltype": "booleanItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeFinanceLeaseExistenceOfOptionToExtend", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Finance Lease, Existence of Option to Extend [true false]", "terseLabel": "Finance lease - existence of option to extend", "documentation": "Indicates (true false) whether lessee has option to extend finance lease." } } }, "auth_ref": [ "r474" ] }, "us-gaap_LesseeFinanceLeaseRenewalTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeFinanceLeaseRenewalTerm1", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Finance Lease, Renewal Term", "terseLabel": "Finance lease renewal term (in years)", "documentation": "Term of lessee's finance lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r819" ] }, "us-gaap_LesseeFinanceLeaseTermOfContract1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeFinanceLeaseTermOfContract1", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Finance Lease, Term of Contract", "terseLabel": "Finance term of lease (in years)", "documentation": "Term of lessee's finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r819" ] }, "us-gaap_LesseeLeaseDescriptionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeLeaseDescriptionLineItems", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Lease, Description [Line Items]", "terseLabel": "Leases", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r473" ] }, "us-gaap_LesseeLeaseDescriptionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeLeaseDescriptionTable", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Lease, Description [Table]", "documentation": "Disclosure of information about lessee's leases." } } }, "auth_ref": [ "r473" ] }, "us-gaap_LesseeLeasesPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeLeasesPolicyTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Lessee, Leases [Policy Text Block]", "terseLabel": "Leases", "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee." } } }, "auth_ref": [ "r472" ] }, "mram_LesseeOperatingAndFinancingLeaseLiabilityMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "LesseeOperatingAndFinancingLeaseLiabilityMaturityTableTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating and financing lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating and financing lease liability recognized in statement of financial position.", "label": "Lessee Operating And Financing Lease Liability Maturity [Table Text Block]", "terseLabel": "Schedule of Undiscounted future non-cancellable lease payments" } } }, "auth_ref": [] }, "mram_LesseeOperatingAndFinancingLeaseLiabilityPaymentsDue": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "LesseeOperatingAndFinancingLeaseLiabilityPaymentsDue", "crdr": "credit", "calculation": { "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating and financing lease.", "label": "Lessee Operating And Financing Lease Liability Payments Due", "totalLabel": "Total lease payments" } } }, "auth_ref": [] }, "mram_LesseeOperatingAndFinancingLeaseLiabilityPaymentsDueAfterYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "LesseeOperatingAndFinancingLeaseLiabilityPaymentsDueAfterYearFive", "crdr": "credit", "calculation": { "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails": { "parentTag": "mram_LesseeOperatingAndFinancingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating and financing lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee Operating And Financing Lease Liability Payments Due After Year Five", "terseLabel": "Thereafter" } } }, "auth_ref": [] }, "mram_LesseeOperatingAndFinancingLeaseLiabilityPaymentsDueNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "LesseeOperatingAndFinancingLeaseLiabilityPaymentsDueNextTwelveMonths", "crdr": "credit", "calculation": { "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails": { "parentTag": "mram_LesseeOperatingAndFinancingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating and financing leases to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee Operating And Financing Lease Liability Payments Due Next Twelve Months", "terseLabel": "2024" } } }, "auth_ref": [] }, "mram_LesseeOperatingAndFinancingLeaseLiabilityPaymentsDueYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "LesseeOperatingAndFinancingLeaseLiabilityPaymentsDueYearFive", "crdr": "credit", "calculation": { "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails": { "parentTag": "mram_LesseeOperatingAndFinancingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating and financing lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee Operating And Financing Lease Liability Payments Due Year Five", "terseLabel": "2028" } } }, "auth_ref": [] }, "mram_LesseeOperatingAndFinancingLeaseLiabilityPaymentsDueYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "LesseeOperatingAndFinancingLeaseLiabilityPaymentsDueYearFour", "crdr": "credit", "calculation": { "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails": { "parentTag": "mram_LesseeOperatingAndFinancingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating and financing lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee Operating And Financing Lease Liability Payments Due Year Four", "terseLabel": "2027" } } }, "auth_ref": [] }, "mram_LesseeOperatingAndFinancingLeaseLiabilityPaymentsDueYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "LesseeOperatingAndFinancingLeaseLiabilityPaymentsDueYearThree", "crdr": "credit", "calculation": { "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails": { "parentTag": "mram_LesseeOperatingAndFinancingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating and financing lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee Operating And Financing Lease Liability Payments Due Year Three", "terseLabel": "2026" } } }, "auth_ref": [] }, "mram_LesseeOperatingAndFinancingLeaseLiabilityPaymentsDueYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "LesseeOperatingAndFinancingLeaseLiabilityPaymentsDueYearTwo", "crdr": "credit", "calculation": { "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails": { "parentTag": "mram_LesseeOperatingAndFinancingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating \n and financing lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee Operating And Financing Lease Liability Payments Due Year Two", "terseLabel": "2025" } } }, "auth_ref": [] }, "mram_LesseeOperatingAndFinancingLeaseLiabilityUndiscountedExcessAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "LesseeOperatingAndFinancingLeaseLiabilityUndiscountedExcessAmount", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating and financing lease.", "label": "Lessee Operating And Financing Lease Liability Undiscounted Excess Amount", "negatedLabel": "Less: imputed interest" } } }, "auth_ref": [] }, "us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend": { "xbrltype": "booleanItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseExistenceOfOptionToExtend", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Existence of Option to Extend [true false]", "terseLabel": "Operating lease - existence of option to extend", "documentation": "Indicates (true false) whether lessee has option to extend operating lease." } } }, "auth_ref": [ "r474" ] }, "us-gaap_LesseeOperatingLeaseRenewalTerm": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseRenewalTerm", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Renewal Term", "terseLabel": "Operating lease renewal term (in years)", "documentation": "Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r819" ] }, "us-gaap_LesseeOperatingLeaseTermOfContract": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseTermOfContract", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee Leasing Arrangements, Operating Leases, Term of Contract", "terseLabel": "Operating term of lease (in years)", "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r819" ] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities", "totalLabel": "Total liabilities", "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future." } } }, "auth_ref": [ "r24", "r187", "r260", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r438", "r441", "r442", "r460", "r544", "r629", "r668", "r776", "r820", "r821" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders' equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r90", "r132", "r498", "r655", "r762", "r768", "r818" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "Liabilities and Stockholders' Equity" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current", "totalLabel": "Total current liabilities", "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer." } } }, "auth_ref": [ "r26", "r155", "r187", "r260", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r438", "r441", "r442", "r460", "r655", "r776", "r820", "r821" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities:" } } }, "auth_ref": [] }, "us-gaap_LicenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LicenseMember", "presentation": [ "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByTypeDetails" ], "lang": { "en-us": { "role": { "label": "Licensing", "documentation": "Right to use intangible asset. Intangible asset includes, but is not limited to, patent, copyright, technology, manufacturing process, software or trademark." } } }, "auth_ref": [ "r781" ] }, "mram_LicensingRoyaltyAndOtherRevenuesCustomersMember": { "xbrltype": "domainItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "LicensingRoyaltyAndOtherRevenuesCustomersMember", "presentation": [ "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "documentation": "Represents Licensing, royalty, patents and other revenues from customers not including related parties.", "label": "Licensing, royalty, patent and other revenue" } } }, "auth_ref": [] }, "mram_LicensingRoyaltyAndOtherRevenuesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "LicensingRoyaltyAndOtherRevenuesMember", "presentation": [ "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "documentation": "Pertaining to licensing, royalty and other revenues.", "label": "Licensing, royalty and other revenue" } } }, "auth_ref": [] }, "us-gaap_LineOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCredit", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/DisclosureDebtCarryingValueDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Line of Credit", "terseLabel": "Outstanding balance", "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement." } } }, "auth_ref": [ "r20", "r131", "r829" ] }, "us-gaap_LineOfCreditFacilityLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityLineItems", "presentation": [ "http://www.everspin.com/role/DisclosureDebtCarryingValueDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility [Line Items]", "terseLabel": "Debt", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r761" ] }, "us-gaap_LineOfCreditFacilityTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityTable", "presentation": [ "http://www.everspin.com/role/DisclosureDebtCarryingValueDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility [Table]", "documentation": "A table or schedule providing information pertaining to short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line." } } }, "auth_ref": [ "r23", "r761" ] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongLivedAssetsByGeographicAreasTableTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureGeographicInformationTables" ], "lang": { "en-us": { "role": { "label": "Long-lived Assets by Geographic Areas [Table Text Block]", "terseLabel": "Schedule of property and equipment by country", "documentation": "Tabular disclosure of long-lived assets, excluding financial instruments, long-term customer relationships of a financial institution, mortgage rights, deferred policy acquisition costs, and deferred tax assets, by geographic areas located in the entity's country of domicile and foreign countries in which the entity holds assets." } } }, "auth_ref": [ "r18" ] }, "us-gaap_LongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebt", "crdr": "credit", "calculation": { "http://www.everspin.com/role/DisclosureDebtCarryingValueDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.everspin.com/role/DisclosureDebtCarryingValueDetailsCal2": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.everspin.com/role/DisclosureDebtCarryingValueDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt", "totalLabel": "Net carrying value of debt, Total", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation." } } }, "auth_ref": [ "r20", "r131", "r291", "r300", "r633", "r634", "r829" ] }, "us-gaap_LongTermDebtCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtCurrent", "crdr": "credit", "calculation": { "http://www.everspin.com/role/DisclosureDebtCarryingValueDetailsCal2": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 1.0 }, "http://www.everspin.com/role/StatementBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 4.0 }, "http://www.everspin.com/role/DisclosureDebtCarryingValueDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.everspin.com/role/DisclosureDebtCarryingValueDetails", "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Current Maturities", "terseLabel": "Current portion of long-term debt", "totalLabel": "Net carrying value of debt, Current Portion", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation." } } }, "auth_ref": [ "r162" ] }, "mram_LongTermDebtCurrentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "LongTermDebtCurrentGross", "crdr": "credit", "calculation": { "http://www.everspin.com/role/DisclosureDebtCarryingValueDetails": { "parentTag": "us-gaap_LongTermDebtCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureDebtCarryingValueDetails" ], "lang": { "en-us": { "role": { "documentation": "Long-term debt before unamortized (discount) premium, current.", "label": "Long Term Debt Current Gross", "terseLabel": "Debt, Current Portion" } } }, "auth_ref": [] }, "srt_MajorCustomersAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MajorCustomersAxis", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfRevenueAndAccountsReceivableForEachSignificantCustomerDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]" } } }, "auth_ref": [ "r254", "r640", "r780", "r830", "r831" ] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MaximumMember", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationScheduleOfFairValueOfEmployeeStockOptionsDetails", "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails", "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails", "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfRevenueAndAccountsReceivableForEachSignificantCustomerDetails" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "auth_ref": [ "r270", "r271", "r272", "r273", "r359", "r486", "r513", "r536", "r537", "r590", "r592", "r594", "r595", "r597", "r612", "r613", "r632", "r637", "r648", "r657", "r778", "r822", "r823", "r824", "r825", "r826", "r827" ] }, "ecd_MeasureAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure [Axis]", "terseLabel": "Measure:" } } }, "auth_ref": [ "r713" ] }, "ecd_MeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure Name", "terseLabel": "Name" } } }, "auth_ref": [ "r713" ] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MinimumMember", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationScheduleOfFairValueOfEmployeeStockOptionsDetails", "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails", "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum" } } }, "auth_ref": [ "r270", "r271", "r272", "r273", "r359", "r486", "r513", "r536", "r537", "r590", "r592", "r594", "r595", "r597", "r612", "r613", "r632", "r637", "r648", "r657", "r778", "r822", "r823", "r824", "r825", "r826", "r827" ] }, "ecd_MnpiDiscTimedForCompValFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MnpiDiscTimedForCompValFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "MNPI Disclosure Timed for Compensation Value [Flag]", "terseLabel": "MNPI Disclosure Timed for Compensation Value" } } }, "auth_ref": [ "r733" ] }, "us-gaap_MoneyMarketFundsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MoneyMarketFundsMember", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfFairValueOfFinancialAssetsAndLiabilitiesMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Money Market Funds [Member]", "terseLabel": "Money Market Funds", "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities." } } }, "auth_ref": [ "r782" ] }, "ecd_MtrlTermsOfTrdArrTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Material Terms of Trading Arrangement [Text Block]", "terseLabel": "Material Terms of Trading Arrangement" } } }, "auth_ref": [ "r741" ] }, "srt_NameOfMajorCustomerDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "NameOfMajorCustomerDomain", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfRevenueAndAccountsReceivableForEachSignificantCustomerDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]" } } }, "auth_ref": [ "r254", "r640", "r780", "r830", "r831" ] }, "ecd_NamedExecutiveOfficersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NamedExecutiveOfficersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Named Executive Officers, Footnote [Text Block]", "terseLabel": "Named Executive Officers, Footnote" } } }, "auth_ref": [ "r714" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementStatementOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations", "totalLabel": "Net cash used in financing activities", "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit." } } }, "auth_ref": [ "r181" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract", "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from financing activities" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementStatementOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations", "totalLabel": "Net cash used in investing activities", "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets." } } }, "auth_ref": [ "r181" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract", "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from investing activities" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.everspin.com/role/StatementStatementOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations", "totalLabel": "Net cash provided by operating activities", "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities." } } }, "auth_ref": [ "r105", "r106", "r107" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract", "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from operating activities" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.everspin.com/role/DisclosureNetIncomePerCommonShareDetails", "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome", "http://www.everspin.com/role/StatementStatementsOfStockholdersEquity", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "totalLabel": "Net income and comprehensive income", "verboseLabel": "Net income", "label": "Net Income (Loss)", "terseLabel": "Net Income (Loss)", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r96", "r107", "r134", "r153", "r170", "r171", "r175", "r187", "r194", "r196", "r197", "r198", "r199", "r202", "r203", "r212", "r227", "r240", "r245", "r248", "r260", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r452", "r460", "r504", "r566", "r583", "r584", "r630", "r666", "r776" ] }, "us-gaap_NetIncomeLossAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAbstract", "presentation": [ "http://www.everspin.com/role/DisclosureNetIncomePerCommonShareDetails" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Attributable to Parent [Abstract]", "terseLabel": "Numerator:" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAvailableToCommonStockholdersDiluted", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/DisclosureNetIncomePerCommonShareDetails" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Available to Common Stockholders, Diluted", "terseLabel": "Net income attributable to common stockholders, diluted", "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities, and addition from assumption of issuance of common shares for dilutive potential common shares; of income (loss) available to common shareholders." } } }, "auth_ref": [ "r178", "r206", "r208", "r209", "r210", "r211", "r213", "r216" ] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "verboseLabel": "Recently Issued Pronouncements", "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact." } } }, "auth_ref": [] }, "ecd_NonGaapMeasureDescriptionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonGaapMeasureDescriptionTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-GAAP Measure Description [Text Block]", "terseLabel": "Non-GAAP Measure Description" } } }, "auth_ref": [ "r713" ] }, "ecd_NonNeosMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonNeosMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-NEOs [Member]", "terseLabel": "Non-NEOs" } } }, "auth_ref": [ "r682", "r694", "r704", "r721", "r730" ] }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Compensation Actually Paid Amount", "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r711" ] }, "ecd_NonPeoNeoAvgTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Total Compensation Amount", "terseLabel": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r710" ] }, "ecd_NonPeoNeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO [Member]", "terseLabel": "Non-PEO NEO" } } }, "auth_ref": [ "r721" ] }, "ecd_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r741" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r741" ] }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncashInvestingAndFinancingItemsAbstract", "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Noncash Investing and Financing Items [Abstract]", "terseLabel": "Non-cash investing and financing activities:" } } }, "auth_ref": [] }, "mram_NoncashIssuanceOfWarrant": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "NoncashIssuanceOfWarrant", "crdr": "debit", "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Non-cash issuance of warrants.", "label": "Noncash Issuance of Warrants", "terseLabel": "Cashless exercise of warrants" } } }, "auth_ref": [] }, "us-gaap_NoncollaborativeArrangementTransactionsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncollaborativeArrangementTransactionsMember", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsDeferredRevenueDetails" ], "lang": { "en-us": { "role": { "label": "RAD-Hard product", "documentation": "Arrangement other than collaborative applicable to revenue-generating activity or operations." } } }, "auth_ref": [] }, "srt_NorthAmericaMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "NorthAmericaMember", "presentation": [ "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByGeographicRegionDetails" ], "lang": { "en-us": { "role": { "label": "North America" } } }, "auth_ref": [ "r836", "r837", "r838", "r839" ] }, "mram_OperatingAndFinancingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "OperatingAndFinancingLeaseLiability", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating and financing lease.", "label": "Operating And Financing Lease Liability", "totalLabel": "Total lease liabilities" } } }, "auth_ref": [] }, "us-gaap_OperatingExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpenses", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Operating Expenses", "totalLabel": "Total operating expenses", "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense." } } }, "auth_ref": [] }, "us-gaap_OperatingExpensesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpensesAbstract", "presentation": [ "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Operating Expenses [Abstract]", "terseLabel": "Operating expenses:" } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Operating Income (Loss)", "totalLabel": "Income from operations", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r227", "r240", "r245", "r248", "r630" ] }, "us-gaap_OperatingLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseCost", "crdr": "debit", "presentation": [ "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Cost", "terseLabel": "Operating lease costs", "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability." } } }, "auth_ref": [ "r475", "r654" ] }, "us-gaap_OperatingLeasePayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeasePayments", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Payments", "terseLabel": "Operating cash flows paid for operating leases", "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use." } } }, "auth_ref": [ "r471", "r476" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Right-of-use assets", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r469" ] }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "presentation": [ "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Operating lease weighted-average discount rate", "documentation": "Weighted average discount rate for operating lease calculated at point in time." } } }, "auth_ref": [ "r479", "r654" ] }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "presentation": [ "http://www.everspin.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Weighted Average Remaining Lease Term", "terseLabel": "Operating lease weighted-average remaining lease term (years)", "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r478", "r654" ] }, "us-gaap_OperatingLossCarryforwards": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLossCarryforwards", "crdr": "debit", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesNetOperatingLossCarryforwardsAndTaxActDetails" ], "lang": { "en-us": { "role": { "label": "Operating Loss Carryforwards", "terseLabel": "Net operating loss carryforwards", "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws." } } }, "auth_ref": [ "r69" ] }, "us-gaap_OperatingLossCarryforwardsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLossCarryforwardsLineItems", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesNetOperatingLossCarryforwardsAndTaxActDetails" ], "lang": { "en-us": { "role": { "label": "Operating Loss Carryforwards [Line Items]", "terseLabel": "Net operating loss carryforwards", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_OperatingLossCarryforwardsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLossCarryforwardsTable", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesNetOperatingLossCarryforwardsAndTaxActDetails" ], "lang": { "en-us": { "role": { "label": "Operating Loss Carryforwards [Table]", "documentation": "Schedule reflecting pertinent information, such as tax authority, amounts, and expiration dates, of net operating loss carryforwards, including an assessment of the likelihood of utilization." } } }, "auth_ref": [ "r68" ] }, "mram_OptionsIssuedAndOutstandingMember": { "xbrltype": "domainItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "OptionsIssuedAndOutstandingMember", "presentation": [ "http://www.everspin.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "Options issued and outstanding.", "label": "Options Issued and Outstanding [Member]" } } }, "auth_ref": [] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "lang": { "en-us": { "role": { "label": "Organization and Operations" } } }, "auth_ref": [] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureOrganizationAndNatureOfBusiness" ], "lang": { "en-us": { "role": { "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]", "terseLabel": "Organization and Operations", "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure." } } }, "auth_ref": [ "r80", "r126", "r520", "r521" ] }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.everspin.com/role/DisclosureBalanceSheetComponentsScheduleOfAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsScheduleOfAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Other Accrued Liabilities, Current", "terseLabel": "Other", "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r25" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Assets, Noncurrent", "terseLabel": "Other assets", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r160" ] }, "us-gaap_OtherLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Liabilities, Current", "terseLabel": "Other liabilities", "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r25", "r655" ] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Other Nonoperating Income (Expense)", "terseLabel": "Other income, net", "documentation": "Amount of income (expense) related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r102" ] }, "ecd_OtherPerfMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OtherPerfMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Other Performance Measure, Amount", "terseLabel": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r713" ] }, "ecd_OutstandingAggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingAggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Aggregate Erroneous Compensation Amount", "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r680", "r692", "r702", "r728" ] }, "ecd_OutstandingRecoveryCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery Compensation Amount", "terseLabel": "Compensation Amount" } } }, "auth_ref": [ "r683", "r695", "r705", "r731" ] }, "ecd_OutstandingRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r683", "r695", "r705", "r731" ] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r709" ] }, "us-gaap_PaymentsOfDebtExtinguishmentCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfDebtExtinguishmentCosts", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/DisclosureDebtCarryingValueDetails" ], "lang": { "en-us": { "role": { "label": "Payments of Debt Extinguishment Costs", "terseLabel": "Prepayment fee", "documentation": "Amount of cash outflow for cost from early extinguishment and prepayment of debt. Includes, but is not limited to, third-party cost, premium paid, and other fee paid to lender directly for debt extinguishment or debt prepayment. Excludes accrued interest." } } }, "auth_ref": [ "r4" ] }, "us-gaap_PaymentsOfDebtIssuanceCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfDebtIssuanceCosts", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementStatementOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments of Debt Issuance Costs", "negatedLabel": "Payments of debt issuance costs", "documentation": "The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt." } } }, "auth_ref": [ "r32" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementStatementOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchases of property and equipment", "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets." } } }, "auth_ref": [ "r104" ] }, "ecd_PeerGroupIssuersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupIssuersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Issuers, Footnote [Text Block]", "terseLabel": "Peer Group Issuers, Footnote" } } }, "auth_ref": [ "r712" ] }, "ecd_PeerGroupTotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupTotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Total Shareholder Return Amount", "terseLabel": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r712" ] }, "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "presentation": [ "http://www.everspin.com/role/Disclosure401KPlan" ], "lang": { "en-us": { "role": { "label": "Pension and Other Postretirement Benefits Disclosure [Text Block]", "terseLabel": "401 (k) Plan", "documentation": "The entire disclosure for retirement benefits." } } }, "auth_ref": [ "r341", "r342", "r343", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r647" ] }, "ecd_PeoActuallyPaidCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoActuallyPaidCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Actually Paid Compensation Amount", "terseLabel": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r711" ] }, "ecd_PeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO [Member]", "terseLabel": "PEO" } } }, "auth_ref": [ "r721" ] }, "ecd_PeoName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Name", "terseLabel": "PEO Name" } } }, "auth_ref": [ "r714" ] }, "ecd_PeoTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Total Compensation Amount", "terseLabel": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r710" ] }, "mram_PeriodOfPossessionOfExclusiveRightToManufactureAfterCompletionOfDeviceDevelopmentWork": { "xbrltype": "durationItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "PeriodOfPossessionOfExclusiveRightToManufactureAfterCompletionOfDeviceDevelopmentWork", "presentation": [ "http://www.everspin.com/role/DisclosureSignificantAgreementsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the period during which the related party possess the exclusive right to manufacture the Company's discrete and embedded ST-MRAM devices developed pursuant to the agreement, after the completion of the relevant statement of work under which the device was developed.", "label": "Period of Possession Of Exclusive Right to Manufacture After Completion Of Device Development Work", "terseLabel": "Period of possession of exclusive right to manufacture after completion of device development work" } } }, "auth_ref": [] }, "mram_PeriodOfPossessionOfExclusiveRightToManufactureAfterQualificationOfDevice": { "xbrltype": "durationItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "PeriodOfPossessionOfExclusiveRightToManufactureAfterQualificationOfDevice", "presentation": [ "http://www.everspin.com/role/DisclosureSignificantAgreementsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the period during which the related party possess the exclusive right to manufacture the Company's discrete and embedded ST-MRAM devices developed pursuant to the agreement, after the qualification of the MRAM device for a particular technology node.", "label": "Period of Possession Of Exclusive Right to Manufacture After Qualification Of Device", "terseLabel": "Period of possession of exclusive right to manufacture after qualification of device" } } }, "auth_ref": [] }, "us-gaap_PlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameAxis", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.everspin.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Plan Name [Axis]", "documentation": "Information by plan name for share-based payment arrangement." } } }, "auth_ref": [ "r783", "r784", "r785", "r786", "r787", "r788", "r789", "r790", "r791", "r792", "r793", "r794", "r795", "r796", "r797", "r798", "r799", "r800", "r801", "r802", "r803", "r804", "r805", "r806", "r807", "r808" ] }, "us-gaap_PlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameDomain", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.everspin.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Plan Name [Domain]", "documentation": "Plan name for share-based payment arrangement." } } }, "auth_ref": [ "r783", "r784", "r785", "r786", "r787", "r788", "r789", "r790", "r791", "r792", "r793", "r794", "r795", "r796", "r797", "r798", "r799", "r800", "r801", "r802", "r803", "r804", "r805", "r806", "r807", "r808" ] }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockParOrStatedValuePerShare", "presentation": [ "http://www.everspin.com/role/StatementBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Par Value", "terseLabel": "Preferred stock, par value", "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer." } } }, "auth_ref": [ "r84", "r302" ] }, "us-gaap_PreferredStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesAuthorized", "presentation": [ "http://www.everspin.com/role/StatementBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Shares Authorized", "terseLabel": "Preferred stock, shares authorized", "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r84", "r546" ] }, "us-gaap_PreferredStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesIssued", "presentation": [ "http://www.everspin.com/role/StatementBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Shares Issued", "terseLabel": "Preferred stock, shares Issued", "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt." } } }, "auth_ref": [ "r84", "r302" ] }, "us-gaap_PreferredStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesOutstanding", "presentation": [ "http://www.everspin.com/role/StatementBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Shares Outstanding", "terseLabel": "Preferred stock, shares outstanding", "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased." } } }, "auth_ref": [ "r84", "r546", "r564", "r834", "r835" ] }, "us-gaap_PreferredStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockValue", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Value, Issued", "verboseLabel": "Preferred stock, $0.0001 par value per share; 5,000,000 shares authorized; no shares issued and outstanding as of December 31, 2023 and December 31, 2022, respectively", "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r84", "r495", "r655" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Prepaid Expense and Other Assets, Current", "terseLabel": "Prepaid expenses and other current assets", "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r755" ] }, "mram_ProceedsFromEmployeeRetentionTaxCreditRefunds": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "ProceedsFromEmployeeRetentionTaxCreditRefunds", "crdr": "debit", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfEmployeeRetentionTaxCreditDetails" ], "lang": { "en-us": { "role": { "documentation": "The amount of cash received during the period as refunds related to employee retention tax credit.", "label": "Proceeds from Employee Retention Tax Credit Refunds", "terseLabel": "Proceeds from employee retention tax credit refunds" } } }, "auth_ref": [] }, "us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementStatementOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Issuance of Shares under Incentive and Share-based Compensation Plans, Including Stock Options", "terseLabel": "Proceeds from exercise of stock options and purchase of shares in employee stock purchase plan", "documentation": "Amount of cash inflow from issuance of shares under share-based payment arrangement. Includes, but is not limited to, option exercised." } } }, "auth_ref": [ "r3", "r17" ] }, "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementStatementOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Sale of Property, Plant, and Equipment", "terseLabel": "Proceeds received from sale of property and equipment", "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r103" ] }, "us-gaap_ProductAndServiceOtherMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductAndServiceOtherMember", "presentation": [ "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByTypeDetails" ], "lang": { "en-us": { "role": { "label": "Other revenue", "documentation": "Article or substance produced by nature, labor or machinery and act of providing assistance, classified as other." } } }, "auth_ref": [ "r781" ] }, "us-gaap_ProductMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductMember", "presentation": [ "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByTypeDetails", "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Product sales", "documentation": "Article or substance produced by nature, labor or machinery." } } }, "auth_ref": [ "r638" ] }, "srt_ProductOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductOrServiceAxis", "presentation": [ "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByTypeDetails", "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Products and Services [Axis]" } } }, "auth_ref": [ "r250", "r489", "r507", "r508", "r509", "r510", "r511", "r512", "r615", "r638", "r656", "r752", "r773", "r774", "r780", "r830" ] }, "srt_ProductsAndServicesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductsAndServicesDomain", "presentation": [ "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByTypeDetails", "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Products and Services [Domain]" } } }, "auth_ref": [ "r250", "r489", "r507", "r508", "r509", "r510", "r511", "r512", "r615", "r638", "r656", "r752", "r773", "r774", "r780", "r830" ] }, "us-gaap_ProfitLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProfitLoss", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementStatementOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "terseLabel": "Net income", "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest." } } }, "auth_ref": [ "r153", "r170", "r171", "r180", "r187", "r194", "r202", "r203", "r227", "r240", "r245", "r248", "r260", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r436", "r439", "r440", "r452", "r460", "r491", "r503", "r530", "r566", "r583", "r584", "r630", "r652", "r653", "r667", "r756", "r776" ] }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentByTypeAxis", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentNetDetails", "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Type [Axis]", "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r7" ] }, "us-gaap_PropertyPlantAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentGross", "crdr": "debit", "calculation": { "http://www.everspin.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentNetDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentNetDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Gross", "terseLabel": "Total property and equipment, gross", "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r111", "r158", "r501" ] }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentLineItems", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentNetDetails", "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Line Items]", "terseLabel": "Property and Equipment, Net", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 }, "http://www.everspin.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentNetDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentNetDetails", "http://www.everspin.com/role/DisclosureGeographicInformationDetails", "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Net", "terseLabel": "Property and equipment, net", "totalLabel": "Total property and equipment, net", "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r7", "r492", "r501", "r655" ] }, "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentPolicyTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Policy [Policy Text Block]", "terseLabel": "Property and Equipment", "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections." } } }, "auth_ref": [ "r7", "r144", "r148", "r499" ] }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsTables" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Table Text Block]", "verboseLabel": "Schedule of property and equipment, net", "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r7" ] }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTypeDomain", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentNetDetails", "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Type [Domain]", "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software." } } }, "auth_ref": [ "r111" ] }, "us-gaap_PropertyPlantAndEquipmentUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentUsefulLife", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Useful Life", "terseLabel": "Useful Lives", "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment." } } }, "auth_ref": [] }, "ecd_PvpTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Table]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r709" ] }, "ecd_PvpTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance [Table Text Block]", "terseLabel": "Pay vs Performance Disclosure, Table" } } }, "auth_ref": [ "r709" ] }, "mram_RadHardProduct1AgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "RadHardProduct1AgreementMember", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsDeferredRevenueDetails" ], "lang": { "en-us": { "role": { "documentation": "This member stands for RAD hard product 1 agreement.", "label": "RAD Hard product 1 agreement" } } }, "auth_ref": [] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeAxis", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationScheduleOfFairValueOfEmployeeStockOptionsDetails", "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails", "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails", "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfRevenueAndAccountsReceivableForEachSignificantCustomerDetails" ], "lang": { "en-us": { "role": { "label": "Range [Axis]" } } }, "auth_ref": [ "r270", "r271", "r272", "r273", "r342", "r359", "r390", "r391", "r392", "r485", "r486", "r513", "r536", "r537", "r590", "r592", "r594", "r595", "r597", "r612", "r613", "r632", "r637", "r648", "r657", "r660", "r771", "r778", "r823", "r824", "r825", "r826", "r827" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeMember", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationScheduleOfFairValueOfEmployeeStockOptionsDetails", "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesLeasesDetails", "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails", "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfRevenueAndAccountsReceivableForEachSignificantCustomerDetails" ], "lang": { "en-us": { "role": { "label": "Range [Domain]" } } }, "auth_ref": [ "r270", "r271", "r272", "r273", "r342", "r359", "r390", "r391", "r392", "r485", "r486", "r513", "r536", "r537", "r590", "r592", "r594", "r595", "r597", "r612", "r613", "r632", "r637", "r648", "r657", "r660", "r771", "r778", "r823", "r824", "r825", "r826", "r827" ] }, "us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesUnrecognizedTaxExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]", "terseLabel": "Unrecognized tax expense rollforward", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RecoveryOfErrCompDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]", "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure" } } }, "auth_ref": [ "r675", "r687", "r697", "r723" ] }, "us-gaap_RepaymentsOfLongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfLongTermDebt", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementStatementOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Repayments of Long-term Debt", "negatedLabel": "Payments on long-term debt", "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer." } } }, "auth_ref": [ "r31", "r527" ] }, "srt_RepurchaseAgreementCounterpartyNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RepurchaseAgreementCounterpartyNameDomain", "presentation": [ "http://www.everspin.com/role/DisclosureSignificantAgreementsDetails" ], "lang": { "en-us": { "role": { "label": "Counterparty Name [Domain]" } } }, "auth_ref": [ "r189", "r190", "r284", "r304", "r481", "r625", "r626" ] }, "us-gaap_ResearchAndDevelopmentExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpense", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Research and Development Expense", "terseLabel": "Research and development", "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use." } } }, "auth_ref": [ "r79", "r406", "r828" ] }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpenseMember", "presentation": [ "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncomeParenthetical" ], "lang": { "en-us": { "role": { "label": "Research and Development [Member]", "terseLabel": "Research and Development", "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included." } } }, "auth_ref": [] }, "us-gaap_ResearchAndDevelopmentExpensePolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpensePolicy", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Research and Development Expense, Policy [Policy Text Block]", "terseLabel": "Research and Development", "documentation": "Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process." } } }, "auth_ref": [ "r405" ] }, "ecd_RestatementDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDateAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date [Axis]", "terseLabel": "Restatement Determination Date:" } } }, "auth_ref": [ "r676", "r688", "r698", "r724" ] }, "ecd_RestatementDeterminationDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDeterminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date", "terseLabel": "Restatement Determination Date" } } }, "auth_ref": [ "r677", "r689", "r699", "r725" ] }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDoesNotRequireRecoveryTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Does Not Require Recovery [Text Block]", "terseLabel": "Restatement does not require Recovery" } } }, "auth_ref": [ "r684", "r696", "r706", "r732" ] }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfFairValueOfFinancialAssetsAndLiabilitiesMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents [Domain]", "documentation": "Type of cash and cash equivalent. Cash is currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r157" ] }, "us-gaap_RestrictedStockUnitsRSUMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedStockUnitsRSUMember", "presentation": [ "http://www.everspin.com/role/DisclosureNetIncomePerCommonSharePotentiallyDilutiveSecuritiesDetails", "http://www.everspin.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "RSUs", "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met." } } }, "auth_ref": [] }, "mram_RestrictedStockUnitsSubjectToFutureVestingMember": { "xbrltype": "domainItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "RestrictedStockUnitsSubjectToFutureVestingMember", "presentation": [ "http://www.everspin.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information related to RSUs subject to future vesting.", "label": "RSUs subject to future vesting" } } }, "auth_ref": [] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Accumulated deficit", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r87", "r119", "r497", "r517", "r518", "r528", "r547", "r655" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://www.everspin.com/role/StatementStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Accumulated Deficit", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r152", "r191", "r192", "r193", "r195", "r201", "r203", "r261", "r262", "r398", "r399", "r400", "r425", "r426", "r443", "r445", "r446", "r448", "r450", "r514", "r516", "r531", "r834" ] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "label": "Revenue." } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsDeferredRevenueDetails", "http://www.everspin.com/role/DisclosureGeographicInformationDetails", "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByGeographicRegionDetails", "http://www.everspin.com/role/DisclosureRevenueDisaggregatedBySalesChannelDetails", "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByTimingOfRecognitionDetails", "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByTypeDetails", "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Total revenue", "verboseLabel": "Revenue", "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise." } } }, "auth_ref": [ "r228", "r229", "r239", "r243", "r244", "r250", "r252", "r254", "r337", "r338", "r489" ] }, "us-gaap_RevenueFromContractWithCustomerMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerMember", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfRevenueAndAccountsReceivableForEachSignificantCustomerDetails" ], "lang": { "en-us": { "role": { "label": "Revenue [Member]", "terseLabel": "Revenue", "documentation": "Revenue from satisfaction of performance obligation by transferring promised product and service to customer, when it serves as benchmark in concentration of risk calculation." } } }, "auth_ref": [ "r254", "r750" ] }, "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerPolicyTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Policy Text Block]", "terseLabel": "Revenue Recognition", "documentation": "Disclosure of accounting policy for revenue from contract with customer." } } }, "auth_ref": [ "r151", "r329", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r614" ] }, "mram_RevenueFromContractWithCustomerPriorYearRevenueEstimateAdjustmentExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "RevenueFromContractWithCustomerPriorYearRevenueEstimateAdjustmentExcludingAssessedTax", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByTypeDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount, excluding tax collected from customer, of revenue recognized in current year due to a change in estimate to prior year revenue.", "label": "Revenue from Contract with Customer, Prior Year Revenue Estimate Adjustment, Excluding Assessed Tax", "terseLabel": "Revenue recognized in current year due to a change in estimate" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureRevenue" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "Revenue", "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts." } } }, "auth_ref": [ "r151", "r321", "r322", "r323", "r324", "r325", "r326", "r327", "r328", "r340" ] }, "us-gaap_RevenueRemainingPerformanceObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligation", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsDeferredRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Amount", "terseLabel": "Revenue expected to be recognized", "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue." } } }, "auth_ref": [ "r147" ] }, "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems", "presentation": [ "http://www.everspin.com/role/DisclosureGeographicInformationDetails" ], "lang": { "en-us": { "role": { "label": "Revenues from External Customers and Long-Lived Assets [Line Items]", "terseLabel": "Geographic Information", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability", "crdr": "debit", "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Right-of-Use Asset Obtained in Exchange for Finance Lease Liability", "terseLabel": "Right-of-use assets obtained in exchange for finance lease liabilities", "documentation": "Amount of increase in right-of-use asset obtained in exchange for finance lease liability." } } }, "auth_ref": [ "r477", "r654" ] }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "crdr": "debit", "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "verboseLabel": "Right-of-use assets obtained in exchange for operating lease liabilities", "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability." } } }, "auth_ref": [ "r477", "r654" ] }, "us-gaap_RoyaltyMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RoyaltyMember", "presentation": [ "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByTypeDetails" ], "lang": { "en-us": { "role": { "label": "Royalties", "documentation": "Money for usage-based right to asset." } } }, "auth_ref": [ "r781" ] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r741" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r741" ] }, "country_SG": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "SG", "presentation": [ "http://www.everspin.com/role/DisclosureGeographicInformationDetails" ], "lang": { "en-us": { "role": { "label": "Singapore" } } }, "auth_ref": [] }, "us-gaap_SalesChannelDirectlyToConsumerMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SalesChannelDirectlyToConsumerMember", "presentation": [ "http://www.everspin.com/role/DisclosureRevenueDisaggregatedBySalesChannelDetails" ], "lang": { "en-us": { "role": { "label": "Non-distributor", "documentation": "Contract with customer in which good or service is transferred directly to consumer." } } }, "auth_ref": [ "r644" ] }, "us-gaap_SalesChannelThroughIntermediaryMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SalesChannelThroughIntermediaryMember", "presentation": [ "http://www.everspin.com/role/DisclosureRevenueDisaggregatedBySalesChannelDetails" ], "lang": { "en-us": { "role": { "label": "Distributor", "documentation": "Contract with customer in which good or service is transferred through intermediary." } } }, "auth_ref": [ "r644" ] }, "mram_ScheduleOfAccountsReceivableNetTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "ScheduleOfAccountsReceivableNetTableTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of accounts receivable net.", "label": "Schedule of Accounts Receivable Net [Table Text Block]", "terseLabel": "Schedule of accounts receivable net" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Accrued Liabilities [Table Text Block]", "verboseLabel": "Schedule of accrued liabilities", "documentation": "Tabular disclosure of the components of accrued liabilities." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable", "presentation": [ "http://www.everspin.com/role/DisclosureNetIncomePerCommonSharePotentiallyDilutiveSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]", "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities." } } }, "auth_ref": [ "r38" ] }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureNetIncomePerCommonShareTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]", "terseLabel": "Schedule of potentially dilutive securities excluded from diluted net loss per common share", "documentation": "Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities." } } }, "auth_ref": [ "r38" ] }, "us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable", "presentation": [ "http://www.everspin.com/role/DisclosureSignificantAgreementsDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Collaborative Arrangements and Non-collaborative Arrangement Transactions [Table]", "documentation": "Disclosure of information about collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations." } } }, "auth_ref": [ "r435" ] }, "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]", "terseLabel": "Schedule of components of income taxes", "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years." } } }, "auth_ref": [ "r124" ] }, "us-gaap_ScheduleOfDebtTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDebtTableTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureDebtTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Debt [Table Text Block]", "terseLabel": "Summary of debt", "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]", "terseLabel": "Schedule of tax effects of temporary differences and carryforwards", "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets." } } }, "auth_ref": [ "r123" ] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureNetIncomePerCommonShareTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Computation of basic and diluted net income (loss) per share", "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations." } } }, "auth_ref": [ "r767" ] }, "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]", "terseLabel": "Schedule of reconciliation of statutory federal income tax rate", "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations." } } }, "auth_ref": [ "r122" ] }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]", "terseLabel": "Schedule of fair value of financial assets and liabilities measured on recurring basis", "documentation": "Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)." } } }, "auth_ref": [ "r454", "r455" ] }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfInventoryCurrentTableTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Inventory, Current [Table Text Block]", "terseLabel": "Schedule of Inventory", "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process." } } }, "auth_ref": [ "r21", "r91", "r92", "r93" ] }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentNetDetails", "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Table]", "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r7" ] }, "mram_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the useful life of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.", "label": "Schedule of Property, Plant and Equipment, Useful Life [Table Text Block]", "terseLabel": "Schedule of estimated useful lives of the assets" } } }, "auth_ref": [] }, "mram_ScheduleOfReservedSharesOfCommonStockTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "ScheduleOfReservedSharesOfCommonStockTableTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureStockholdersEquityTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of common stock reserved for future issuance.", "label": "Schedule of Reserved Shares of Common Stock [Table Text Block]", "terseLabel": "Summary of common stock reserved for future issuance" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureGeographicInformationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Revenue from External Customers Attributed to Foreign Countries by Geographic Area [Table Text Block]", "verboseLabel": "Schedule of revenue by country", "documentation": "Tabular disclosure of the names of foreign countries from which revenue is material and the amount of revenue from external customers attributed to those countries. An entity may also provide subtotals of geographic information about groups of countries." } } }, "auth_ref": [ "r49", "r98" ] }, "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable", "presentation": [ "http://www.everspin.com/role/DisclosureGeographicInformationDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]", "documentation": "Schedule of material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries." } } }, "auth_ref": [ "r48", "r94" ] }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.everspin.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.everspin.com/role/DisclosureStockBasedCompensationScheduleOfFairValueOfEmployeeStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]", "documentation": "Disclosure of information about share-based payment arrangement." } } }, "auth_ref": [ "r361", "r363", "r365", "r366", "r367", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r389", "r390", "r391", "r392", "r393" ] }, "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Share-based Compensation, Restricted Stock Units Award Activity [Table Text Block]", "terseLabel": "Schedule of restricted stock unit activity", "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year." } } }, "auth_ref": [ "r64" ] }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Share-based Compensation, Stock Options, Activity [Table Text Block]", "terseLabel": "Summary of stock option activity", "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value." } } }, "auth_ref": [ "r15", "r16", "r64" ] }, "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]", "terseLabel": "Schedule of fair value assumptions", "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions." } } }, "auth_ref": [ "r121" ] }, "us-gaap_ScheduleOfStockByClassTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfStockByClassTable", "presentation": [ "http://www.everspin.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Stock by Class [Table]", "documentation": "Schedule detailing information related to equity by class of stock. Class of stock includes common, convertible, and preferred stocks which are not redeemable or redeemable solely at the option of the issuer. It also includes preferred stock with redemption features that are solely within the control of the issuer and mandatorily redeemable stock if redemption is required to occur only upon liquidation or termination of the reporting entity." } } }, "auth_ref": [ "r55", "r56", "r57", "r58", "r59", "r60", "r61", "r117", "r118", "r119", "r163", "r164", "r165", "r222", "r302", "r303", "r304", "r306", "r309", "r314", "r316", "r524", "r525", "r526", "r527", "r637", "r749", "r760" ] }, "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]", "terseLabel": "Schedule of changes in the Company's gross unrecognized tax benefits", "documentation": "Tabular disclosure of the change in unrecognized tax benefits." } } }, "auth_ref": [ "r651", "r811" ] }, "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "lang": { "en-us": { "role": { "label": "Schedules of Concentration of Risk, by Risk Factor [Table Text Block]", "terseLabel": "Schedule of revenue and accounts receivable for each significant customer", "documentation": "Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark." } } }, "auth_ref": [ "r40", "r41", "r43", "r44", "r72", "r127" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r669" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r671" ] }, "srt_SegmentGeographicalDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "SegmentGeographicalDomain", "presentation": [ "http://www.everspin.com/role/DisclosureGeographicInformationDetails", "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByGeographicRegionDetails" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]" } } }, "auth_ref": [ "r252", "r253", "r533", "r534", "r535", "r591", "r593", "r596", "r598", "r603", "r604", "r605", "r606", "r607", "r608", "r609", "r610", "r611", "r616", "r639", "r660", "r780", "r830" ] }, "us-gaap_SegmentReportingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingAbstract", "lang": { "en-us": { "role": { "label": "Geographic Information", "terseLabel": "Segments" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureGeographicInformation" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "Geographic Information", "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments." } } }, "auth_ref": [ "r223", "r224", "r225", "r226", "r227", "r232", "r242", "r246", "r247", "r248", "r249", "r250", "r251", "r254" ] }, "us-gaap_SegmentReportingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingPolicyPolicyTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Segment Reporting, Policy [Policy Text Block]", "terseLabel": "Segments", "documentation": "Disclosure of accounting policy for segment reporting." } } }, "auth_ref": [ "r233", "r234", "r235", "r236", "r237", "r238", "r252", "r631" ] }, "us-gaap_SellingAndMarketingExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingAndMarketingExpense", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Selling and Marketing Expense", "terseLabel": "Sales and marketing", "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services." } } }, "auth_ref": [] }, "us-gaap_SellingAndMarketingExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingAndMarketingExpenseMember", "presentation": [ "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncomeParenthetical" ], "lang": { "en-us": { "role": { "label": "Sales and Marketing [Member]", "terseLabel": "Sales and Marketing", "documentation": "Primary financial statement caption encompassing selling and marketing expense." } } }, "auth_ref": [ "r97" ] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.everspin.com/role/StatementStatementOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows", "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncomeParenthetical" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation", "terseLabel": "Stock-based compensation", "verboseLabel": "Total stock-based compensation", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r5" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationSummaryOfOptionsAndAwardsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Additional General Disclosures [Abstract]", "terseLabel": "Stock-based compensation" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "negatedLabel": "Cancelled/forfeited", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period." } } }, "auth_ref": [ "r382" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share Based Compensation Arrangement By Share Based Payment Award Other Than Options Cancelled or Forfeited Weighted Average Exercise Price", "terseLabel": "Cancelled/forfeited (price per share)", "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event." } } }, "auth_ref": [ "r382" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangements by Share-based Payment Award, Other than Options, Grants in Period, Weighted Average Exercise Price", "terseLabel": "Granted (price per share)", "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r380" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Other than Options, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Balance, end of period (price per share)", "periodStartLabel": "Balance, beginning of period (price per share)", "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r377", "r378" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "presentation": [ "http://www.everspin.com/role/DisclosureSignificantAgreementsDetails", "http://www.everspin.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period", "negatedLabel": "Vested", "terseLabel": "Number of shares of common stock, vested", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period." } } }, "auth_ref": [ "r381" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Other than Options, Vested, Weighted Average Exercise Price", "terseLabel": "Vested (price per share)", "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement." } } }, "auth_ref": [ "r381" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationScheduleOfFairValueOfEmployeeStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Maximum", "terseLabel": "Expected volatility, Maximum", "documentation": "The estimated measure of the maximum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationScheduleOfFairValueOfEmployeeStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Minimum", "terseLabel": "Expected volatility, Minimum", "documentation": "The estimated measure of the minimum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationScheduleOfFairValueOfEmployeeStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Maximum", "terseLabel": "Risk-free interest rate, Maximum", "documentation": "The maximum risk-free interest rate assumption that is used in valuing an option on its own shares." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationScheduleOfFairValueOfEmployeeStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Minimum", "terseLabel": "Risk-free interest rate, Minimum", "documentation": "The minimum risk-free interest rate assumption that is used in valuing an option on its own shares." } } }, "auth_ref": [] }, "mram_ShareBasedCompensationArrangementByShareBasedPaymentAwardIncreaseInNumberOfSharesAvailableForGrant": { "xbrltype": "sharesItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardIncreaseInNumberOfSharesAvailableForGrant", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the increase in number of shares available for grant during the period.", "label": "Share Based Compensation Arrangement by Share Based Payment Award Increase in Number of Shares Available for Grant", "terseLabel": "Increase in number of shares reserved for issuance (in shares)" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.everspin.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.everspin.com/role/DisclosureStockBasedCompensationScheduleOfFairValueOfEmployeeStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]", "terseLabel": "Share-based Compensation", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r361", "r363", "r365", "r366", "r367", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r389", "r390", "r391", "r392", "r393" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Granted", "terseLabel": "Granted", "documentation": "Net number of non-option equity instruments granted to participants." } } }, "auth_ref": [ "r14" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Outstanding, Number", "periodEndLabel": "Balance, end of period", "periodStartLabel": "Balance, beginning of period", "documentation": "Number of equity instruments other than options outstanding, including both vested and non-vested instruments." } } }, "auth_ref": [ "r12", "r13" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Outstanding [Roll Forward]", "terseLabel": "Number of Restricted Stock Units", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationSummaryOfOptionsAndAwardsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Additional Shares Authorized", "terseLabel": "Options and Awards Available for Grant, Options authorized", "documentation": "Number of additional shares authorized for issuance under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized", "terseLabel": "Maximum number of common stock shares may be issued under the plan", "documentation": "Number of shares authorized for issuance under share-based payment arrangement." } } }, "auth_ref": [ "r650" ] }, "mram_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableCancelledOrForfeitedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableCancelledOrForfeitedInPeriod", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationSummaryOfOptionsAndAwardsActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "Share based compensation arrangement by share based payment award number of shares available for grant cancelled or forfeited in period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available Cancelled or Forfeited In Period", "terseLabel": "Options and Awards Available for Grant, Options cancelled/forfeited" } } }, "auth_ref": [] }, "mram_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableCancelledOrForfeitedInPeriodOtherThanOptions": { "xbrltype": "sharesItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableCancelledOrForfeitedInPeriodOtherThanOptions", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationSummaryOfOptionsAndAwardsActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "Share based compensation arrangement by share based payment award number of shares available for grant cancelled or forfeited in period other than options.", "label": "Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Available Cancelled Or Forfeited In Period Other Than Options", "terseLabel": "Options Available for Grant, RSUs cancelled/forfeited" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.everspin.com/role/DisclosureStockBasedCompensationSummaryOfOptionsAndAwardsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant", "periodEndLabel": "Options and Awards Available for Grant, Outstanding, Ending balance", "periodStartLabel": "Options and Awards Available for Grant, Outstanding, Beginning balance", "terseLabel": "Shares available for future issuance (in shares)", "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable." } } }, "auth_ref": [ "r63" ] }, "mram_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantGrantedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantGrantedInPeriod", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationSummaryOfOptionsAndAwardsActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "Share based compensation arrangement by share based payment award number of shares available for grant granted in period.", "label": "Share Based Compensation Arrangement by Share Based Payment Award Number of Shares Available for Grant Granted in Period", "terseLabel": "Options and Awards Available for Grant, Options granted" } } }, "auth_ref": [] }, "mram_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantUsedForOtherShareBasedAwardsOtherThanOptions": { "xbrltype": "sharesItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantUsedForOtherShareBasedAwardsOtherThanOptions", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationSummaryOfOptionsAndAwardsActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "Share based compensation arrangement by share based payment award number of shares available for grant utilized for another share based award.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant Used for Other Share Based Awards Other than Options", "negatedLabel": "Options and Awards Available for Grant, RSUs granted" } } }, "auth_ref": [] }, "mram_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesReservedAndAvailableForGrant": { "xbrltype": "sharesItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesReservedAndAvailableForGrant", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Aggregate number of common shares reserved and available for future issuance.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Reserved and Available for Grant", "terseLabel": "Number of shares reserved and available for future issuance" } } }, "auth_ref": [] }, "mram_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfWarrantsExercised": { "xbrltype": "sharesItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfWarrantsExercised", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationSummaryOfOptionsAndAwardsActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "Share based compensation arrangement by share based payment award number of warrants exercised and/or granted in period.", "label": "Share Based Compensation Arrangement by Share Based Payment Award Number of Warrants Exercised", "negatedLabel": "Warrants exercised" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationSummaryOfOptionsAndAwardsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number", "terseLabel": "Number of Options, exercisable", "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan." } } }, "auth_ref": [ "r371" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationSummaryOfOptionsAndAwardsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price", "terseLabel": "Weighted - Average Exercise Price Per Share, Options exercisable", "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan." } } }, "auth_ref": [ "r371" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationSummaryOfOptionsAndAwardsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value", "terseLabel": "Aggregate Intrinsic Value, Options exercised", "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares." } } }, "auth_ref": [ "r384" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationSummaryOfOptionsAndAwardsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period", "negatedLabel": "Number of Options, Options cancelled/forfeited", "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan." } } }, "auth_ref": [ "r375" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.everspin.com/role/DisclosureStockBasedCompensationSummaryOfOptionsAndAwardsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross", "terseLabel": "Number of Options, Options granted", "documentation": "Gross number of share options (or share units) granted during the period." } } }, "auth_ref": [ "r373" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Weighted-average grant date fair value of options granted", "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology." } } }, "auth_ref": [ "r383" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationSummaryOfOptionsAndAwardsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value", "terseLabel": "Aggregate Intrinsic Value, Options outstanding", "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding." } } }, "auth_ref": [ "r63" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.everspin.com/role/DisclosureStockBasedCompensationSummaryOfOptionsAndAwardsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number", "periodEndLabel": "Number of Options, Outstanding, Ending balance", "periodStartLabel": "Number of Options, Outstanding, Beginning balance", "verboseLabel": "Options remained outstanding", "documentation": "Number of options outstanding, including both vested and non-vested options." } } }, "auth_ref": [ "r369", "r370" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationSummaryOfOptionsAndAwardsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Weighted - Average Exercise Price Per Share, Options outstanding, Ending balance", "periodStartLabel": "Weighted - Average Exercise Price Per Share, Options outstanding, Beginning balance", "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan." } } }, "auth_ref": [ "r369", "r370" ] }, "mram_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsOutstandingWeightedAverageExercisePriceAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsOutstandingWeightedAverageExercisePriceAbstract", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "documentation": "n/a", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Other than Options, Outstanding, Weighted Average Exercise Price [Abstract]", "terseLabel": "Weighted Average Exercise Price Per Share" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Percentage of Outstanding Stock Maximum", "terseLabel": "Annual increases in the number of shares available for issuance, percentage of outstanding capital stock", "documentation": "Maximum number of shares that may be issued in accordance with the plan as a proportion of outstanding capital stock." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.everspin.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.everspin.com/role/DisclosureStockBasedCompensationScheduleOfFairValueOfEmployeeStockOptionsDetails", "http://www.everspin.com/role/DisclosureStockholdersEquityDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "All Award Types", "terseLabel": "All Award Types", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r365", "r366", "r367", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r389", "r390", "r391", "r392", "r393" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationSummaryOfOptionsAndAwardsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "terseLabel": "Weighted - Average Exercise Price Per Share, Options exercised", "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares." } } }, "auth_ref": [ "r374" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationSummaryOfOptionsAndAwardsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price", "terseLabel": "Weighted - Average Exercise Price Per Share, Options cancelled/forfeited", "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated." } } }, "auth_ref": [ "r375" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationSummaryOfOptionsAndAwardsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price", "terseLabel": "Weighted - Average Exercise Price Per Share, Options granted", "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options." } } }, "auth_ref": [ "r373" ] }, "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block]", "terseLabel": "Stock-based Compensation", "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost." } } }, "auth_ref": [ "r360", "r368", "r387", "r388", "r389", "r390", "r393", "r401", "r402", "r403", "r404" ] }, "us-gaap_ShareBasedPaymentArrangementEmployeeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedPaymentArrangementEmployeeMember", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationScheduleOfFairValueOfEmployeeStockOptionsDetails", "http://www.everspin.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Employee", "documentation": "Recipient, of award granted under share-based payment arrangement, over whom grantor exercises or has right to exercise sufficient control to establish employer-employee relationship based on law of pertinent jurisdiction. Includes, but is not limited to, nonemployee director treated as employee when acting as member of board of directors, if elected by grantor's shareholders or appointed to board position to be filled by shareholder election when existing term expires." } } }, "auth_ref": [ "r363", "r365", "r366", "r367", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r389", "r390", "r391", "r392", "r393" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationScheduleOfFairValueOfEmployeeStockOptionsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term", "terseLabel": "Expected term (in years)", "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r389" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1", "crdr": "debit", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationSummaryOfOptionsAndAwardsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value", "terseLabel": "Aggregate Intrinsic Value, Options exercisable", "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable." } } }, "auth_ref": [ "r63" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationSummaryOfOptionsAndAwardsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term", "terseLabel": "Weighted - Average Remaining Contractual Life, Options exercisable", "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r63" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationSummaryOfOptionsAndAwardsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Weighted - Average Remaining Contractual Life, Options outstanding", "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r120" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested in Period, Fair Value", "terseLabel": "Total grant date fair value of options vested", "documentation": "Fair value of options vested. Excludes equity instruments other than options, for example, but not limited to, share units, stock appreciation rights, restricted stock." } } }, "auth_ref": [ "r384" ] }, "us-gaap_SharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharesOutstanding", "presentation": [ "http://www.everspin.com/role/StatementStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Shares, Outstanding", "periodEndLabel": "Balance (in shares)", "periodStartLabel": "Balance (in shares)", "documentation": "Number of shares issued which are neither cancelled nor held in the treasury." } } }, "auth_ref": [] }, "mram_SignificantArrangementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "SignificantArrangementsAbstract", "lang": { "en-us": { "role": { "documentation": "Significant Arrangements [Abstract]", "label": "Significant Agreements" } } }, "auth_ref": [] }, "mram_SignificantArrangementsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "SignificantArrangementsTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureSignificantAgreements" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for significant arrangements.", "label": "Significant Arrangements [Text Block]", "terseLabel": "Significant Agreements" } } }, "auth_ref": [] }, "us-gaap_SoftwareAndSoftwareDevelopmentCostsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SoftwareAndSoftwareDevelopmentCostsMember", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsPropertyAndEquipmentNetDetails", "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Software", "documentation": "Purchased software applications and internally developed software for sale, licensing or long-term internal use." } } }, "auth_ref": [] }, "us-gaap_StandardProductWarrantyPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StandardProductWarrantyPolicy", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Standard Product Warranty, Policy [Policy Text Block]", "terseLabel": "Product Warranty", "documentation": "Disclosure of accounting policy for standard warranties including the methodology for measuring the liability." } } }, "auth_ref": [ "r775" ] }, "us-gaap_StateAndLocalJurisdictionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StateAndLocalJurisdictionMember", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesNetOperatingLossCarryforwardsAndTaxActDetails" ], "lang": { "en-us": { "role": { "label": "State", "documentation": "Designated tax department of a state or local government entitled to levy and collect income taxes from the entity." } } }, "auth_ref": [] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.everspin.com/role/StatementStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r11", "r30", "r152", "r173", "r174", "r175", "r191", "r192", "r193", "r195", "r201", "r203", "r221", "r261", "r262", "r318", "r398", "r399", "r400", "r425", "r426", "r443", "r444", "r445", "r446", "r447", "r448", "r450", "r461", "r462", "r463", "r464", "r465", "r466", "r480", "r514", "r515", "r516", "r531", "r585" ] }, "srt_StatementGeographicalAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "StatementGeographicalAxis", "presentation": [ "http://www.everspin.com/role/DisclosureGeographicInformationDetails", "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByGeographicRegionDetails" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]" } } }, "auth_ref": [ "r252", "r253", "r533", "r534", "r535", "r591", "r593", "r596", "r598", "r600", "r603", "r604", "r605", "r606", "r607", "r608", "r609", "r610", "r611", "r616", "r639", "r660", "r780", "r830" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsDeferredRevenueDetails", "http://www.everspin.com/role/DisclosureStockBasedCompensationTables", "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome", "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncomeParenthetical", "http://www.everspin.com/role/StatementStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement [Line Items]", "terseLabel": "Statement", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r191", "r192", "r193", "r221", "r489", "r522", "r532", "r538", "r539", "r540", "r541", "r542", "r543", "r546", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r559", "r560", "r561", "r562", "r563", "r565", "r567", "r568", "r571", "r572", "r573", "r574", "r575", "r576", "r577", "r578", "r579", "r580", "r581", "r582", "r585", "r661" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "label": "Statement of Cash Flows" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "label": "Balance Sheets" } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "label": "Statements of Stockholders' Equity" } } }, "auth_ref": [] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsDeferredRevenueDetails", "http://www.everspin.com/role/DisclosureStockBasedCompensationTables", "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome", "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncomeParenthetical", "http://www.everspin.com/role/StatementStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement [Table]", "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed." } } }, "auth_ref": [ "r191", "r192", "r193", "r221", "r489", "r522", "r532", "r538", "r539", "r540", "r541", "r542", "r543", "r546", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r559", "r560", "r561", "r562", "r563", "r565", "r567", "r568", "r571", "r572", "r573", "r574", "r575", "r576", "r577", "r578", "r579", "r580", "r581", "r582", "r585", "r661" ] }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "StkPrcOrTsrEstimationMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Price or TSR Estimation Method [Text Block]", "terseLabel": "Stock Price or TSR Estimation Method" } } }, "auth_ref": [ "r679", "r691", "r701", "r727" ] }, "us-gaap_StockAppreciationRightsSARSMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockAppreciationRightsSARSMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Appreciation Rights (SARs) [Member]", "terseLabel": "Stock Appreciation Rights (SARs)", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities", "presentation": [ "http://www.everspin.com/role/StatementStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, Conversion of Convertible Securities", "verboseLabel": "Exercise of warrants (in shares)", "documentation": "Number of shares issued during the period as a result of the conversion of convertible securities." } } }, "auth_ref": [ "r11", "r29", "r58", "r119", "r294" ] }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.everspin.com/role/StatementStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, Share-based Compensation, Net of Forfeitures", "terseLabel": "Number of shares issued (in shares)", "verboseLabel": "Issuance of common stock under stock incentive plans and exercise of stock options (in shares)", "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP)." } } }, "auth_ref": [ "r11", "r84", "r85", "r119" ] }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationSummaryOfOptionsAndAwardsActivityDetails", "http://www.everspin.com/role/StatementStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period", "negatedLabel": "Number of Options, Options exercised", "verboseLabel": "Exercise of stock options (in shares)", "documentation": "Number of share options (or share units) exercised during the current period." } } }, "auth_ref": [ "r11", "r84", "r85", "r119", "r374" ] }, "us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueConversionOfConvertibleSecurities", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/StatementStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Conversion of Convertible Securities", "terseLabel": "Exercise of warrants", "documentation": "The gross value of stock issued during the period upon the conversion of convertible securities." } } }, "auth_ref": [ "r11", "r30", "r119" ] }, "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueShareBasedCompensation", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.everspin.com/role/StatementStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Share-based Compensation, Net of Forfeitures", "verboseLabel": "Issuance of common stock under stock incentive plans and exercise of stock options", "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)." } } }, "auth_ref": [ "r65", "r84", "r85", "r119" ] }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/StatementStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Stock Options Exercised", "verboseLabel": "Exercise of stock options", "documentation": "Value of stock issued as a result of the exercise of stock options." } } }, "auth_ref": [ "r11", "r30", "r119" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.everspin.com/role/StatementBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.everspin.com/role/StatementBalanceSheets", "http://www.everspin.com/role/StatementStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "Balance", "periodStartLabel": "Balance", "totalLabel": "Total stockholders' equity", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r85", "r88", "r89", "r109", "r548", "r564", "r586", "r587", "r655", "r668", "r762", "r768", "r818", "r834" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.everspin.com/role/StatementBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "terseLabel": "Stockholders' equity:" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityNoteDisclosureTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Note Disclosure [Text Block]", "terseLabel": "Stockholders' Equity", "documentation": "The entire disclosure for equity." } } }, "auth_ref": [ "r116", "r186", "r301", "r303", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r315", "r318", "r449", "r588", "r589", "r599" ] }, "us-gaap_SubsequentEventsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventsPolicyPolicyTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Subsequent Events, Policy [Policy Text Block]", "terseLabel": "Subsequent Events", "documentation": "Disclosure of accounting policy for reporting subsequent events." } } }, "auth_ref": [] }, "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalBalanceSheetDisclosuresTextBlock", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponents" ], "lang": { "en-us": { "role": { "label": "Supplemental Balance Sheet Disclosures [Text Block]", "terseLabel": "Balance Sheet Components", "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity." } } }, "auth_ref": [ "r754" ] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://www.everspin.com/role/StatementStatementOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "Supplementary cash flow information:" } } }, "auth_ref": [] }, "ecd_TabularListTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TabularListTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Tabular List [Table Text Block]", "terseLabel": "Tabular List, Table" } } }, "auth_ref": [ "r720" ] }, "us-gaap_TimingOfTransferOfGoodOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TimingOfTransferOfGoodOrServiceAxis", "presentation": [ "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByTimingOfRecognitionDetails" ], "lang": { "en-us": { "role": { "label": "Timing of Transfer of Good or Service [Axis]", "documentation": "Information by timing of transfer of good or service to customer." } } }, "auth_ref": [ "r643", "r780" ] }, "us-gaap_TimingOfTransferOfGoodOrServiceDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TimingOfTransferOfGoodOrServiceDomain", "presentation": [ "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByTimingOfRecognitionDetails" ], "lang": { "en-us": { "role": { "label": "Timing of Transfer of Good or Service [Domain]", "documentation": "Timing of transfer of good or service to customer. Includes, but is not limited to, at point in time or over time." } } }, "auth_ref": [ "r643", "r780" ] }, "mram_TotalConsiderationOfAgreement": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "TotalConsiderationOfAgreement", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsDeferredRevenueDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the total amount of consideration to be received per the agreement.", "label": "Total Consideration of Agreement", "terseLabel": "Total amount of consideration to be received" } } }, "auth_ref": [] }, "ecd_TotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Amount", "terseLabel": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r712" ] }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Vs Peer Group [Text Block]", "terseLabel": "Total Shareholder Return Vs Peer Group" } } }, "auth_ref": [ "r719" ] }, "us-gaap_TradeAndOtherAccountsReceivablePolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TradeAndOtherAccountsReceivablePolicy", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Trade and Other Accounts Receivable, Policy [Policy Text Block]", "terseLabel": "Accounts Receivable, Net", "documentation": "Disclosure of accounting policy for accounts receivable." } } }, "auth_ref": [ "r136", "r137", "r138", "r257", "r258", "r259" ] }, "ecd_TradingArrAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement [Axis]", "terseLabel": "Trading Arrangement:" } } }, "auth_ref": [ "r740" ] }, "ecd_TradingArrByIndTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrByIndTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangements, by Individual [Table]", "terseLabel": "Trading Arrangements, by Individual" } } }, "auth_ref": [ "r742" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://www.everspin.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Trading Symbol", "terseLabel": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "us-gaap_TransferredAtPointInTimeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TransferredAtPointInTimeMember", "presentation": [ "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByTimingOfRecognitionDetails" ], "lang": { "en-us": { "role": { "label": "Point in time", "documentation": "Contract with customer in which good or service is transferred at point in time." } } }, "auth_ref": [ "r643" ] }, "us-gaap_TransferredOverTimeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TransferredOverTimeMember", "presentation": [ "http://www.everspin.com/role/DisclosureRevenueDisaggregatedByTimingOfRecognitionDetails" ], "lang": { "en-us": { "role": { "label": "Over time", "documentation": "Contract with customer in which good or service is transferred over time." } } }, "auth_ref": [ "r643" ] }, "ecd_TrdArrAdoptionDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrAdoptionDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Adoption Date", "terseLabel": "Adoption Date" } } }, "auth_ref": [ "r743" ] }, "ecd_TrdArrDuration": { "xbrltype": "durationItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrDuration", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Duration", "terseLabel": "Arrangement Duration" } } }, "auth_ref": [ "r744" ] }, "ecd_TrdArrIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r742" ] }, "ecd_TrdArrIndTitle": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndTitle", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Title", "terseLabel": "Title" } } }, "auth_ref": [ "r742" ] }, "ecd_TrdArrSecuritiesAggAvailAmt": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrSecuritiesAggAvailAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Securities Aggregate Available Amount", "terseLabel": "Aggregate Available" } } }, "auth_ref": [ "r745" ] }, "ecd_TrdArrTerminationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrTerminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Termination Date", "terseLabel": "Termination Date" } } }, "auth_ref": [ "r743" ] }, "mram_TwoThousandEightEquityIncentivePlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "TwoThousandEightEquityIncentivePlanMember", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Two thousand eight equity incentive plan.", "label": "2008 Equity Incentive Plan [Member]", "terseLabel": "2008 Equity Incentive Plan" } } }, "auth_ref": [] }, "mram_TwoThousandSixteenEmployeeStockPurchasePlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "TwoThousandSixteenEmployeeStockPurchasePlanMember", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Two thousand sixteen employee stock purchase plan.", "label": "ESPP" } } }, "auth_ref": [] }, "mram_TwoThousandSixteenEquityIncentivePlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "TwoThousandSixteenEquityIncentivePlanMember", "presentation": [ "http://www.everspin.com/role/DisclosureStockBasedCompensationAdditionalInformationDetails", "http://www.everspin.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "documentation": "Two thousand sixteen equity incentive plan.", "label": "2016 Employee Incentive Plan [Member]", "terseLabel": "2016 Employee Incentive Plan" } } }, "auth_ref": [] }, "us-gaap_TypeOfArrangementAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TypeOfArrangementAxis", "presentation": [ "http://www.everspin.com/role/DisclosureBalanceSheetComponentsDeferredRevenueDetails", "http://www.everspin.com/role/DisclosureSignificantAgreementsDetails" ], "lang": { "en-us": { "role": { "label": "Type of Arrangement and Non-arrangement Transactions [Axis]", "documentation": "Information by collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations." } } }, "auth_ref": [ "r435" ] }, "country_US": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "US", "presentation": [ "http://www.everspin.com/role/DisclosureGeographicInformationDetails" ], "lang": { "en-us": { "role": { "label": "United States" } } }, "auth_ref": [] }, "us-gaap_UnbilledReceivablesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnbilledReceivablesCurrent", "crdr": "debit", "calculation": { "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableDetails": { "parentTag": "us-gaap_AccountsReceivableNetCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableDetails" ], "lang": { "en-us": { "role": { "label": "Unbilled Receivables, Current", "terseLabel": "Unbilled accounts receivable", "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [] }, "ecd_UndrlygSecurityMktPriceChngPct": { "xbrltype": "pureItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "UndrlygSecurityMktPriceChngPct", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Underlying Security Market Price Change, Percent", "terseLabel": "Underlying Security Market Price Change" } } }, "auth_ref": [ "r739" ] }, "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesUnrecognizedTaxExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued", "terseLabel": "Interest and penalties on unrecognized tax benefit", "documentation": "Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return." } } }, "auth_ref": [ "r413" ] }, "mram_UnrecognizedTaxBenefitsThatWouldImpactDeferredTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "UnrecognizedTaxBenefitsThatWouldImpactDeferredTaxes", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesUnrecognizedTaxExpenseDetails" ], "lang": { "en-us": { "role": { "documentation": "The total amount of unrecognized tax benefits that, if recognized, would affect deferred taxes.", "label": "Unrecognized tax benefits that would impact deferred taxes", "terseLabel": "Amount of unrecognized tax benefits that, if recognized, would affect deferred taxes" } } }, "auth_ref": [] }, "us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesUnrecognizedTaxExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Unrecognized Tax Benefits that Would Impact Effective Tax Rate", "terseLabel": "Unrecognized tax benefits that would impact effective tax rate", "documentation": "The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate." } } }, "auth_ref": [ "r414" ] }, "mram_UnrecognizedTaxExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "UnrecognizedTaxExpenses", "crdr": "debit", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesUnrecognizedTaxExpenseDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of unrecognized tax expenses.", "label": "Unrecognized Tax Expenses", "periodEndLabel": "Unrecognized tax expense, end of year", "periodStartLabel": "Unrecognized tax expense, beginning of the year" } } }, "auth_ref": [] }, "mram_UnrecognizedTaxExpensesDecreaseResultingFromPriorPeriodTaxPositions": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "UnrecognizedTaxExpensesDecreaseResultingFromPriorPeriodTaxPositions", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesUnrecognizedTaxExpenseDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of decrease in unrecognized tax expenses resulting from tax positions taken in prior period tax returns.", "label": "Unrecognized Tax Expenses, Decrease Resulting from Prior Period Tax Positions", "negatedLabel": "Decrease related to prior year tax positions" } } }, "auth_ref": [] }, "mram_UnrecognizedTaxExpensesIncreaseResultingFromCurrentPeriodTaxPositions": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "UnrecognizedTaxExpensesIncreaseResultingFromCurrentPeriodTaxPositions", "crdr": "debit", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesUnrecognizedTaxExpenseDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of increase in unrecognized tax expenses resulting from tax positions that have been or will be taken in current period tax return.", "label": "Unrecognized Tax Expenses, Increase Resulting from Current Period Tax Positions", "terseLabel": "Increase related to current year tax positions" } } }, "auth_ref": [] }, "mram_UnrecognizedTaxExpensesIncreaseResultingFromPriorPeriodTaxPositions": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "UnrecognizedTaxExpensesIncreaseResultingFromPriorPeriodTaxPositions", "crdr": "debit", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesUnrecognizedTaxExpenseDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of increase in unrecognized tax expenses resulting from tax positions taken in prior period tax returns.", "label": "Unrecognized Tax Expenses, Increase Resulting from Prior Period Tax Positions", "terseLabel": "Increase related to prior year tax positions" } } }, "auth_ref": [] }, "us-gaap_UseOfEstimates": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UseOfEstimates", "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Use of Estimates, Policy [Policy Text Block]", "terseLabel": "Use of Estimates", "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles." } } }, "auth_ref": [ "r45", "r46", "r47", "r141", "r142", "r145", "r146" ] }, "us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ValuationAllowanceDeferredTaxAssetChangeInAmount", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/DisclosureIncomeTaxesDeferredTaxAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount", "terseLabel": "(Decrease) increase in valuation allowance", "documentation": "Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset." } } }, "auth_ref": [ "r417" ] }, "mram_WarrantLiabilityFairValueGainLossRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "WarrantLiabilityFairValueGainLossRecognized", "crdr": "credit", "presentation": [ "http://www.everspin.com/role/DisclosureNetIncomePerCommonShareDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the gain (loss) on the change in fair value of the warrant liability.", "label": "Warrant Liability Fair Value Gain (Loss) Recognized", "negatedLabel": "Less: warrant liability fair value loss (gain) recognized" } } }, "auth_ref": [] }, "mram_WarrantsAndRightsOutstandingFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "WarrantsAndRightsOutstandingFairValue", "crdr": "credit", "calculation": { "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfFairValueOfFinancialAssetsAndLiabilitiesMeasuredOnRecurringBasisDetails": { "parentTag": "us-gaap_FinancialLiabilitiesFairValueDisclosure", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureSummaryOfSignificantAccountingPoliciesScheduleOfFairValueOfFinancialAssetsAndLiabilitiesMeasuredOnRecurringBasisDetails" ], "lang": { "en-us": { "role": { "documentation": "Fair value of outstanding derivative securities that permit the holder the right to purchase securities (usually equity) from the issuer at a specified price.", "label": "Warrants and Rights Outstanding, Fair Value", "terseLabel": "Warrant liability" } } }, "auth_ref": [] }, "mram_WarrantsToPurchaseSeriesBRedeemableConvertiblePreferredStockMember": { "xbrltype": "domainItemType", "nsuri": "http://www.everspin.com/20231231", "localname": "WarrantsToPurchaseSeriesBRedeemableConvertiblePreferredStockMember", "presentation": [ "http://www.everspin.com/role/DisclosureStockholdersEquityWarrantsDetails" ], "lang": { "en-us": { "role": { "documentation": "Warrants to Purchase Series B Redeemable Convertible Preferred Stock [Member]", "label": "Warrants to Purchase Series B Redeemable Convertible Preferred Stock [Member]" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment", "calculation": { "http://www.everspin.com/role/DisclosureNetIncomePerCommonShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureNetIncomePerCommonShareDetails" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number Diluted Shares Outstanding Adjustment", "verboseLabel": "Dilutive effect of stock options and RSUs", "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation." } } }, "auth_ref": [ "r767" ] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "calculation": { "http://www.everspin.com/role/DisclosureNetIncomePerCommonShareDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.everspin.com/role/DisclosureNetIncomePerCommonShareDetails", "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Weighted average shares of common stock outstanding, diluted", "totalLabel": "Weighted-average shares of common stock outstanding, diluted", "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period." } } }, "auth_ref": [ "r206", "r216" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "presentation": [ "http://www.everspin.com/role/DisclosureNetIncomePerCommonShareDetails" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "Denominator:" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "calculation": { "http://www.everspin.com/role/DisclosureNetIncomePerCommonShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.everspin.com/role/DisclosureNetIncomePerCommonShareDetails", "http://www.everspin.com/role/StatementStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Weighted average shares of common stock outstanding, basic", "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period." } } }, "auth_ref": [ "r205", "r216" ] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "05", "Paragraph": "4", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482338/360-10-05-4" }, "r1": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "SubTopic": "20", "Topic": "940", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(g)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r6": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r7": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "470", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-1" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "825", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-1" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15" }, "r11": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "505", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r14": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(1)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2A" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "b", "SubTopic": "10", "Topic": "280", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r19": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "60", "Paragraph": "1", "SubTopic": "10", "Topic": "820", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482053/820-10-60-1" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22))", "SubTopic": "10", "Topic": "210", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r23": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r24": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19-26)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r25": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.20)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.21)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.25)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r29": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29-30)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r30": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29-31)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r31": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r32": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-1" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3" }, "r36": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-4" }, "r37": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-5" }, "r38": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r39": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2" }, "r40": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-16" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-21" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9" }, "r48": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "41", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482130/360-10-45-4" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "50", "Section": "40", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481303/470-50-40-2" }, "r54": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "50", "Section": "40", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481303/470-50-40-4" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "480", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(CFRR 211.02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480244/480-10-S99-1" }, "r56": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481142/505-10-45-2" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-10" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-3" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-4" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-5" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-8" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-1" }, "r63": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "740", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-3" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "740", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-3" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "740", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-8" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "820", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-1A" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.17)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "825", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480981/942-825-50-1" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "985", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1" }, "r80": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//205/tableOfContent" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r82": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(26)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(26)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r86": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r89": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(31))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r90": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(32))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r91": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r92": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r93": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r94": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r95": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(10))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r96": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r97": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r98": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r99": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.1,2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r100": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r102": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r103": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r105": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r107": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//235/tableOfContent" }, "r109": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 4.E)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2" }, "r110": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.BB)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2" }, "r111": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r112": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-2" }, "r113": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.CC)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480091/360-10-S99-2" }, "r114": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//440/tableOfContent" }, "r115": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//470/tableOfContent" }, "r116": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//505/tableOfContent" }, "r117": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-6" }, "r118": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-7" }, "r119": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1" }, "r120": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Subparagraph": "(e)(1)", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r121": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Subparagraph": "(f)(2)", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r122": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Paragraph": "12", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r123": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r124": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Paragraph": "9", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r125": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r126": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//810/tableOfContent" }, "r127": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21" }, "r128": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r129": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(15)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r130": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(15)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r131": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r132": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r133": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r134": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r135": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04.9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r136": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11B", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-11B" }, "r137": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Subparagraph": "(d)", "SubTopic": "10", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-15" }, "r138": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "SubTopic": "10", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-6" }, "r139": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2" }, "r140": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "270", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482989/270-10-45-6" }, "r141": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r142": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r143": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r144": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1" }, "r145": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11" }, "r146": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12" }, "r147": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r148": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6" }, "r149": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r150": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h))", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r151": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//606/tableOfContent" }, "r152": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r153": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7" }, "r154": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r155": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5" }, "r156": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1" }, "r157": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r158": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r159": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r160": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r161": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r162": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r163": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(27)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r164": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r165": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r166": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(3)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r167": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r168": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r169": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r170": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r171": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B" }, "r172": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-1" }, "r173": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4" }, "r174": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5" }, "r175": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6" }, "r176": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(210.5-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r177": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r178": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SAB Topic 6.B)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-5" }, "r179": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17" }, "r180": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-2" }, "r181": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24" }, "r182": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r183": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2" }, "r184": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8" }, "r185": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r186": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(e)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r187": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r188": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r189": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(m)(1)(iii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r190": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(m)(2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r191": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24" }, "r193": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5" }, "r194": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r195": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r196": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r197": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r198": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3" }, "r199": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4" }, "r200": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r201": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r202": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9" }, "r204": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//260/tableOfContent" }, "r205": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10" }, "r206": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16" }, "r207": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2" }, "r208": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "40", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40" }, "r209": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "40", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40" }, "r210": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "40", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40" }, "r211": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "40", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40" }, "r212": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r213": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r214": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r215": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7" }, "r216": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r217": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r218": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2" }, "r219": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3" }, "r220": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15" }, "r221": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1" }, "r222": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-1" }, "r223": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//280/tableOfContent" }, "r224": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15" }, "r225": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21" }, "r226": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21" }, "r227": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r228": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r229": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r230": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r231": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r232": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26" }, "r233": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r234": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r235": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r236": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r237": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r238": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r239": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r240": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r241": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r242": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r243": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r244": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r245": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r246": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r247": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r248": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r249": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "34", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34" }, "r250": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40" }, "r251": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r252": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r253": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r254": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "42", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42" }, "r255": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2" }, "r256": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9" }, "r257": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-1" }, "r258": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-2" }, "r259": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481569/310-20-50-1" }, "r260": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r261": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r262": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5" }, "r263": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//330/tableOfContent" }, "r264": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-1" }, "r265": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-4" }, "r266": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r267": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r268": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r270": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r274": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r275": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r276": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r277": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r278": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r279": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r280": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r283": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r286": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r287": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r288": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r289": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r290": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r291": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r298": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r299": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4" }, "r300": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4" }, "r301": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r302": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r303": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r304": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r305": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r306": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r307": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r308": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r309": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r310": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r311": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-16" }, "r312": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r313": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r314": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r315": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r316": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r317": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-3" }, "r318": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1" }, "r319": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1" }, "r320": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2" }, "r321": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r323": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r324": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r325": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r326": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r327": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r328": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15" }, "r329": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-17" }, "r330": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18" }, "r331": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18" }, "r332": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-19" }, "r333": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20" }, "r334": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20" }, "r335": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20" }, "r336": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20" }, "r337": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4" }, "r338": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5" }, "r339": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8" }, "r340": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9" }, "r341": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//715/tableOfContent" }, "r342": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r343": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r344": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r345": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r346": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r347": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(B)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r348": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(C)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r349": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r350": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(l)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r351": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(o)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r352": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(p)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r353": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(q)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r354": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(r)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r355": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(r)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r356": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480126/715-20-S99-2" }, "r357": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480266/715-60-50-3" }, "r358": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "70", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480794/715-70-50-1" }, "r359": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r360": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//718/tableOfContent" }, "r361": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1D", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2" }, "r363": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3" }, "r364": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r365": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r366": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r369": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r370": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r371": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r372": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r373": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r374": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r377": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r382": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r383": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r384": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r385": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r386": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r387": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r388": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r389": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r390": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r391": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r392": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r393": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r394": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r395": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r396": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r397": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(l)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r398": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r399": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r400": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r401": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.C.Q3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r402": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.1.Q5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.2.Q6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r404": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.3.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "730", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "05", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483044/730-10-05-1" }, "r406": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "730", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//740/tableOfContent" }, "r408": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-25" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-28" }, "r410": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10" }, "r411": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r412": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15" }, "r414": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r415": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17" }, "r416": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19" }, "r417": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r418": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r419": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r420": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-20" }, "r422": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21" }, "r423": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r424": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r425": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r426": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r427": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r430": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r431": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r432": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 11.C)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "270", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1" }, "r434": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2" }, "r435": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "808", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479402/808-10-50-1" }, "r436": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19" }, "r437": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25" }, "r438": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25" }, "r439": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r440": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r441": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3" }, "r442": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3" }, "r443": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r444": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r445": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r446": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r447": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r448": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-6" }, "r450": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r451": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r452": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r453": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r454": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r455": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r456": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r457": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r458": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3" }, "r459": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A" }, "r460": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28" }, "r461": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17" }, "r462": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r463": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r464": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r465": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r466": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1" }, "r467": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1" }, "r468": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3" }, "r469": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r470": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5" }, "r471": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5" }, "r472": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-1" }, "r473": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3" }, "r474": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3" }, "r475": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r476": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r477": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r478": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r479": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r480": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(3)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2" }, "r481": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3" }, "r482": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r483": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r484": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r485": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r486": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "910", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6" }, "r487": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "912", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-11" }, "r488": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "912", "SubTopic": "330", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482105/912-330-50-1" }, "r489": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "924", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 11.L)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(27))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r491": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-05(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1" }, "r492": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1" }, "r493": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(12))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r494": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r495": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r496": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r497": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r498": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r499": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r500": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r501": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r502": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r504": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r505": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r507": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r508": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r509": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r510": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r511": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r512": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r513": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A" }, "r514": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r515": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r516": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "825", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B" }, "r520": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-1" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-2" }, "r522": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(h)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r525": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r527": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r528": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11" }, "r529": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13" }, "r530": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3" }, "r531": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r532": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4" }, "r533": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r534": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2" }, "r535": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r536": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r537": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r538": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r539": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r540": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r541": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r542": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r543": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r544": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r545": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r546": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(16)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r547": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r548": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r549": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r550": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r551": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r552": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r553": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r554": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r555": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r556": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r557": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r558": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r559": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r560": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r561": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r562": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r563": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r564": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r565": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r566": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7" }, "r567": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r568": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r569": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(g)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r570": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r571": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r572": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r573": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r574": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r575": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r576": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r577": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r578": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r579": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r580": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r581": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r582": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r583": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r584": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(1)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r585": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r586": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r587": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r588": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r589": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r590": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r591": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r592": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r593": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r594": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r595": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r596": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r597": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r598": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r599": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-6" }, "r600": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "948", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1" }, "r601": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2" }, "r602": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "440", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1" }, "r603": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r604": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r605": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r606": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r607": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r608": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r609": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r610": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r611": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r612": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "976", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1" }, "r613": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "978", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1" }, "r614": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4" }, "r615": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(a)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r616": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(b)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r617": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r618": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r619": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r620": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "8", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-8" }, "r621": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r622": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r623": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r624": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-16" }, "r625": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-21" }, "r626": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-22" }, "r627": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4" }, "r628": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "52", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52" }, "r629": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r630": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r631": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482785/280-10-55-47" }, "r632": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A" }, "r633": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B" }, "r634": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69C", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C" }, "r635": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69E", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E" }, "r636": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69F", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F" }, "r637": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r638": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r639": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r640": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r641": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r642": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r643": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r644": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r645": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r646": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r647": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17" }, "r648": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8" }, "r649": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r650": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r651": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "217", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482663/740-10-55-217" }, "r652": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4J", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J" }, "r653": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4K", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K" }, "r654": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "53", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53" }, "r655": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10" }, "r656": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2" }, "r657": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "29F", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F" }, "r658": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r659": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r660": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1" }, "r661": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1" }, "r662": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r663": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r664": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r665": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r666": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10" }, "r667": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11" }, "r668": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12" }, "r669": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r670": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r671": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r672": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-K", "Number": "249", "Section": "310" }, "r673": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Number": "249", "Section": "220", "Subsection": "f" }, "r674": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r675": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r676": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r677": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r678": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r679": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r680": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r681": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r682": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r683": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r684": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r685": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii", "Section": "6" }, "r686": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Number": "249", "Section": "240", "Subsection": "f" }, "r687": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r688": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r689": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r690": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r691": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r692": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r693": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r694": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r695": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r696": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r697": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r698": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r699": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r700": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r701": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r702": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r703": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r704": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r705": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r706": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r707": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Section": "13", "Subsection": "a-1" }, "r708": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r709": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r710": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r711": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r712": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r713": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r714": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r715": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r716": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r717": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r718": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r719": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r720": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r721": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r722": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w" }, "r723": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r724": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r725": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r726": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r727": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r728": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r729": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r730": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r731": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r732": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r733": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r734": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r735": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "A" }, "r736": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "C" }, "r737": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "D" }, "r738": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "E" }, "r739": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "F" }, "r740": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r741": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r742": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r743": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r744": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r745": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r746": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r747": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r748": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Securities Act", "Number": "230", "Section": "405" }, "r749": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-3" }, "r750": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r751": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "SubTopic": "825", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B" }, "r752": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4H", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H" }, "r753": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r754": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//210/tableOfContent" }, "r755": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r756": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6" }, "r757": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r758": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r759": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r760": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r761": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(f))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r762": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r763": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r764": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23" }, "r765": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24" }, "r766": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5" }, "r767": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r768": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r769": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482130/360-10-45-5" }, "r770": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r771": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10" }, "r772": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r773": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r774": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r775": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r776": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r777": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r778": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r779": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r780": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5" }, "r781": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r782": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r783": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r784": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r785": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r786": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r787": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r788": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r789": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r790": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r791": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r792": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r793": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r794": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r795": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r796": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r797": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r798": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r799": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r800": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r801": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r802": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r803": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r804": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r805": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r806": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r807": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r808": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r809": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r810": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r811": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r812": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r813": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-6" }, "r814": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r815": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r816": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r817": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r818": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28" }, "r819": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3" }, "r820": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7" }, "r821": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7" }, "r822": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r823": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r824": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r825": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r826": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r827": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r828": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "912", "SubTopic": "730", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1" }, "r829": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r830": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B" }, "r831": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r832": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r833": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r834": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r835": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r836": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r837": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r838": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r839": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" } } } ZIP 85 0001558370-24-002185-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-24-002185-xbrl.zip M4$L#!!0 ( *R!75B#86W0)!, +#1 1 ;7)A;2TR,#(S,3(S,2YX MMSV[JQ_]Z9^S_P^LM-9RH_9#N-/2?IR*_4K1V[LG-R[J<.1$(2>RA2 M!4#;ZE]_=T&"#Q$$7W(BYW+F3(Y%+!;8_2V Q>+URU]>%I[U1!EW __CSL'N M_HY%?3MP7'_V<2<4T\&'G;]\^J\__/+?@\%O9^,;RPGL<$%]8=F,$D$=Z]D5 M<^LQ6"Z);]U2QES/L\Z8Z\RH91WL[Q[O[N]^L :#3Y+%&>&0)? MR6NX>Z 2 MSF-N@7]J#?>&)WO#_>&1]>%T__CTZ,BZOU5TMU"SJ5M%^,*=4V[/Z8)8@K 9 M%5_(@O(EL>G'G;D0R].]O>?GYUV*!6QQ M0:, 4:K/#&G]NXL>-I3J3GN],6>Z\DQ)4=J M!Z$O6!GS*#&7P7/]WW-JS=;]< ^3)P"[(O>):W,]=YF4UTJ!^?.A9'UPJQ$D[V$R%C <[!\.T/2CG M&%G4: M2FQ;?K@8Z@QWN _6):C/W8E'!TA&&1'0S_#!$/N9! X6>"5PR)2<"AB=EFKX M_1ZDIJ9C0.*WFZSE@*Y+JI DY2U(L%+>)WN0FM@ZG6&O9B!&YGLQFZD6I>]I:OM M2M]'7:F;V*[ME'2+MI/O0&UGP,-)*3$F1AD^_<&RY !$?#\0TM[QD_JXA&8T M#:(O\ U[L%-4R2,T10O_^#J^+F][4GD7+K>]@(>,/@"P#F'.R'?.0RZ"Q>C% MY1?!@KA^;#=\QW)!Q&995.U4_1PZ=7U72@+=[OZ^-;!2AO!#\;2 J15QM9"M M%?&U%.-?]M;9K144@G=PYW^2?X-5<1ABI0*QM<:98Q)#1IMX=N@USY=6JS1; M_%'AU0E%4)J03L09\;!Y/LPI57"5I!EP@28O<4ERPM]Q9BO*W2M?I_SD#WXW MO0:_=T&Q800+4, <1ZXG&GU=PZ5V-B-DPP)D*5\KF%H1#XM@J\KRCA-Z1(V( MWDW/"9]?><'S>JO2DAB1.BI'"H%"+I9DTV.B'ZC"Q8*PU=WTP9WYX,/8Q!?^%C:E/WB8#7>$$%<;WB(-:1G0'K(VB5!X4!+BH/HH3+?X?N$GV&+U0T M0KV"1P7RPP;(JY)D5Y"494%A/?P=&SSTSBRDV6&A98 M&QIZ:S!; RASX0HYE9-30SDL4]\NA[U&#B.^Q\4N/L,RGD5FF/80=H;P'$0: M-L>A,J1 J?+U^6U.=E M3:YA;A.R!YHH3AQ.E?RC_E2Y.VFL%1*MN)B^B=8'>TSM ,8ASY75OYQ.J2W< M)TP;$U$#[GKY*P O-.4UP/.%6$DI$G0LIT>\/N(7=$H9HP[\B()'U2"79JG MM3!M6<-5\;4$X$BB2%:/I!E)F-!'6KRG#!W+P'^8$U;64BNHC?@=%CMBC";$ M& )#*^)H298]< T6B^]!8;Z84^&"&*:5XSQAQ3+RL7$9V7J78];#U&E9V81@ M.QX5"\[KX#9:<.ZQ;XK]@PCLW^>!YP U1E/%R@"RAMB(YF'%]H$LO_^Q(HX] M9-KA\([-B._^1]886MD7(O#C]"SDKD]Y83RL(C? =@ ];&% S/*3K2_BB" J MGCUP'1:.VZWSFF'LM$V@1[/!$DJ]]1$S6@W6/WMLFD;#&T3 S2@UC7KW4)7& M3G4Q4K/R2T+7O8Y+ME[K/3LCA5'_?]8,*+T'UP@/>;P,>W*8MLBZ:S$I4AEQ M^5""2WR8+2[4?\G1?WC:/[N]S]:F+G7N;X]9#S; M&:/1K+#0'+1$)C0.]C6M(>OK)FQZ7+2X?*;!C)'EW+6O_6G %MIN2D]DQ$4S MJTRY6!DV/2Y52QN&)0PS!A5KCKWFFRQ%U%R#,"/2;/&A!ZA#C*5;K*5.S 5/ M%!?6>!MLA7^G_NH#UUV ?L03+2UACO,:0#[L>-[A751$#W&3")L>4B.M$<(F M6XU[P-J&W?2H56#U"9J9P"JC-8(UH<2L#01O!ZP%N$+/5XF4A-SC:!#KTT)B)C3 =%F$R[KCL4=ODU01C8.:'N%>O M>/_$5< NB3W/<(IN2Z)L0Q<2="O<8%5''6,O^0.E<37E;$)W70;T\!;6-<=6 MU;;?(KR9>)WF3'DG*S0QK+"LHTZ657)FO3>339C)#04?N=M]*7D6%:;POI,I M1$7UT%= '_>_\(',9BRZ??)L]4# #3B?$]^G7@G@]3,:8=8LRZ@A07Y.F5N3 ME2796S'_'MM6V#ZZ"V@JZ"#8P2RJ5R.(#?DKD"YX#0:DHU(B#R$IIT>\'>+ MJAG$F0P5F!;F%R9,4:0>PC80IE&/,9TU;;%EF2N@+;AB!F@S49FHC![G5LMO MZ@"K K+)M4 E>8TH'Q51-MP$E!RO59;0@]QTY:',?2XE-,)7_E8ND%*QIEB9M:L]ZA*=<*\ZB_5FVZVU=5(,J=]"&]X;0Q MG#'E@KDV3'MD^E>H6C,;,3&H,(=B;+S<'-)B8MAE03WH;<[*E.%KHC5!6?_D M3(]7FTTH)7@9:8UXU3Y1T^-5?Q_*%RKNEO(9,']V$W NKUD$34;NM"_O!K/+ MUB%;\S'BK%E^7+M@#'=/!*HT"ZBX96?+DYXY7B('1?;&T&X7S'T@0'Z7>-[J MPO5"O)?O 5\<< T797=A930)S:J%:0?-P,H4::DRK;30WBCT1A&_):K^CSL' M0(MB53P:68?2 .G^_OZ)?+9,O5Z:^5/N&I#,^F.2=1YRU=]>V6; ME*W?()A/-&T(-"W8]9O_-KKY3\VZQU2.![C?^>6<40[TZ<":#[N(NONR\!0).!8> MY+O/*,#"*O$_6> N*BJLA.&]8FD\ZSJ,JZ=8$&87N!1>RP8F*. MM;SG*88M15^S@BV4'.Q-(_E%8H4M!<^;\1;*[9&)1NX;,J%>2Y$] MS/LJTOZRM_8$<_PA]U"S?*89Q Z8L'RRH'Q)[+30DD>BN7QJ^R:P)9N(FI>1 MR_>B\8]=*"JN7(-2TW>Q:Y6JR/&/9J6:'K#7%:W-@K^2)\@'^&EP,!P<'K2K MA?;1^C(U5.64OWDS$&*YCJ-WQ$5M1:@,J('CU@BLOQ=?IW"/L5PNK,$)8G#P MOG8]DF?B0SY 7KR. 68SS0A9QK;O"9ZP:6:/6H:=*H%?.K1$Z2&S59/6F,VB M?K34 F>BD084?20]_.H@>>[%^Q:]'^35EDZ]Z"IK+/[CS@@.?*?^6M %.H(@4#CA M,)*%*,YG%H3+CSLHBWOJ LF.12"5$5M\W!$,8R&^ZWDXC5:_(UH8AMS >8R* M"EDW/2FM_]@9J?UY:^_,W4/N+TMI?;''MKT*A5LVC M/0J?Y;ZW@BP5=%LHV6K4N6 MJ@LR55)NE71)M6\"?_9(V4(^)!-S\#@/0@X5O71G#/>Q8? MUY# %I2Q"69;J*.1Y]V).>X"D#.JXL1 G[Z%DJ1+/>I8.YJGR!ZJ_\KI-/1N MW&FT^/=(7\29!_ADY.W$95TK0B755LPF%'$OJ4$ &&73;)JG?8N'5ZKGAXK6CQ8@H#-HB<<5RG)/5G) M^13N-_P2(IAWTTC2T1-QI33G.#7P/.K#KPM_0I4@;1X2SY\7%._'AB]8JZ;U>=MXK)NB29B>HW MB@,2B R>*YG1RQ?*;!?F,PR&H%'<:6T"A\Y5R.E>,,CW8[W-5S)(^<]WZ7Y* M2_QA5MY=5)B9,KS(Z-JO$'JG*XQ-2C)$NAKJMZ4^1[8-)4.=G^!SP%9*>LWW M[8S*IQ7DZG%.^P M2/.N;CULU)(,O@>_ N&?+4'2\_1C<:EN>KLKVYM#[8BA?6?@K\:X( M&BPCPM=V@I3'=D&5YR;OO+QQR02WN,@'F"(UU*)\74KZR-!33+\X/A/7D@%R"HG2?;KMGFS)?6/5\;U8J2);T0: MZ"%LDT"Y]*V5*;__;;A_<*+&A3B>7)Y>T4@ZCB,M6XP*:(./)M<@LA&8Y/J5 MG;65TRKBK47O,VCXSH_% '<4ZANK*-YB5)[^@SKV&D*-/"]X1FJ8/]VS ?A M,07'1=ZK)<-EY]"THB6G9#!KFFEK(56W*>(%!9Q3F,JC9=Y-OVH&@IJT/T;6 MZB$\4_V,TY'*(&72R&HDWEI@<3P@?([;J##/W31NEDI 0_K6.F'Z$X9)HRQ/ MWE:3+*FQA7H:Z)BRE MNJLN=O8VHSP3LZUM.8^!(!X,2=QU*(NWCB2;8946JHBV;@S?4&17^65JC6RC MZT,:YM\I"ENC-96,Z^57&26Q'6@B;KQ;AMD/&-\(_,,/PQV#9]&%:R=;JU9: MTH,7=%:WI6UM-K?>;27G4P*6^W%;O#D_E@$M? V #V4>/$ MT2IN Z^7Z\U8VY@X?P4TX_C 0?DQI2K"CK&N=C)'M*7+F]B[T63T =N,3KCB M2)2+2\9VS2]"^H6^B,=GZCW16^A!YMEE\ M=KPJW<3:F=/WW;M5>P(&DPB;4H=C#*/\=LXQG8:^D_7 &^;;FDE81<3H<_!$ MF8\?$AEXSODG:(KG9VT9;"EYE&RTJ$V9=5;)JI:A&G&;6M,J:KS M69/VC/IT"M;P."?B6Q!ZSO5B2?"2_R1$2PVZJI=["_OEZ)+"Z(ZM3_\'4$L# M!!0 ( *R!75C#D7H0LQ( +T* 0 5 ;7)A;2TR,#(S,3(S,5]C86PN M>&UL[5U;;]LX%GY?8/^#UOLR^^!<'#>U@V8&N31%@*0.DG8Z^S1@9#KFCBQY M*&GW]YFEK' U"6.?=XY/CCJ M&-@VG3&Q7\X[OMM%KDE(Y[=?__ZW3__H=O^X?+PSQH[IS[#M&2;%R,-CXY5X M4^.;,Y\CV[C'E!++,BXI&;]@PS@^.OAP<'0P,+K=4,8E_;FDO/.U//F9X>'KZ^O!Z\G!PY]@?Q'QX=_W-\]F5,\0UUBNQZR3=PQ(/V9 MR[^\>:]S_%YQR6S MN<4$\N^F%$_..S.*9H"Z=W+<"S#_\\D#RIDU72*+"7R:8NRY'8-)_/YXFZH" M9G8Z)_:!Z[#VJH5?W!'DUMH&#-\88^OG-F;&CG)K*]"]-T M?-N#7NG!L8A)L!M^XSYB$Y,%>K;P-?80L:0!U5A@X^!9-S7V+3R:W"!"?T>6 MSSX2&]H 0=:%ZT(K '.Z(^B96,2#'/<8,?'CD0WU]Z&/ME^@(R;NAI6V@8K6 MJ.QDK\&:GF.S]KBL\ZV]@"\<^EY92^HE;!S> W7FF'KOH/;/__7)G#7EK]BK M&6)9*0VR"%9)?9RTL8W165!4C8"AY!GQ^-C!QPS>XF#6M@XR&9F-0KA"EMG; M!(Y0<(U@KO&S=X4H?8>B>!=7F06QI :J"XJIH/!B:356.Y@.?4-OV%TVO6CN M!%]_?IO#O*FZ[E7E;P8:#'H.6*M%^%KC\V2"30_F@O#;(TR[Z@ G6<)FX%WC M"2P0\1C^" ;_.A")A=8( @:OH,@'3%DGX]A/4T2K,U(F+ZRZ";V5;W&J[J"B M8769K(I+HZ0.\)N'[3$>Q]\2C\F%M?#1D=$U8A'P.91BA&)XY:!ZEF.F)%IL MD>S0M%I9/5VH*%]"3I#[S->1OMM]06C.ENXGA]CRW.@;S@#7?OC%GP&KD5 + M/6/KO!-]>=A&7:Y@9@J*6:E2;IH_3T\&_?[@Y&38[QV=](>#C\-$I1/\7M!T M_1$U(_GP,4-Y>D$>ICATV;2<2>L2X"[*/Z'.;*FQL!!'I<(.'6-ZWCGN&+X+ M]7#FK QD=8Q73%ZF'O]E3HE#B?=^WNDU3@M;BK(!'_['YIL+9/$I0'IH$M E ME5[JR'*^7 8> U622W6"Q M%%'(VHFNK#U0/$=D',Z@H?\9>5-,9492B9QIC7P8#@;]+>2X*M"0^KZ^U ?[ M0 \6VQ],;P8).1=GT8=L\61*N?ZZ=[HC@(/8/LH=1BY^9'4:3;Z#E3(5"$@L MS+,-+*H#T+T73O0H7QW;+.QW<]-N!6W2%=>]YTQL(D,G\N0YYE]3QX(ZNZQ# M\=Y7F"M/WE[]!4:62*&/:T#O;*4GM_9-)]::S:(ZBI>^$@"W@-B54\52;O/3[Q:]"AAUGV&SOD%'0RV%;>*\/5?79^Y]@OWS"=\?/4XD$X MFW*'")9%M^'I>_8HD'WS)U\,EK1,<<(=H$D17,C2!UU;'5\N2@^L@M0[0&L5 MA"&WIVVV0.%&1F%:K0E3;X EP&0F/^W,:!,^'*4[4D59MIG/ROATG]"4[EB) M$^K#9Y7=($D\NJ])'FCH5L7Q%/E/Y*1,(_X(B'LMMTA)5G)/YJ30Z;Z+$#J9 ME9&YFFR'F)2"IGNSO!B/25"E!T1@N+A"<^(A*X%--("69MPAJBN"U7U,?63> MH38>?T;4)O8+NY/DSQ@I>'R-)\0DHME3><8=(K\BV(H["I\.5WQTZW+:?'&<,=]LP'1!3.P^P0Q(N%83 M94CC'P#^XY9I+2,G;[FFA*Z4W6[KD_<%MGT<=6^KIYB?WTS+9W%7F/<:_,>N MLPEG\\J2=L$@ZH*M^Q(_[@%#;_#2<3U*IQ_)U3MS.7"E5+;?Z%T,"F.7KJ[! M?"V'>X*'F(3-NR"/QAP7,I77G%5AZCZ ?\$VJ,("0!?C&;&)ZS'%+' QW26Y M=H?P*D!U[ZN?,%]J *9[1/_"":V(3KN$&7:':$6,NN^Z1NO(8F)74NG'9OLK M;!D5*8[HS2^ON8L,J,%)3VV*C:,XTT];R9G_J6M,K1]IWG)60\E M'H>1(=)?)%(^8% ^WIOL ,MLL*CGJ6"?2SCC6YR9)= E9W,J_QG&(S",/&UL0SAWKD?_Q/ ;L% M.?: ;E7TNF\=9+NZPLM-XFFBBI0]L),Z-**VE&C>@?X+(C;K^$;V-7'GCLN= MW4:3W$!Y4GGVP"[4\9=ZA+5]NL!#1O('%9C+%JRQBD:/_,1[0+P"<-WOJS$; M=ID18S#CSV],'3YQI\$ZE5V9+&C[A?GVP RJZ:#TEENWA>M3B:E/'$[??F$. M$\Q5@@69Y;$/1)[@DME3^N@?:1 NH':;6$L5H6E\U+6SR$Z$LO$@I6>5V:Q[ M8!Z5U1":QD#;F4,661B!, JFG1N)4-I:9(3MI?U45DQH4<,MLJ@H;JEXL[,P MSU[:1QG^:%/K:(OL@)OV4DEJ/4E>YKVT#&E%1":BKR>L>%@-HW4ISTK"?'MI M&#(ZB&QBBS9#LQ&^5*QB)>N^&H:,&B+;V)3_E2"02[:^J:@F6;XE<^TPU>MH M(&)9\GJK\J:&@&6VZ3*R?R!*D>T]X@6R_+P]RL*T:3S'.\>H$NZ(1_$69=NC MNT Y;&;KKN,"D2- /\O0U@5"5GNZGYK"+(=?6?_F7)B@.8J%X?9%+A+2 O2S MKC6YS7&A6$\9VM^Y S@FQF/NQ?J$V!.=RN8B+V$?[&5-;6@8BTZ@H_@LH.IP ME2- /P/1=KB2U9[N=T<>\3SL8D>39&A;@2V)DNMG.6OREC4$)>CZ#SPQ%H;A MUG5]]GPF/U M*FQ(=>/NE(?#&G&P"O]J^G'B>A\>U>#A5!Z90Q5!,I-^784,2<4/ MIY;BT_VZP7?[F5@6'B\AE7 LSK#]_"IBV_"FF&#O_,*RG%* Z![6Z2!^/+)!M:!/$ 83&>*J#N(G:PWB4;U9:E9S M@U>=_Q55W@AJSX.2)NIO1 ,QS9B" ;'T-X\@%PBRDC+160;BVZT$O M =U 7&K>B"B543\S5>0F'A2KPU6SUO[FQ\)+9+'1_6F*80X "V['9HUO.?9% MCI/O:H-8/[L2#4LR>%'&LJR5(2LNL+41)ZY!]BWU]$^-^W*%A3^BUWOD80J& MZT)%1A,6\HTN"CRYRC*F;?5D.!@>M=0T\Y2?=L>JA$7W42*&]<.A?S%W=H?- MJ97(%>?<0G85P>CN71'CNF'Q^:"SX^%WE>@5Y]Q">A7!:+>=FS]J1F?VR>-Z M *URQ"]LOF[.0WH?W(M@L-WP,4GCP69MM<4*N"J.,2WMW+*7A-0'0@R M^X"22ZBPY-367HO'>/D/RJ]8?$&Z=AY1?0)=T]*GB_,3Z],P2]6?\U:J#)@- MKZ=$)S?18Z[A-#+W<&8E3;KZ_>%@,-29"WD,:AUB\PZ@P8OEVG+N%P# ME'8K'O;$(_&X+QE_+H\?.V';5![6/F1W!A.RPW?R$M*KCES"=\Y=%^/EC2)[ M'/LUI5__CCSGKO-WO*O)J>FI=O6BOP(?WUZQM<#WH-QI[K%V'7+U::%KLYUX M%7Y#>I$91%NSF']C1+^].G492BCNIWV4JZ/^RQQUFP5(K:U3C 7^- T9A:2$_K016:64!N5LP#FS?*%Y!84LW[;9U&K3^(658_3J6G8F2;9)E8)EVFTDH02&_T-E< M=\.N15XA2M^A"PC<_I1VLTZS_0N3R+J94&CH?MW6^8O$Y>ATDL9?ZWCV;FW7 MHS[KD2.E7CG<^,:+8%2RW9%=UIUC^R9,;%?P+YFG4[5?N;_>A 3S5X*D6:PO6[T]/M M>%M/]]7$6C,3_0RP;'XI"Z*B66UN'$B\;[WT8F27S=(O&RNMQ8]SHI\$ @U> M4+#U%WE,\IMFT8]&6%Z+5\YJ>,*Z^0O.@ 46A:90 ;ON%A$]L:/6ZDMRZ6<%"LV^"C;=+RQ& MF&XPU!-9U<@NSJP?YU6(%)M#!?3;TO93W5HUVY 1L>L64ED'VNWK).;SC]AT M;)-8P>6^($ Q6;#?6,!BU1E]9J]G94:?+LV(B^.S>E9@:U/ZN"JQ;EAU F<# MG]@OH>]&-L282L:&VW]^U=(<7'AAQ\>LVV>W5U*)!=U"#9+3+>7C<#!L*[R, M.O7)WF%3JE ;7#YH:5SY/:8P>,(Z(O?)G)1TH#;X]+6THZ\.&V]\2/9LX7# MS0\\S$)EKV%=:@7MD\W5H!FU2W*G-9T]5@7W^0V;/LN7BFN-J2EP"-M$.=MN M8,TJ1L:COLT;MC**N.)OA=S:T9H#$@7!&7^/GD.+([RNT80LH%O,D07(QT*TC.KZ@?<=>N6+^Z1.'OB(ZEF[88@F[;@J* MR+>N?X *[RP<0FBMIU:]N4BC;\D'+Y:C" MUS8% 8A MD,FW(Y:P'E[=CP8D[#N*N,_";K/8E,B2'I2DA.V(G6Q "6K;^AH,5:JQ[N4% MI/4S' X&@YTR$C7@\O%WVER[A*^R,&L'Q;*GVZ[Q EN.DD64B-EUNZ@"/[2. MCSI;A_2ILO*1J)8VL,9VAB3>JL$@-G>F!YB#O=<'3%DL+*0'DHU M,%EMW:.]X,K&8\O0!_H!7_U9\^8CB;7Q/+AV^ %^\3;?P); M5Y;2<"L6U"]3,?80K*F&,5^&?BV[(M')%KZ^!NJ/2[89TQ!I9>F>H&(DY=+V MQUPJZF*]0&J?#@.NX)]GY.)?_P]02P,$% @ K(%=6'<1_ DD+P Q_D" M !4 !MMNO^!-_?#SOW@ MV$ZZ9Y+4]&S)K[1G'>CR%(8>!]#].%]XA6*Q![7R#&811Y9S@, MYM#S3D_>_OSVY.T'[^CH'ZR+,Y"0)BCV6%_OWIZ6/YP7O:'XD_?N^-W'XWWW]V\1GI/F)Z?'__7EYL%?P"4X"N,D!;$/WW@$_E/"OKQ!/D@9 M>RK-7YYP5';P_G@SEA""_G54@AW1KXY.WQV]/WW[D@1OG'CQ^/V:\E: M2C40H@=_P\A__YGFY3#"*X#V<>6S8 M3^EZ!7]YDX3+540[9=\M,)S]\F:)P9(PZ=W[TWYD,RG5T3 M35W"21RA@7^^O:QA"JNJK,'Y+0(XIP'&'CH^M$'0' M, %:P#3T0308=8U1AB/U(47^MP6* H+RY;^R,%WO1!.ONUZ0OP@3/T))AB$; M@EDPRC?"-&85'L%3!!-=W'5[ZQOU;+D$>$W8%,YC8D!]$*<3WT=9G!)#?X>B MT ]A0FU@D$5P.KLGF,<959$"*KF'/@R?*797"%\"?U'IZ3Q+4J(Z^ *F((RZ M\&)<]"PS]PJ$^#<09?1C&!,+&8)HDB0P30A!-R%X"J,P)2V^0$"[#Z8QH2XC M*VL\)_H2)J.QN3=$K3#\#J,5Q.F:X$H-PHH:BH%9)QW2"A-NB&C@T!K3&*1G M0HO)3KX \SF&<^HGGJT? +&3YPL0QS#J3)Y!UZ,0]1@N"5NI??,1X3==$'JF M33;"."22OOJFJ=KE*$1\AFB.P6H1^O=PWK^0A-WW3-P9B*A__K" ,*5."(JI M+\4S8K>PN^GL-LHHI%[ &8E885"*H5\21;WW3-H%?$K/ <9K,K'9:MV9#'%/ M0WC2-6>]^PHE[FIPI'\GO ),T+TAW^IRE!AF$@1L*0#1=3Q#> EV6GFZC#$* MF5S/]I+TC-8P;S)=4;@=!=K#N*.PXQXF*0Y]LN2PW[\2=Z!ORJ5#]$UDQ44E M:VF>&.A.C[2WGE'?+OA]S#]Y;SVCGF>-'L$+3,CR/25K.J"AP0U*$K:4$ 2^ M QS0B)$ 3?SN?D3WD7HFF8Q>Y,H@)LJ^)!-\ 3"\0RG1$1(B1^N+,,K2\!D^ MT'"8A%7\07I]^.#H]/7J7<[LY%D>$YA8*Q %1$)KW M9!FAR4N87* E",GDF($L2A,3BZK=69U!&H3,0/+$F)4E1W, 5CDA$ ;+X\N7 ME"9KGR)X&6=+-@-0?!,FHM&:XDC*S8+6&)3.8TC0IM_0 1-&.B.;#FV@3!MA MAW%Z'(3+C<")MG;3FLJV!MTZ^9EAQ7K;'2GRF;(4Q4=!+K@>4>3TW2O"3-^& MP;?HN@=T64]'2[A\ZFHT^+C6^]T=T07!"?O9$SS:L*%'=+F]5Y F"A+F^9@; M\F=M7$@G?0"#;,^\(XG*BQK>'5HS7F/' MCR8BC?&SA/2.5GD86[8L[,"X MY-!8HD @$>JW$%9&&!]Z%_U6L!9I##^J>O/Q+;5;BF?_VLWU@NDW6[4HOO@C MC\8VD[,L#N(HO$:+EHIHMG&';NZTT&IC2OONT\1,(,@ H]%FCA8)=!)IHS[Z M4G&>+;,(T(S%Y6P&_?0.DE4LF,XF0G4XL(*J15"[SR!-)F/-' 9?][(D:_.'2'2O4V7 M!/IOY^CY.(!AKBODPU9%R!]_W, YB"YC0L^:,QTX$"UU$, ,CGD^'%>?FS]S M<6X"=-5:.8\0?[#1U)*+'55"'E96S?2FD/DZ3E+,CC))#+0 6FBL)/ 6:&6+ MY SB;1:%U7YRD$QH#67"_TEJR_L<0LC5O@?9=>50:P4:#OG1EQHAM=5%IF\J MK=J(\P@D!,.B%F^*[\/Y0F8EA/!"C9:V<(5BZ<27M#"CNK]IJ2,&I(W-Z/-, M@GYUIBG0MCIQ[B(0T_A,,E>J($)%:0)9)$4Z">I 2G+Z4W4!%Y%LS-$5NHYD M58?;R%E5V\]T)D&6),]DX7H+3BAQ+J1MRJ2JS('4HZX_I9:Q%RE''UV].>A6 M=5R IEW'!L4I!G[Z>Y@NRE.QU=-N,A]'HZEXX==L["!+Y$Z05N/.;.G1-3*3 M'NJ"X_@.DQ91-=])FQC;T]2'%%-VA"),OIVMSV#L+Y8 RW9K5,UD>JALZ 0; M2J14DU+:S( -[88]3$1=&2$SS&Q,/P4IC:FG),&U24^[J"./-8@[RJAZ5T&K5+<&.G8W M),LCX6?KXAXENA5RA>&_,N(A\;;+#5J*-RKUVMKD!P\OJ5^BT5+-#WG;G7<. MC42&C/$;?W-0AZ"J_Z))B-U0 "0+>BZ-_$.+9YY!I*CC$C<0.\32)A:(WE[5 MP$>-_RUWW>FC2R'C=NUTYU!#1]:H/WS'#T4D!%9G\JZ$N;+J;C[^&D),^+98 MW\!G:2Y*A977#*BS?+0KGI[#-"@>R\M$%+<>6D7EOW^"$O.M5IVY4G_:TG9H)#'3 < M?1'1(JE6%ZI+RN@KQ^8$Q?:Z-,!S^J2P7$LLA1Z+.CAO8B"^H$,$RZ=.!MW+ M!1T2)B,-'.QG-1APQ9NVL2Z7LZF]!"TKG(A9+"BFVL"-H"E14L:'7Z M+8K!]IO*.4)Y+L.P%R%G.O2S\SJD$!W:";OQUR ^.=55IP,9=NNFB\NP:5UL M6KT16UF#H-%27):LU]8E?BAK$S1:FO.CWUH%,Y$A8_S&K_/6(:A6_JU'B-T] M R#,+T"/GWC1+8+UP84Y_RYH-:)DQ?[<$ U">RQO$?&8Z0>?_P<.@?A6A6/ M %&K*O\;P"%]0>F>N+02A6^"";6!!VB9+*FJMP&U2.M/S26<1:JQ1U?Q-K)5 M!>T>?&1HZ)YXK@&(_B O:VX4U$EZW MSSS+08+O.5I%FH.%1'WV.-VBM+74#T3CZ?M$C MI9Z^G1R$SV&0"?>*N'#Q@Q"26+6>4P?T[:8>8$+?4 MWT@/A]&5GH=T5?=ER(Y_=SM]^1OB%<#I6G#1DPB,N_B+ $>KOEQEV%\0SW/S MQF,3(TE5IF9;0;6F0>N=+F67BP)U0&?<>]BY^&_K/ WPMIM,(.Y6T'JI\?+% MC[( !E=$7C0^RE+FH4UGEP#'9,5+[B#.HZ,UOP-9:F*X$<6)CF''=$9NRG51 MUJFVJG.ZXC@G%BIRG"%RHT[(&CI K MG!-22 ='$9?=Z)D:].&CG2=I?RX,\L2?.S4 C?PN\3WZ=.![$. M=QC%Y*-?E!Y*%F>3/L2+A6DO]HJ,BX=PI#6V/%!5B7$+>.?%L:-DD!JU\9R^D;YY/5JLHS-\QRQ]::CZ_Q$I\<[&+IV"WSH3ZV+V[O6"D M=('LVEV/S.QO<=U9+U _=%AX4[ ;X?7G!KL3;-6TL,T1N@&)TW7UA,#9NOJ+ MQ)SH=R#4>K,N+#-):A#:@%I$]S>).TD#J; :?4J:D%&_FX.'OM4)=A/&Q*'0 M+JL7@0OU2-; $7)OZ /V_%L%=9L9D=]LN.NDTI ),L-H] DE)J$Z?710=^ 1 MZD?P,LG2!<+RJ<0'EOA>(G G"%4XHGQP V+[="05?&^],,W'P]+CTFW$V^]* M\Q%N3(V_'S9M.JY\3#\V\O#,/ MQ(%7&Z3XX8W%HNU'>N1"5)39 !IIB_4.HR#S4]E%)V(P\QFH/2T6I"7VLR=X MM)D@5<7ES6<^F\LM5#X%C;D[+M.WC[%!_N,O"M@!V5^Q2L5@?-ZK5*C!?1X5 M XG 8'X6R$ESGPV8(5G/^'*T+$92\EVL18W#R57\=V;Z$H,EX^0I^8]QDWY# M/#.?ZDT\OT=K$)&%*0ZFZ0+B>[(^Q!GDW^%@U')TSK_KR'DCJE8X9(LT$[0M MX6PN_^XNI587MB=*!ZW4%EZ+V'ZEV)_?0>.E:_)1>4JL CB@X$ 4::_E+=1K M!S0:*W[3$R<(!.DG'\4I\28O(P9*9G!^X<_V]P@E,/CE38JS'OTNH[0=TZ>\ MI*'] E)>\D +;Y,$DO\"XM4+\WH=>K)M4YA >K+Z/),:E]AC&A+2+(3H(EX6_"WJEZAG*Y*5NYXD 824Y) ME6.R>X!11-V:./@"\#=8(5/DU$L:N.(S&$E,1I!CPFK1I;MRN>-&&(F&0X>K M$LEW 6Z(]Z.2215R=*G\M1<_HDJ"8P*YIJ> 8*+P&5I0HPOB;[L(HH6^8T)@ MZ:Q;%*.ZPLAEHFHTNH@^[#17%-0X)K'MC"XS(&&4/J]D.^A3JVB#"3L+B7\66\4Y;? MF#ZEE%VIX+PCJ,_59'47X 3%F9 M+FBQ+\6?6L38MYT"]#3*Z85M'*@/-= ]#5FY4S(JW?=3/;JM;NG*7JB64FKO MA_96?#KT1JA4@)IM7=D4-1:A)GWVA2C>#Y3*3]W,E=U18]&I27- :H>BU+TH M2FTH7_5V<$:ZHB9+O[DKAM(D0:Q#EV.Q.?^B=]'<$P [ZI<-6W!*.BQ+Z1[F!+485#NX2F21WQ@ M5R)6;;&("+$OCT-\NC?Q*8;$B[^ ^;_7<=MGOD=1=(4P?:A*'*::]>** =2. M5LW(BHJ?4YVR;/-5%I[NZ[L'\O3I7O+*@.N_<6IM1U MDF0PN,@PO6F870#Z&X@RR'Z;,NR2RQ<22H:)L':J0S^N>"E]34@SZO=##W(% M[D$1I!VY8IH[3P8-79 R8#^4(>>#4>*X0T>NG'@;VBQTS3L[H0J%-O>@"_*> M]L(R2+F@;QKV6B$8)\Y13/'_RX>2]=^1MNV0E$J37(]:M5^W7^TO>\^%4@>R6 M-!"GD-7B9+*J" [N.+02U>,7W*E)M';XS)WP,E*IR/O3"='L5LB;H\F.!&R[][:8 M>B6J%+C ED(7^+(#^27&WA9E;X:P1Y&N=5NB[?VE0-Q&1'V.8A_&:7Y3UWV8 M?)-%UB)@*W74#53.UFZF5OQMUP\]6)K%65;,_#.A86DC7") MKC1@5S=S*'K7U5*Y()L$.B9(Q>,3BMIMK;:N!/>Z.FOP-D?[F1PGA-I>=^4G M)(3@KD1]740GILHQ:7'LS",9SFPAW+:PM ;J2LYD#=P2Y;K(**9F*U^UA=N+ M7E,9I4*KDN6:T JCW<)9?I9/U@:0WJ*5T6_@#\1WKQ))WC( ME0=DR08*EKR E?=I7 .F#BY!I5BD%"0[_2$#QI60XZ M$3]9V0*Q;8*T]&3S"&4+_5'Y>J;FZYDK[F\WOIY9X>NYFJ_GUOCZO@^^GEOA MZX6:KQ?6^/I3'WR]L,+72S5?+ZWQ]><^^'K9YNMPFU *+^*>ED<('+C*;Y;\ M-L&&CY[?5D'?(F^YVMSZU1$OK*4--5X.7#FCC#E>PF6V%/*S\;L+KA=' ;9! M10U;!X+PYIRZ410ER1K8+4Y2DR+/E.3&1+;H[4OE4HNV.V)JR1=@#D]UQ5IK M8MOQ[DG$-9KV;R/_"H28G6$@'\,8Q'X((OH(>4H?NKX)P5,8L7,W7R"@W0?3 M^)Z>Q<'%:PZ)Z99^NXJ]ZY8^Q=QCJ+._2N2]''NVTU_!WRL)\%#L;4CP& U6 M]_DUM.^4= M%%8EQC:1]N5X#A+Z+ +]AYZ]>P:1XAY960.WMJT'-;.8CS?]6 M]5S(#ETZ9*35ZM]X1V0'LAU3BR\HANO\18:K+ [D A%B?4.?NM'SH*6-W=J('\N)EK+$536H.AMM HS=:TD?#MEP MLTF@=-+$-+LJ]>MXE:4)H_14S_/FM7#%E'=29JY4>53N@0S?&\OPO349JESO M/F7XWG49[K BJ790>A[#[J;+( SC:L_N/L(/L;7#=7XW3-JFZXU"?FY[YPS0 M4"IFP!/'S@_G'-&7O@3>=@W8:-*6\*!?Z0H*GGX']'(21MD]?::[>I?W!BM> M&91F0]M%9X,+TH09CLW7S[M>WZN/&< UV.[,MF_QU&*XC3->$$ M78K8V\:FV_8_[;1M7V+ -N4W.%C==M]60)3(W464>Q4>2:^PTVYNP2((45(> M.M1JZ=:FN:D@JU-=BUS[%EY,F.I$HE9+AU)U!IJK)<N$T6E@$%[5X+0CG(TH/1P M?D>[B*>+^W@A/)&>Z*G_;MN%4IWHJ6-[."2E>8YZGPY)"1\M"(5HXHZQR2XQ70ZNT'Q_"9\AD&^ ML? KC((KA(GZ"02IV=:VJV&FK+5GN/4(W)=MD!OZFI#Q><6_[K3QD8]I=:/C M!A*)P9O\2:7$QR$3CFQO0]KB$(N*IY@&JP_AYR'\M+\F',+/5Q]^\FV5*O94 MMK(;>&H2575RI#;[1RCNS F3IYC MT4J. ![EYD62?-2?'534P%80,37&LUN@ %3VKW9'1KM-G/^A7/MI OP'R.X1RD M,#A;/X ()N<+$,;ZRE?#V-?;4;RGM M9I-E^.1-[%PNV'IWIRI)^3LI&DW=2A3JB*QQZ: &C?;MJ I/U>LI6HT=2$=V M45L3>;I3LES%ZG&!439?7,DU=R0?U(TLQG?9%*5A"5 E<=3.[&5Q=LJHBDZ^F>YJV M53Q*>/GB1QD]ETKWX\E_P2-X$8B\4T^N3.0N^M")8%?CF<=P25"EA/MHG@]@ M&M:T7E&6A#7YBTM:ARCJ^)OG^DW!-\XD3OI#1C;:[LQ MTQOX.U;<&_(< %W&62ADL28TZ"/PD$U4\-L0\Y MD.TEMXM6#,D/5_,=GR&:8[!:A/X]G'?8C&U=I"O)?6S'\O+!#HF0#E'X0TKX M215MRT[ *RA5P.YO2D1"E)V\R$/N$531$>9%)+".Y$64^K61@Y@4.W*8)"&X M SZ]PD)XS)H#XT)21*E")=,Y^-MA]BW"Z6)"5D2"JY#;/"#;_J(1NWD$V(_H M+K]<3N17^E8 ;'MBVOSF(6^?UX?H^1 ]'Z+G'VGC]PQ$]!CGPP+"E%[>CF+Z ME!7O59%;:/BPR$_MXM1B-(\-YVW'$S\C0D8]/"5R>$KD\)3(X2F15_.4R+Z\ M5-'OTR$.OE2QKV^Z"-R:'^]-E\-3(H>G1 Y/B5B]7 4D<(&BX'JYPN@Y?^M; M7@\D:^'*#4<=12>ES;ZP#J\2-*?:JWV5X#-&B;&TBT;.NS-2F:NH:>+[ MV3*+Z*[Q!5QAZ(<@/R:\BB#C>AQ,E@BGX?^P[X74"63=7_?.>T]2K>B/#X[I MCQ#36RC2"7D3Y[VK;K.?T>:8[*BOEQ\8K!9B/A#_HJJC#=44!J>=^G+>(9-* MNR/1KF;E+V!^(+0L7C+,QK>JDR39^'*H3063U1Q\680AS;0W@&R<7R9]3V<3 MC.E5\105V=T/?%C'.*?/)L&\[*RC1N7]+$-E^PPY7 Y^B)P]6C7MQ M*$>VZ%I!I?WIMUD75(DC'J#=1)$8]5IBJ+'P M[6GZAU>(DU=R7%VEK(>F8Z)M5#->T@Y1-]VA7B&\)*F MJ*9/43B7I3XFM/9.89!F%X!GPE/^O:N&-Z&%:WA(7N$@P/H5IY2*8B:;>20 M8]_XU;&2OZ7!!74H\RC6++$<>JN^%?CV]='>G9Q^%*>9Q+#.Q%@2;=DX]&(R M[*L[;\:JDDF*-G;S2EH$U>^5$MJL'^)EV@IY&O)T)WC>29#.^=1W8,UV"J8S MZCY=OM#WWK(P66Q*244U(.IVKH3"Q@+3H&V4=-,-BN?TO3WF*N)1XYALZDI5QOR3)=4GK:G6;#*ZM$3/M>XVO9ID M.2TVCBWH:B8M"/##6/;1.2E6#82&1;0@FX\#F$(7LJ8/*?*_T0-$!(26N)+8 MWBAM^K=VVK3:Y;][>:?D:S?N5&#(G:W/(Y D>M-6 MQE1#!+42P3HM]DW4PP+0*NF$;E@O5X3FO)*[4AMWMM["%!$?HV)+2AS0:O); ML)3?C3#,4 ZE:[G*7*N&&H0#0X754]9ELT<"6Q.(K<%+P8[H)FXM^&?@H# M-O17PN+D(7OZ$_KI(\IQ^HV 2*>@>1^N9"!'D:PY>QR+*IB',9W]SLK5TRF^ M#^<+V0D9";PE7THTL8V6 M2Q0S[2JPD"R'$F!77!@-Q=KN8HO)<=/ ,51;60?^1&G"VMW#EA+ OS>#8_%^ MA-WKBM)=A,]A .,@N8.8+>(7T(_(/X%(LEI-77%*M46N1Y9K,W*+]#E8A2F( M&+X)\:4@?H;!%<*YYT3C'%I#J9:I;C^N^*9=!*Q+HXOYTG*-,,V;MJZJ%>1- MR_ZM)E"YZZA@(ECTR42<,!V'IQ_)5%#^?NED7E$=QGV%R"! M#Q"',#F[AP&$2ZI/YR@F=C$-R<<[7%S6P4R6.##HH]=]C"#ZH-N!^;B'Y?IR MIU/72A[J]8)-;,QTB;.1$7D1!DM)KV/.[)'@DW694[4AX"?V,1()D43T']!3YV?H2^(LZ MK(GHS?IU+)FRJYZ8$>]:RH5'T>4+<1'"A/A6]'7H\L>D^#4Y-5$-=5^.I5YV M50=71R$_; ;W*B*[4NG7> M)=:LC-NU?QO'DXH];]E30S40M](]O0NW=DRI1KAC6\-:E7,.U[SQ%(_'_%&W M>1^_H\<%RA(0!P\AL8@PSM/.U\3=C^D]!CU-R5Z$=1]6)$T]A"NF3+ M9')9)=4D2Q>$%_\C+!T<8!Q7HHB! M]+1_ACF63N],X1UQ2\EG,">3N')X*R]J "_A,EOVK85:0[H2)SFFD%J\TA"JY B-F5GJ+=H.&&<^4*I0%U_=:;J M.O8Q?63X.FZX,,\@C*C'?84PHXJ7UAQC5%=NQ>I7&T=CWX]B4LVT<_CA7+G^ MRS$C.;(^]FT-Z^B7)Y7H>YZ#FD.385VYMLPE>VC"/]<,(@W(\EM1+C*E_P_0>^F@>T]34MJ>\T31=0/RX ''AZ*HV/,;'9_P-E9,QM=4B9U^+ MSAH6T!CL],QE18L12Q'T,F TM< M4X]>LU*\6_\''6E\!=N/71@9SWXP#:QL,N7AV$#ZQQEG?.T;?[^E7XZY>L!G M6R>R2:!/9YRZ(L/;6#Z(PB/!W9<.LI6[\Z4!G+U:8:8\>L M;U2P]@MAT#);"IG;^-UV<:I &TKN-K!U@;]YT8R8O_7?;=?)J?A;Q]:Q^MS# MD8S#D8S#D8S#D8S#D8Q7?YE4D^:2) ^GTPZG MT_9(_S8YVTF29,L\.7KYLH+TC9G?4$2ZH3<+WH,4%N%]WWK: 0';<;JC6P<= M./FC[&<9D#[,L;<."!P.P?7%R1]9B^_#Y-L5AO":+$ 8)NG(EE@Z_"LX,C<* M'U^=_HYG@Z7#'P[-]<-'%_7W24WXD\G20Q\([_U0LL: /^91NC$XYVJ]#.\- M3]/2F)\,2F.VXQ4E,&S$0P',X3[OTCU/11M7;/A8Y2(*=MB7\6%K]+ UNI=;H[>H.&Q= M>E=DHF6,:Y73.?-T9X8Z6)&#+CW]M=1-=XP^$=1WC9[&]>[U.];[5N5C8??^UH5 MJXIMS.Y7H^:$VS,8VM1T#@9[7];BMK)S..[V!9-- BI,;%PE7'NE=?)$6 #\ M?F^=W!F7O;?DW!#1,E-?C;W>W/4U^L7HO:)F.]QTPAZ-8^U-Q/)JII'E1P;Z MQ\]VX/N*)I3EMPPU/*##G; M@?TKFD]F@G%L,AVN;[=W??O/CD^9PX7O@W/B<.&[^#C.ZYD/7:^('_Y43TBP MF84^6<8FGK0,\VUZ];;>.G-(Y1Q&9=P@#6EQ>+1^;Q'2S MP1?\_$@^)41OJ*KI'=?I;R +!I&6;$YG%;0D)>X"6%=/\O2M %4+(F"%_06N M32?@DR8M5S;NQ:$B=:E&U\XMF!(YU";?/Q&A^8*8[PBM&,*E*16?$%(VL;U; ML*,^;O;'E(3:N:3W'&7T4/D*X'0M./8H!G/U;- 0!E/,!4L7@\-5AOT%0OS3) &T;NTZ*M3%Q M J+L^Q(]V(-6X4/#T>AW"+L'8X9@%_^(3'^&^D"S5TF#%*.5N>?YD.KM#20(3NLA-9Y_G%4>FM"+ M8!792JSQ.\+?^E(DC8%L[_0YJU0:O'-LF^%PQF+DV^@&][W<.48Q^%[!9XCF M&*P6H7\=SQ!>,E+-]@I.VWL%VUZ]2K>.[!7<$W[$&4RNB%)=$J(P8?=YEJ1H M2=A$5.@&Q?,;HCK!A%BM5'-?H%NG(^5!Z$WV3'&W<@&1((LE@74U][^+0,O$ MB(1L!YX)>\C#L"INPL25!-:11)52'3="$9/2KQP2Z+^=H^=C%O[@=2Z*XH^M M)(HO_OCZT&![]0<7TE-*=:$,KB)MDYN__J> F_0'VS&Y,37 JX27^P'5P86N_"LQ<-V_MEH)C]:=A5V[L[L/MRL;^'MNW2+*/=U2N\.(!-_IFM[DF!+B M:!:+95MOH6@W3=[$MM,^A&[(*78L(UT03ND^)]I'*Z-_#]-%23M+P=.2Z@E+ MR\/@$;S(S8)93[;#C"'DWXD1]M.[US'Y$A)D8$(4=4I4&*0$RQN4).< X_4L MOU^%%-@I8V^E?726K%03Q2;$O#[91P!9J$J#],\-A$H1L M_U;^Y+2JE2O^J8F,E$39EY;82*N"3ZV6=N-, ^*J8E,N7'L:,XKI,A:Q._.Q M=QD[%QA>P!G$F$4G>_H3^NDCNGQ9A9C5;PA+:W?KU)5PL:/X=R5_ M?U7D%J6#:(FH7]L;;N,IBH@#HY36[J;0U]A_@,PS>?_A74,7^N_>]JYA1Y7H MGQ'[IAFDB\O9C+V&.K"2U$:RO2_JB+[4>&(_2WD+TSP6NF/UWTL4L_K:.Y02 MIS[)<"N9% U%&NS-$O(L3]#=K019VM^![+G<8<M:7YN3KK=(X%W92G1 M56ONM85MLAP3V(_P1++ NG<1G///'>]H@%H)BGX7_QM7=OSZ9A._TK0?K^%' MN-EE1TY,EI+;7WKJVVVSU(]J]L2JKDG%XFOZOR>0P'_\?U!+ P04 " "L M@5U8@Y4'Q@5Y "8+0< %0 &UR86TM,C R,S$R,S%?;&%B+GAM;.R]:W/D MR(TH^GTC[G_(._=&N">B-#/=8^]ZYJSWA%[=UEK=TI'4,V=OQPD'16:IZ&&1 M99*E5OG7WWSPD2SFDX]"EKP1WAVU!" !$$"^D,"__\^7=8*><5[$6?JG;]Y^ M]\,W"*=A%L7ITY^^V9;+DS]^\S__X__ZEW__OT]._O?9W36*LG"[QFF)PAP' M)8[0U[A9PDZ"R/HR>,T-L?OOO#=S]\]T=TG/Z-WW[W[Z_MT/[WZ/_OCS#W_X^?>_1[R3C(2)A6OS\4L1_^F95EIN?O__^Z]>OWWW]\;LL?R+H/[S] M_G]_O+X/5W@=G,1I409IB+]!!/[G@OWR.@N#DJE'0']YS).:P(_?-V,I(>B_ M3FJP$_JKD[?O3GY\^]U+$7W#6;2@_TTM#/V%3)RW/_WTT_?LKS5H#]) F?PU M*AL$$?@/W_,_?O,?_X(0UW&>)?@.+Q$;\>=RM\%_^J:(UYN$TF._6^5X*1\^ MR?/O*?[W*7ZBWYXJY2>JE+?_2I7R_U2_O@X>)%R=''V99VLI$]5PF>2/ M?TT>$QF7'19S7&3;/,1.'T/D3*4?/CKQ20)!0S%.3S[??_,?%W7X/4TC=)F6 M<;E#5^DRR]_%J#PXN=DD9T02'!A[00&YQ'F?191I= MD'671K@].%C3D#*];Q<=(#"CD'"AM@@.3)8Q$:+@'DQRL[ _@SGSE=_[.,&? MMNM'G$M$ZH/ &+&*U=I^]_]^<-.5,]#[[-5BF\(A#GCX#WZ'GV*Z/4C+3\%: M%K[D8) ?7LYR]^-W88 ,0,:$R@A:6$2! 0/7?+S/9L17:9CE9/YG&];[DD3. M\VR;EOGN/(O4-FW @C1Q*X&Z%J]% 7( "YY4-M5!72"&C+(<5000I7!X0WL( M7JXB,E''RY@?X!KF2B4\I'$9A.B:E0(8R*"TW*A,B2"A+A;8;'L:140I1?6? MZSC%;Y6R2F$A[4;#?-=F)(! ]J+D1&4K%>2B_@%1''23 L2:/N_O'.1\YYNM MO+.UE7?>V,J[(;;R\#4#LY5S\N--_I!]34U2BI >V$F?<:F5M&"P-K+/A]%" M* )=O5 4,.M@:ZB;_#;/GN,T5*^+5> >V(E"!*FQ[,'"6HR4&:/9-*O>&@_, M=FZSH@R2_R_>:'=4# M?W Y [T/SOZ&LB5Z^^[-X[>HQCKD5W_( YJB>;];/V8R2?;^#O.]I4S6'[OS MQX-_:"0^Q"]"-V=B!P6:"^B8T:U M&ZEP4(.$.!;$Q2")@D%8QL_X(BB#BC'-?94<'/8J4"?"_AV@#!;L\D_-C/K6 MK\&A"3!!;4H0>5WOX_2^7)>7>9[EYQEA(Z171^^3X$DBL@T2;,:769S]]"\U M!E@NF(DE=685P0S2,":[*G:HQG['R*"6#OI"*?T?F*RK_)RP]93E.Z5#[4%! MYU[U&.ZG7S4@@!E8>SSHDK"(+52PX.DWTW,^F_'>KX,D.=L6<8H+]:)L#PK2 M>*4,=XVW P)DO!(>5"; 0%$->W@3N%SC_(FL\S[DV==R=9ZM-T&JCF,*:$B3 MT K0-0TI*)"):'A1F4J-@C@.JI .:3-7X3(_W48QH7-:EK@H \W"2@<,8S%F M]FN#44,>W%Y,K/3,Y>K\_1VJ,)" @BC.(:VEXD%Q!-3Y*XP]2!BL#4#XT\&_ M>&_LWB>NO^ZA#W6J<=_'^?HJ4G->_QWTJW:9W/NN_(]07U8<7?EM*1"ZN@#X MO'6) [4 +03H)]YG=.\CUW^&^LS=\94?N@8#6/^O<)*8UGQ=(-#5OX3=O<6_ M &U]N^QH%SZ4TB(55QU/)RMUS2U/PM_NU\%1!$WVY*6.Z$71^HS92T2Z#&] MA3A[A_4:#*@C>R-+RH-[AHD8Z@)Q9"1@@Q^+ (@V1Z84/]1^'Q=AD/P7#G+U MXV$U*% &E8'U)IM* 7?XS"HM(_TLJ^KJBL,CBN##8^)#2#'K54K-]WOR&]DA MH1(2^M)$RGC_IJ0#!G@](N%#=R?2F@=#\."Y_&PBS&[>_.V^G8%W8'TP<0GS M)T4JJZ@I^F?I,8LRWXB>/KP8&NZ^5,[RWE MNT!0JW<9%\I5+0=&#!H1:$2OSC MX<^G^J/W3Z=J&/VUP?S&.2&SLT767W&2_"7-OJ;W."BR%$=71;'5%!=0PD-& M6H,0W8BK :*O%IN5"&,(IW\1K%0C88XWN$-Z);99, >9OQ MDHF*LLINJ(;I91 N)XPTHTSN(7CL/1U4 M 7E@1AUVI0;#(&!-0V"A_UJGR6O^PL FS&,>90?7<8JOR(_[ZQ$=H ?VT&-; M:A,-%*Q=[+&ALPT*BABLVD#FW8\-YQ[6HD^+@D17P[2Y#P1GR7)V12ON0H!8 ML(R%_L:< :$O-1BTX3HP[8/%5K>!5H;;@X6V7P7S?3/> P2T9BDG"OM8-(\E M/;-N.R%JY@.&\S.LM9\'Q>HTC>A_+O^^C9^#A+!6G);G09[OXO3IER#9JA:D MEKAPWN DG.@=5H@@WN+ 6=_P"!(*T@BQ'P3T!0I*5%- C 2P/TTB9DA_P"TZ M\+P2AK0,;W&'0TPX(IN-3[B4/ZZV0P&<92Q$Z4PV&GB8.;((XN7S8X+3!9 M)=R4*YQW5N *2:TPX9S003#1-RW00%S6FJ^>N568J$)EBSF&C/8V@,!./EY" MS%$+)F+&1 P[VT./SD)LMK[>G'T8SSS@SSKLSCB@%V,6'//9P2>[O0&WH8KEZ)Z5$@)P6S*-W90 T/- V8&))$1XZR0 R)!<<&S8?5 MW0B9F#"X%09^OS5 &.[QFP$B'<3];PA; :VA=XV# M_%3ZOR9OF9S- T-"FT M8,"!"P!6PH@10(L $@(L..J96(.#&-(",;23;'E"$/DZ$#@(#)&J$6)+E[4> MS)3"BO43L47M2D\!"^@:.N8[+B$#A'$%-2=]%^AL>5IP:+MW%L$'0^<,:U>Y M\)L7]:X%<+LR[*[^D-L3[2K%!^.[CH/'.(G+&!=D@<7>TZ^R)"*>1A=;YHX:&]B&['!D!P<-L'V=Q:@F2%A$X[Z>^,;T-=O2VU"X/81\8/@-! MSKXL]Z +"9IU(&-%?:5=0?MRYS%,B V'!K?Y?(NCOO>J157!@UJ^7H@]XY<# M0]F_CAN9]5!X))L,X+U@D"C"! "]@I&W3YI\7C7L[:U%JUEF_KBREC2B31KJ( MH //\/:2?,(E"NOT_V>:6D^%B3H?Z)9+.:D457V3%9%W,2.+$FMH)^^L8@$%P7&ORM0%!=L8T?B M?/:8Q$^\R\$RRPD(H4^W>Y2+ E%U\=^1I7N8!$41+V."%11UOM!W\WJ)+&HY M*Z*Z@6Z@YUY]_,1Y3S%1+%FB3R-"4?SWC&,$0,;_;EUF;OE\7;&;LG=FYM M&P#&;5RF^^O2M!G= MCZ6I41O]U2EXJM@0,;BC]Y:C+)V8?F/;I1W ,M7N$XV2ZI 79%=IF*WQ0_"" MS3FA>A3P:S*M*)*;,BD\Y&69AB'E)1/'00S)@V P0J+VM##F,I7!2^-&_N05 MF=?GJSZI5/XOYL@VC'9SBDBUY:#F5+*7O%7 :JHU6BP%Y M&6H4I'L'J@0'NOHT\-._76@Q>,T>$6?FE:G%M>=8<4(1![WYE)48_>%;Z.J; MCGG9?F9BN^5>>Y9M[9R +$LXIKV7\_AQ6]*<,U1FZ#;P*X%TI)28H0!GD))- M.+_J9[SIZL1)(4'+;*@8WRNKL0\&549#SH?L6*1*OJ@Z-C+@!6^M$(%GE0P1 MI.""_+\_?/?##S^\19L@KPY]-CA'!6U(^3_0'Q;D;_3_^"_(_+(M5UD>_P-' M_P.E6?W;F&F!%]IH6UC2$Q^R#;_ (5X_$IH_OET@:NH,;O^W[Q:(4-K@L(R? M<0*\_Q#:>FJ+-/; 8!=Q,I;W5VXB#-ARK<^$=%'3]D<]H+=9+=#L!;#QLK?< MQU1^]N[MXH<__K#X_;^]8Y[S[H?%C__V^\6[/_[QM;K?:12Q+@-!%=:H[7 9QBJ/+($])="A.PW"[WB8T"^8"+^,P5NW$;!#A MG,I>+-&IS%@@3F7+5K_V186(:DST1L!%%;+Z#. P/C58/%&6B$/Z=IQAO1OU MZ_C"[MC"D^.*\<<4\SK AC7"O4RE:87.8E5-E [!\GT9Y.7Q,&V\2[!FEU\I M%)(3(&\NP*25 \QW* HT+Z[*M"*Y%*^ OE33,&59K,*?2S<767HW<4PB_]RH M>RQ&IH";G/5NBMC&_1;G]W0#;76FID;VY;35))[Z %:%Z<&9K)XU\S$MP?>B MZ<9$4E6G25.&HWVL?PP'WD+)G=AN.A%M$K M]W&6JG*;WMFJ?^[#3[@=M% C^.4V73%,+L.AO7$7D1UK5_'B:F*$-%T7,4@# MYAXW[?6&@PHZ6'XYBD0@D[<(*-ZX3(\G:[\1,#UT'A>YNAZ46JG.YXLAQQ=+[W080 ]S=_KLZ'R>C7_D<0QW+S MH\7PPI5LMCT:<&C7L=P:=%W&M]W.8'G\W.?TQ-%NGNC /7#+;1; M 9E+^)=Q92](UQ=B#S8T/3',NQD]BD<>8=C'Z.#]\ WS2E_N(/[L7X:+Y.G. MA;]F9&O$M;FTN!(:LO.K5H!N$U@I*% _6 TODNR+"HYEFU;O8_FKJO4FQRM: M?_$95W^8P:"*O!2,B?RK-23R#]J!*]J&)=EKX/PY#O'I2[S_/$\-=GC3,;%, M;48%Z\*UXNLG40[Q?0,,""FH>: M^3T;Z0-"&8J*$UMKX3ASV(O3L33C[2-+GU<>)79@0#M<]IG=:VG9 D#UL-SG M0&4/J B2F8H3U76"[[)=D)2[NM]P51*YD'YM)TRHPD5.@K5EC*S0 (L:.?#7 MMR:SFL+R2"B0\ M=2^%J-9^MH?OK\-)&94\4]CP\F(%ZALG/=8OFR(&7?_C-<7">A"49B4M6Y-L M(U[;G3\-V 1Y.7\%A\'.:J3?%OJ(O2AOEA^R+!+WFO=9HKYM4B- 'J^;Q.@>KJN@ M@8[6]>Q(3J$+5J^1H72W_!0+_%C=49RJJFXEU/@MZVBG^)!G14&VT$OE$]\. M!)S92Q@5[5SX,XAA]\;O?7H&@3@(\,L>6V8W>F8/4\Q_@_. EBR[?-F0M2\N M#%<]&GC @OXF(3HE_57 ,$7]]=STZ^'7\*A&\*?\UW!9<(4 7/OKCFR0B=FM MR&1S09942;:A&_-*&N4J3HL#N5.R$*:[)](@ .U^C!Q)UL()XXP7*^C@ 1>'/UEO4^&)6?,LO&NR\3?)*4)Z8-I]QJ7&W8+!FO<^'QH#KS(FWU#@ MN0NT65NYD?^*:W:14UE[E@);^55*9BA<&/;*/2C(_& IP]V\X X(4#ZPA >) M17"HF=51G ;Y[JK$:]8IBUY]9VSS4L<#95"9<43HERJS*K+_VF66X0!?S,PHCVK] MQ5>-;3X-'Q:UXZ)'-K"D;UT[%*K' EY]'EZ+GW!9=[^K]-3VPH/>LS525A'Y M#*=8?8.OA(:.*4H!^O&@!PKHRPI>5'Y(P.MU+WI38(0MM /G) M] 8?9JUB%QEL!;G-L^>XJ)L3^^/1)-H8SU_V8."\5\JLZ+,=@-D\U6@:$C9T M89[WQQ,?IL;ZAZF32&&1B.DF!ZPAU_7[ZYH]9T$1APJY%+!PAJUE7C1P*2#( ME*3AI&4$%ZH4?='BQ\H0*PS-?T,NA]0:30 ?QAU]Q_+0B7)R2>2YXPI^V]'G3 MS;)7A40W3SC2@/.=0<**'N5$ ,3/!G#8L]J:!JJ(($Z%IL3W*W_Z,45-*G90 MB5T7U5DVCDN+[8A%=A;H$7Y*4\A>A1?;F)]?E1'D0T*JG'FJQ@UWJZD%:0L<;RSK7Y%*2L$G^Q+6V%*8V%>5)G2/M'0 MUIZRPO3T19"Z3I4%FG^O@PRU4!1OA+YP-.B'=--+YO53(:U/6>)Z^VQ([5=6 MB#X^(=):H.8AD2?>-8]TOKXGTCJ7&/;.2&MJ[0.=]JV1)QXT MG41>[29HU60B!%N+LH0FM[+7&G1O]AA&$37;#26N#SL/ W.R\NL-/&((_M11 M&"E:OZQ"5:\/\^.BD\> %O8*10T$!5IF29)]A2[!4%]0XT@46Q6'%," DY:6 M_M")ON&/,T,]*TLINYK;" .. M![:G$T9J;F"Q*M99MP(&SJ:E;ZAA.&V_66MW^XP,LXA*YE>Y6& M.28;X0O,_WN5]OC/@3 7T<'>(P'MGO"XDH(YZW7F4I9TP M;/2FIO,MBE/I?A5]H>1010]Z67!P\3TX ;9(>/8JI=DJ:=F/M&3;Y-.#=]G= MX#S.HLM4^Z[:EONS@/PS)-8>5^]UYB[PQ;F_+X.\/#3_!SI%(X&"-_^^V.:$ M\5LF\"]!LL7L;S<;5B?B\@7G85PHG^0-H -YVC90Z.X)G",1H%.Y05S*[U:J MWO6(4T*'V6R135/L=JY*TC&_8]LKE+JPQM1[)0<XGCT.0>6HG/L;%SP1A04_)N[A@([C]^L?[R&#FTRDTU&,A*ZR6-/45@3AJJ?L9/4=I1MQ+D1TSV5:7/B^2 M)@X(UD2]BPB.ZK!>11U53'!B>=#:"CXJC%UG3!D8_%DTG$9_VQ8ER_=^R!0) M1TS^Q_T5UAW^^S8NXA)7G;RYKNYPF#VEC H+I\K4IKF'A,2C2B*]TP]>.AG3 J&U*^7V"J#("&&!5ZNGK+" MJNE'.#K;?2:V?Y4V+WM/PS)^9DL(6:L.@_5-11RT0/Z$ZMFKK#\!91#;GY)U M:2%DYAPU>7KW^X:.0&:W;U'[Y+P=9:'HBN/-,_M9%<:4M:21I-.HD78/;LC" MQA@B]S(N-?TP1 X7^^S*?IK^U<0G]L?7NHWG7Y1"_K/9!NQ'6^6\Y2*LLSC MQVT9T,TM63_"M(@RN8N5K#ZTR.BL4ND2,PWC!'>:?#QDEIYOF$KG&C$ MJE-N/B<:!W[#.:D@IDUF,QCJQ1CZ9\?)VI]9&4ZC>:/1M&W[0'Y/_Q52=6X$ M=8'?-#I=T^GE'[I4!BT&7!2R$$0,)AIPD)A@Y*=GB"+& M I%_)9A79:)5!@5TUCV26&&T#3TX#1HG)Q,N$'" 2Y0&<4ICRTUZ$1>;K&"' M4C?+TZ+ I6J!;, !+$EJ(TRG%*D. :8$J9FC?G%.@E-/@<3 !$1ZMD/F"Q*S MRQVZ)4@E>^K&2N/2_.1Z17X3\]*>'X*BA:>_>(A9SDO]._#TY<'JH>DK0<*N MEC:B@+A6![P;%E0P3$2[?*$3[#8N5OQ([P(_JA;B%GBP[F@EU+Y+:I' W-*" M*Y-K=C&I,5)<+[QJB'04A8I%9K=-]0:"^A290==Q&M0!*,QQ%)=H&9 UYMA7 MMNL\6#/O>4O^QSR(_H8)<)/^RN^,[_!SD&QEZS\#[.$]Q8IYZAU:P-D\(LK" M+?VJSKI4Y1269+-!C*7@6X\5I@NA+7>$IRI*5Q?_!+"AAB*>*4$1^'/3[^9= M LHBP1!YF???I*A"0 (&F,\/D8.LOD_83E#R<8#/O(2%],WR/8DZ9">;/IUG M15G0+@)Q$5(#4ZUD[=$!SZ8<1>R<-UGBPIPA.3'7/\40T.N9%#59RXP*[P91 MTX$^X!DG;N.#<74L[D<60+](1W,>525&F(N)6Q/PJ>*,24Q]L1D5MB=U9O3L MV=98:0]<*S+^G+:.%OE\15\#LY>]PI$HVX:RJ)/$P2-=[L(?C_9%/0UYI+G# M(8Z?Z>V;M99DJ#YYI5HTO3_V\3SQ1!5CMCY8XZ.6 /AV6QS%-R<6X[LDS/KQ#-L M 268GCBKFC7KK1^S3"'CQE>7=!"5R^2GE]7KXMM@-V@_U^#YY%L*H>QVW=V8B==(\;&( :<#^5;$C_:DQL7!?10/?,DA6A&9]K#\\>? MI(PYN!3%1P(!'[W*3L9:F,1"&"#?HB])Z&GJKW&Y.M\69;;&>2W8SEHC!BH^ M>9R5P'KGTY+PQ \M>%2[9$V&.F2 :E+H*Z&%:F*-A\Z5>S;6MW_AR15VEGL\B<3Y+ MV.^$"0 J0V:P<(J)FF%[,$V/$^YZ__,LZ.N*8WEKK8B(+@2.X:JD.!,W#MO'Z@>BTC@2-FG*#&( M==<(T@SR"BHD3*.P_0H)<:,A7V),U<^ UCH*_[Z-Z, MEYDPM0KH[:JGS\2(0"'&4?&>&/)]D.";I;-KNE K7[B*NA>>11;=*CZ*6[\ M2?(!. 4^A]Q73QM!'-2AD,I40O/L/[+$8-+[_+#3?BDQ>BUR'.ON<6MKS]?/ MLZ^1_=QENVF"[;*W7'@/5[\*&9L'.W/LL)V)>^?I ]5C$04<*?L4(0:Q[AH] MFD%>P0Y[&H7M[["7C89\B3%W]7OYXF9YG:5/#SA?:ZH\J,'AXH!)!-&S5; @ MOJIGIF=,+3A=8E*$$UK?P(_"#8ZR-'OZ+$5)(TFDD^2@!TZ\V$3]AI>]C#5L M]:48\$=*&D%D9T@2<-!#(R4_&HN2/L &=Y!Q$E'/8%V^F$2A5J*#G__4PMPL M>=>-S[0OUU7=D(OLIN7MONA>NVAJL8H]4"VV[3.,Z<<9TVS*5)U*33X@^#G6 M3!(93K[$-G5\W*I!73,R.PU2MG5FPXO%B3M-VCTZ,8-1K[J9']7JICHO%WLB MI@BO-TFVP[A":(!HB\!CV=J/WK8-R11>3E MV@>+H2U(MD/N!WPB /G'/H_VK V>90ZOJ"CB2$+20!IZ: FS.S_[M+"4291 M"B\8>IEJCXGFTHXT,*"@1)A6;UA6U4P/H8#[,LA+KU3PB)_B-*6+3;,B#M/0 M<+O9)*PE7I#47?2NTF66KWFI?T-O0UMLP#:';@)V.A[:H<(T/W3AK=\'4^]4W20KI5,!PUJQG M7S1J.22(;>M8Z9?P:=YS,>@%JN&!+7V@$$T,+YCQ(Q+'A2=K[$TP\#:4'T9B M+E9.]LWQAO;-UCJ& 0?./ZR$$=U$BP#B+18<]>RMPFE1)NB$A;;%-LT:IB_*O':F'%JCP]X8^4J9.?"RA89YK[*C3M9W7]FHFV2 M.-U0M_;+:/BS19E W+K-@2BO[&8*>+-R%S^MRIOEYP*SJH$WCV40I_0"KCY* M?I_EW7G=5/!H%$7 3-#QBN@DBPXG!Y-/.I;??LHII7B2+4\(35XY$]54Z8U# M39=-57LKVD.52WK&^6.FCP0SZF5+R_WR7@N9H!@L*F9O'>Q/<30;O8A+FBFB MAH*>WS%#JP37B"$EYFV\T' [*EITEO+>E%:;32,V<:*SUOP-KA MVUNC GN37CS9)$ M?%030(_;$A$2:(?Y02VP[XZ4U:+B JL.N5PHQP *53C0QWQ1,5 '"E4G4C69X*+H9(]_-/\SI7(ZUT53$(:Y79J.\_X]CD";=Z\Q9Y;[[R2TCVF2%60A\(!? MRC/"X6]SZ%8ZS)&ZCD9EDWF19(SCDE6_85[6(0"V]3:*T6GDK82&:=UM M8$>2>[9>TZPS^DHS?DKC91S2/O(M'503@C6NLZ"("UJ8K/4C^K2R9;DON6F: M&T<2SD"G4(5HPF/H@1CY>(9[;L!(\D)]POS#'BCKO<*G"6@&O1Q+>+CC73OH M>VQ9]P_#1&2-#5G5QTG ;I$?*U2@FC\.O$E* #%L]2&2#[9GFH;LT;VU/NWT M8HOKH_V9PF.%SDLR*/HD>31!3",MK+=)-DKM^PE#G+?$A?,S)^%$)[-"!/$P M!\XDJ[*$G;;?KS"M#9&M-UD*_X)7?.Q3<<@8;"4U;CW<2/CQ,,U65-7K-!,^ M^!,U.P;U[]2Z%BM0\6D:F$!H/SV3\+&.2W[$GT:\-,P33NGVI)7-,$M MS<+LA^WB&["P)K\+343+DSQ,)](#CSEK,K6G47 L28 M92ST=YVTA.LJ2R)B4;]#' 7X6$3@B//S*2NQ?31TP <\$'$5LG,:8HL,.QIJ)U#7E^.QF^68JGI.YS0$P M?8PZY*?L0R@"'[\/9UEN^B=GO:+M1V+^9Z*HQD7Z6*I'X !ZA0SR #E)OUU MQW-_[=U.:MFRV[J@(LP[K2PZ+0Z:)B8>383SZ,?/&"%RPNIFEG'.;D)<[@?L M*8 >MKH*NG?2:HL.=\ MD><,IW@9N[S>&$X.L.//2!5TFOD,I 73IV<4L_U7NYPH]L*4KS+-D #_8%TOK%"\,X/3"'S8841@2,A%T7M%$'K ML12"204"1:@G_ ,%5'LZ_#0XF5S3>/SX*P'\1+FXPYLL9S4'#97ZE>" !_X& M$3KG^PI8F.-\+3,]\_F LZ<\V*SB4*RP#WU$[R9#!>Z9T3O<@-E@^N,*MK=> M9C0O',3AYH=CH@;5T]W4< D=H\&!>E"$V1H_!"_61W5:#,C>%$9!NGTJE.! M/2L,_$@:05 ,1%"@4_@DO)N"LA[%*RO2AF$=O"]V9 I+K2%Y&G%'R03M')=! M3KM^T8:,[+K'E-6E! ?,[S*(T,GT4L#"Y'QIF9'VNJP,AV#0^[5UEO*+1K]L MR!1=-?#^6)$VKBJ!O; C4_2IX9D9,0R?PJFK--ZZQ><"WRPOBS(F"VEE#_M] M(#@'D+,K6GT7 L3492ST+.(SKW'9@"UXO9(=^E+]UQ]C'R2/7T<=7*?\_[L> M=BAP_3GNT JG._"0(GIQY*'AS'SHX;$K32 G]--0WM=WOU6ZE6=9XL)V_;86 M;K^[MQ$1K(NW)6?J9LS]AMW>>M@L\L*ZW$,>1+C./*D*G!5W.,2$O<<$<]D4 MZK#$A7,Y)^%$E[-"!'$Y!\[ZM]P45\B2JM%1B^^Q\XV17"JIKJ/P@=)RB073 M@E0L[S@N?CO/<127]"=5 -)A0*;=&@7IIMDJP8'2:@W\2-[K"QB( BX01ZK^ MX:T7C9659OVW@D+?:SP3QK+<\S]"+T+W+D,,"W6/HF)&<]U?@'KO& M4)& 6UH'UOW"[.8F>W3 YRJ.(G:>IUCB MPCQ'<6*N__RD0E^P%QTOY1I2*,M138S.-)3< M":/'>]GZ/+_.I)!*"8F@!%@GO\:$"=YZU]*7M1AP+FLAB.B9&G 0!S3RTS,K MCK'@_9X+#UUHB$@4%K[^GITC2"%AZ^Y9&+X$#*S>GIU54$B/9PHW0=K^KZPH MQAS/*3]DSSA/Z7SS$+SP\T7:MYD^R7O&M*[J!]:L56_DHR@!/;T<)WCS(',8 M&;AGFF/X-=2D"=HF31ON=WE5F*;,4#LN2Z>N1EZ@=FRVF_D VJ5Y4N4X2>Q1 MJ +6A->]E>SF>E>2G0U;=5[RQH=G$?T.A]E3&L._S+LO M2;@(\N@VSZ(MD8@WE-]I+UP,.) 57BV$Z59UU2 57(UO.7D8TH"G+ MDB])L.:8;$4EX*(*V6/WFEYHX&FJJ6$I5@^\V50U!)O5+[T%TF<+#*($.*4- M%[PST;F3@9G^AO+9GQ2%RJTBK07BU)A]-_38I6?AKS]/J!=6V[6O%^@DN.KQ MM6T2G K<@T?]5DEP/Y[_!,D'?@NP_F[7S!R.6/P^R+;S# M@.+%XVP[N^H_T?;89X:)*+S;WGCU;OL3_GK:G**3K6-*?@RQD*1GYUKN9.!\ M;:C(HO.YT@#QQF%,2FSW*VKIH"XA.$^UZ-QJ ;M7] M6."_;^FV]=G5:2UQ(9MS.PC7[A)-9I%9\5.")O&*PH"V* MA%>8-TOZ^/)L1___^R D QNG]2&4 "?YX8)WIGQW,C +@*%\*DVZX.VY]E[N M\K?)CSOV ^(4_?'K^;1!9<^K_ %Z>"US=EKL'P?AJE/Q/ZQ2%/P( S?+Y@D= MS\,_3:/K.'B,D[B,4[V-V=!$1?:9NWCS47U@(1YH3 4JL="K)%@-1IBP_D;H ZEOR75WW/]^'79 M/'X-6ETF@B[7@B[S1I>/=.AY-TW*!X6?"[S<)M?Q$KMLH0:0 ]]0#5:!9'OE M3,N'S=9 IBVW7N4*HRTC1"Q^R7Z5-(_3%FBSVA5DXFX\HUP%M&L/PXE0G#+\ ME!;V3Q#YIBPEBI!XW!9QBHN"9HAO6*841D]9%G'7*G#^'(=5=G":E81.B=.( M$*1+!J+.(,'P>[^I]"[&'S;:Y\V:8UI8'.R>*+O5YQVH&9T'W87-F)*-\WZ7&!MT0VS&FM M4RAU59'PSQ/G$-?3^CN#*^]XX7#V8EE5V_&TSLZH"CL']RZ+)(/!DHJ>M1$+ M[.!VW>W-M02[>\FW6#ST<)SJS 1\F.QLQ91/=R9LX G/CCW3E2$ET3G1\] K M)Y4YJ&063M[F.%WC%4EN2" (6"_0-*J*WZ5/K/1(+<+N8U!N<_)?\PG;:)) MIVP3J:(Y:1M)#^ZT;1+&+4_TM+URR3[RDX[$L;&[\C/-2=L MIEK6O! PDSC(+OO:+9KLHUH/YK';8GB@AVG)?$ZYN49%O2XFA@!@6YV=JKQ MR\QV6$;T*8W_P8\ "Z)77%>V:L_2-UG!WA1#G>3-\TTY5=20180N:@CS.DQ- MU-ZAFK8_&Y89=2,&\\^BE2VW)37^-$M/0EKV)DF8,KA9;8+=^ Q/9:PG(_RO M+5DRQM3YG['03]$BJELC@\5O1_&$2&V)"1F3G5CL1]\51J4T G.[^[M FH2Q MICLQ7+P:)R\//2*!;G-3O^+/.%G%2%-L-YN$S3]DTHE]Z3+=KHQIP2_'/9P, MQ8==FUH4^3ZM#P^\,U,QI#4P5K'-&_\9(]1VO0[R'3OP)SCSIB[0M_OY,X[8 MZRN6>$8?8[$7ORXI"PYDP%,5G$66I"A8T_ A-<&16=FYG!>TP MOB!,1^3 :"0<&-I.VA,HM/_TXI57$GM@NYG*]2;(= MQA_Q^A'G"OE="/A0,,A63'F=(!,V<'D@._;Z!1DJ(%\VJO*Z/FPBY\5]BM.0 M[-5--R)3$O9ATSM6+?*M\5"JP!OH<6QKU[_J(EE\_5O17Z!Z!']6Q//KJ5TC M\\5Q5M4-JXCX'4+(#J',X[ D>P3*_.31I/G$?Q-[@,5)A+I'$< MPLNP,TB&@3&H':L*1VPTQ(8[XH@TO0KS5E$\5&T)38\#5;UXHT*+\9D^0F,J M.BV*[9K_;G"<&C.(7V%JO+I,46KX"-X$J;$B6,>H:B >AGH+I68X)(QW'#%J M5@T*KS^#E@QP"[9N4[FSW0>7!9A6'ISD.[$*/*Q' 1FV#Q.WT;G.B -/. M;0"+_6O]_5:!M-I$2P@Q2OXY]22RFW.WJ3)8EA'T:PGQ/J3IS7'Y0O24!DG= MEZ,X+LZXCW%/1?;KC!E&]&'1,9LBY2N0R8<#7H[, M)(_A#E/HIE./VC32(=NE9ER:;EJ-C)JA):'-[ZQW"!W797?\BWQT8YFE-)>3 MOH*KBEY7?1[.<(J7L6LBU "*/D2NP8J01R9G MYO183%#4RO,X+$RM#NKFF(4:7E\)D\5#3J^6HYC\-L=I79@+K MS4KB<]H^/20:J99,Q5V6).\YJXYQP9V@#Z%AJ!KDT<&5&G" &,:NX;&B\**5 MQHF:**)44476YS Q@U+"%L UX[;#V8^1ZX#:G.3E;1K;9 D.]1HM6BUBCM:%:,>C78LV-6O MU^!CGJXLJ$+I>A0_:]/*(HH.WKM*M ,+T (_7E)(=!VG^*K$:]5K2#.:=U;6 M$\G"TAHM9GZ3WVX(V?Q-*&=<4H/UK"BG;]D^^>=<'>FI526.M@"Z2 M3QXE$T?O2R*&)U[49\G.?QA>XT'>N8V%6 ]Y$&%9US18M_FJ)/;(2++3[PTEBL*6*E1)JDE$;\0E1%!%!=T)XC)"2* T MD[0_<6E3NF?#D2R^S""T_AL'T=^V13F^4.WH*;K3P)4V;M6=ZJF X:9F/?OB MM"R'!)F2=:Q(KLK$'L&L+[ 7QW8]( MCA\&)F7*QM0:-"_*H?7EJMG3UD8SH_EDPH.!7V&.H$HOAV< M:MU%#>[38:G:*52PGAR0:NU%>C1*,Q(\\86)Q/%M!;-[(,.Y+9A;#)_6+3U! M#,OD&MR3U/S8+%8KAY[J8K'SK M=49/+NTD;L0"M"\[@3HVID>!L3,;GOJV5F$AV9&2'W/\Y(+-X#]%7@J^0_[5 M^@WYQU\_!G_+\K9J1W]B5P$=WBOT[%(GD$,<]A;HY=>43>N8=Q/2<3G-F=IHS3YSFS. T9[XXS9G==SV#=AI; M/KUR&ENFYW2:<[/3G'OB-.<&ISGWQ6G.+?<N(TEP:GN?3%:2[MONLE MM-/8\GGX8Y<[6EM&<=8F_ WF6*7'7'V,TOSAX,R/WW^'.A*7,-F>A@M_!#@( M[XW>^\85#/3*Q9%=SR[0KPW5!W0('EV?]\30WIY?@]8:,+%CE1E_[4UY@9'B MY/-<7H[QB5N#]\H\>0A7G#^>#D2A(==C+B(-X],?<]UZ'T6?<^C"IJ[.$A[4):D6 O$T6:?KPQ M:Q1SMA,8?Y_COV]Q&NXT6;-6F!XX@UDPJ9FKT6 -V,17?_7?@J,&WHNVXU71?84[G![0 MX]RQ#+L8OQ?S]\@PF] MDS>RIMU0-4A>K$"DR_*^@,[;>@T-#PS315CC[DI%P)]MEIY#W:FH8*Q>K!@: M2:[2S;8LF-^]M=OHRS \,$6U(%+#ZX/#FIF*GYY1,1#TUI?UPV !_+/_'YWM M_T<_[?]'-_O_T3/[_]'"?'[TV?ZM!/#$_D=<"%X;,I@F'L,#'YM265-?+E^# MIE;-((%V\:_HBUR/A&A"BOKJF0WG4RK78=7GX_%_HX&+N B3C KL='0MQ??M M6*F-X&Y^NX9,WC5UE" -F/ M.1T;E1G:$ E70='!>[,MMJP%*R9S0[G[EG=;I6AQ46P)!4(V0,4&A_$RQE5O M!JA7EF,46N.RF9MC(P%=C$^0#YDG$!$EU=)[![Q%C],@#6,2=MNM@/VT;8T- MN*UV$["S8;9#A=D*N_#6#UPU=F=?"[$P-LWXX^3D\W\BR#C#(F"T#[:=O6_S MC$P/Y>Z62%&2Z$+W ALZ?>F>5=BCPWFAJXBB&]KB O>XMV&N9Z UT@(Q-#;O M-8A^/%Y0RF4L^6V%"6>3#H*)YFB!!F*)UGRY&>'"G_+@:@_K5=>VU8V(Z:$E M]@6SLL3]V')H94HK+KUG^&]M$,U18"[*S'(\LQL)2?+ 0.\OX&*3;91"66W95 MYXE)O-_F:4Q8PB1HOH]?Z$_Z+&L= N"6VRA&9Y>MA(;96!O8Z>^E:P069)85 M"O".,EN67P,F0_WC!4T(R9B1GV>%X5F* S[@GM)5R,ZFTA899E?IQEW/)FLD M@,I8<:JOC-7].U!E+!F3364L\8^'KXS5'[T_=W$8Z.0T1W8]W3M>&_++;! ] MW#GVQ++:.%Z#IG?9LN5ZBG;M30;6: GW=\2?H!L!*B7Z7.#E-KF.EZIC:RM, M#SVK+YB5:[5H?OG6/E^N9S(<'U$"OCJ74<1&AF?HA3M+<+E:;X(X9RN]59 _ MX>+TL6 ]4(5:K%0A8:^U(C0<]$@L02! MLB6ZSM*GDX1X352E2L,Z3\O"(2)*X&29Y2?; GI>FD[,I/6W8+R_*9(7R30:8AP5M%G[ MY7J39#N,[W!)6(BS]"%X.<]Q%)=WF&49R[*C' D )3,.$K-):G3"ADMN',!F M/X=FA5&PICW(J0F&-)T^9ZW(B15&_/B<9B*2I5><4;LD?V7DR'^3H"1 989P M-3;Y734X*H,7%++AH1(5IU!.38-G9-944$,&$3J($T(5)E%UG[9VA1@ MEP77F,1*?(V# E_@(LSC#9=6G5&EQ8!; E@((D[\&G"0Z=[(C^01*\58((:S M0 *6'ZE1BSA\0Q8*9+U" MEL&4I0>- >9R%4W^$T2(#^9N1*.5=5F/65+7)#]3XAOEC=\ M69M=OI!?1 X!1T,#VM<,B@]N+ :G84YL20':A9T$U4^< M/KJO W^VD^F1N>X8#=22'Z7;WN$4?PT2NK2P7\YVD7QR3IDX>G\4,3QQP3Y+ MMEY78;*EK'=^92%6UY7R2AJVDO5Y 2M(YK! Z&!!.Y%1(-.R5$#Q9B':X\E^ MZ>F=)[E*MK^<]-*9ZKWLKW&YJEO'WP<)+LY709IJ:\/;H8*V&[46;:_MJ!$/ MJOVH)6.RMIT,%7TEN*A&7B"&CBI\+UY)FX34/I2V1?;7*-7/I>TPO31,[:-I M2]/TXMFT*-3#*L^V3ZNKE,9S',5!OM,_2K/#!7R0YB)1'3%DF/6V)%_AC=19SCL$QV#QEQFV)+',7:YM2H?IB<2325Q:GPP U.SUC/ MWCYEZ4GDB\T]Q&NR<+U9/N1!6BQQ?K/\D&7137Z/\^W#>V%)1L@@ MTQFYST&_1SR#B:$SDF_S+-J&]*UXM3"Z*5>& P$]"FBY J,H>W4*E/!0!0H, M#/7G#@J!_+/.1#0T\I9U=8\P9QE%+BGFC.*TR].P)YS+A"N M4?B;O2Q),.UHSU_VA2GD>U((50XSP<-7PKLGOLX>P'S V5,>;%9Q&,BR 0RP,!7RC,S7 MU?*4@ >OG&?@I&=/(MA\Q[0F(\%/^RQ+CV,-L$!&8F*^,1(5X.&-1,^)P4CF M.S4UF,EI$0>W >WN%"HK:TI@8,Q"R6QM#CV @YN!@H/^0NGV]/SP7_M3EI>K M4S)_$JM3?FX9$,SW5K-;?_ ^Q,&_N(H%R2TR 405)'"%^(^7I_KB\ ( 8%WX M'IN=DO#-7V&JP>\-W_O>% "X;%E*%K:$[*YM9V4H^*?% "Q19A:D4YA,#0Y3 MCLS$3[\Z5XTA]$OSI\#?"'D\<8B[X.M'LJC/XR I/N'R9GF'"YP_8U7JC VB M!^YA%$OJ)4HL6&^+][@*2*5:UPB>.-*O6?[; M5VM/SG+2!%.XO1DPU$\ M<:GW<1H7*QS1U"HWE])A>N!29L&D+J5&@W4I$U\ZEZIQ6?ZH1D&Z#U"5X$"/3PW\R&O*40P4"RC@ M&1WR'@ ?\JQP;O%2(7G8A*(CCE7_"8;A5^L)@277KA,,U==^$SJY>$?RC=C. M!;=B/6G%.DP'BC#LB_*^F53P5RZIH2N%7NH>,+C#*-B7>,D>)*1K M2%E16DP-W3B#'QY@)\1ML"-4DY.Z>T\U@\S2:JIBK#G(W.-? 0/TJD'%;/,@ M81\ [BV!G)/^&BK(\QU-)W\.DBVFK9O(@HKV!T1<%84AOPWJ"#I&F03[&A[%K3,<@):NF.?,Q^7.*>:XWH5S]BH*G6;X.$I0U%>/" M74C&CWG/-)Q_"_78P/)3U*'#G($Q;\APX=F3;!'V"DPYR2M"H@D);IJT$T>< M+O48(-.F#4N*YWRZ127P/#I<*N":"(3VS5)HR:*K/B2'!:R%H&.^4P=!!@A3 M T'-2?\^@,#2.4^ 9C,H+685"+]C=17(9H7-OCX4%1([_)RF$>%78%?D5GN7 MZTP%,KB&?\>D >W:D M 6?-@X05;=F) (@E#^"PG\QY>G'RYR"/Z(TM+4\P2Y6!(*)#5 40WIX^Y9@Q M*34T*PRH=_]6@K0/^+7@@"_Q+?B2=$F."[1F$*@H ]K_F&Y^B?V@E6 _Z"T* M:GI@[]^'R$<%^;-"$.A;Q/[#\WIUOC/<,%CB^E7M6BF@)8LKRQ@A5WH?C(4J=$SUT=6.0.3=1")X;3F M'D$"GXJ&",XSZ#I(; -MG(T.<'(Z7!Z[+S='(#B+DP1'=;BJ(HY,. 4@D.-K MV6X<7@H%Y^@:=DP.7AG((Z/ UI;TM\23E_3J@][6;%-B-=1\&/$M-:K:] HH M!W<1F,.V59),D]\!_-F%_=-1'PBX!B:7[ [38Y@X?;IMN;YI;OT4"QU+7,": MF2["=6IIVB#"U-BTYTQ51XOV!ZNPD8".6OP%XB8-O)">0%:6Q, JVS73:55" M#/CM4U84-+@0J7 :QKAXH+?F"CVH@ %?/&G9[SQVDD+"O'/2L-+/GB; J .- MOC!XX*/JGA#7<8JO2KQ67>OI$#PRH)X86B-JH/TPI#UVK(R)XB"&!'U>X2S. M>;9>QV5[P]-!]N!-*4VR-AS_2>" WX_*F.Z]&A6!X-Z*]KF0OQ!=():K[\W! MG"WS/!V%=QZ-4[;D&/UD1K$%WVN/>II&O(MPW2JU.3>\#7;,X2ZV^!-^*1^^ MXN09?R2.M]H/_!/2!=K@3ZF4YCQ@"J)PQP?3<:_:O69+8O%TD-\5=+L:%R'] M-5DXM\F?;&O+W6+#AV&_:5,OZ62PK/GBD$6U\-X$,:O:FQ*F"$Q!JVJR;,YE MEB395Y:X6>6#"G_]KJI\C&G>*2VLL^8/7=*4[J')N#%] _1UA=/F[_4O@YRN M]FEN:5O6FM,OZG*Q5.:*74HM*V(F)!>$*+(]TQD_/20O] MHPEQU%#GW:2%&Y9Z $1&0'0(Q,= ?!#(XYH9E42"]N]]"?VTHO;#UVPJ#33D MCBC0[ZE@5'RO:!U76.\P/6A\B>FN^^>C@36D?8^S6Z(0$W7_S*G3'SY.NO3F]8PO=@A+& MAVY"[ A#=\,U<.B.E_\=N0\4N=6??'SD)K2/,G*K=4)B[A]]B=RG2R+^U.%[ MC^@1Q7"I.D8%\@[%XXKF$M8/'=)I99J LO'?X?PPX=SFFX^)Z8S^\49V&_4\ MK'".F='Z$N2GDOZH0ODDT?NX C9(C#ZFZ#9]0)LY@-&W:Y,&,.TCN-6/$H/:J*^QS63.MR#G(KB$40\/>N3AK^"];AG8U "UEC' M'S4=E>P80D7JB).?]S64N6' [.KYF?;QV5*!V8X#%[-4N['@72:X%1I0E'00 MJ8F#%CAPDQJ;A:K$,.Y"+M>'"B6LS;XJE M-^(P$7[%\=.*F-[I,_GM4_N6E/WQ >?KMWLJ&4X&L'+L0)$[M60=:2'-'I=2@:]!.+3OWVZ\5H9.@$CUO1*_NK@@Q](:>7!;? M>NS9%]4L8*%]= =J9C*>>K1'9VK,E-/SS;"63 SR[IH4HL06JR/GL MVT.D5_AVO11#! RX-1!?:>!QD[0K$3A''B:NZ,9N%$"<> B+LA;%K!S)$4W- MD\I]=-.R1GK[2=F5B)>>;#DANU'PS9/MIR.3)WLY%4\JN?_3<'?E08LC6"U1 M.* OZV*1;?7*ET)YL+9MV3"O7BFL5TM3*^:YU8<$%+H:3)SBF^5YCJ.X?!^$ M["A+6VA+#0]8'<8D1*=*C H8IEJ,GIO^702MB90M$<= -8H?E;>Z8F@:Z<@ M >N(*]GN% WO0<%4"%>PT2]!M6\A'O3%Z3+/&YM8R5F#^F(D7=;59L+A/# 4 MD1&SJ4S1F&I5Z'+_67CUA3.NO:]ABE6:.[-=AU_X4K1P@U@5^!.Y8 M(W)M(9@OIF^R='##5M9=39].V$%IUZ(]LEW59GI;LEY2=#M=]62&M=PZ4?=F M2;WH\H5N]+=QL:*_I(<"JM!N@0=GX]9"B89O1 +Q!DNN9$W?>?(5<0Z*B;JH M[ 0*JK+?:-ERW+P5T!1(&9,T3@(,O=.A?%7-@#_D62$OR:J$A4KQ-C#?9FXK M $3LK4<:>:!B)KX(UYF.6W*$:QIZ_E_X B]J8_DOT5D:[".M^M%_;8.+!_: M749V%\K=N,) # 7T+9N;&!2LZ?J-;NGW&5EY>?341UFZ2HLR9S;YN;6:^CY( MWW#>'AUN(G0549P/;7%!ID4WYJ36B%K\!1(H-->7I-S\0F$A:_A2 R1P7 MQ9;=8+);'*\=\CS(\QW-7I:]PK)#\<7QY**HG:T+[X&#R1C2S,8\V!]@BGK& M^6.F7V0.$.0VC],PWC0]_'SR"HGS#PT:_OB'1BBG&FDKP'MWTZG(9Q&=*/*@@?9TK$G0I%LOF*L M>A93[/4A?N'(](4/U':J7<6K3K4Z()"MI?JL=IM)M7\':A^USX!AB@1Z'.; M[R=!#KO0]7.-HF^&9Y7V;A;V>[\R0HM"WWM!APMFTA MB&CJ&G 0RS?RTS.L&H.:$\-!CSO$L"9)"E*^5*:;G.**3"HX.DTCX31>?9]O M@03V2ME2'.&-L@$#\H6R%6N2]$2&QU8*.&(KAZQ%A7M8/$Z:JU8:\> MQ3G>;\MMCIDS,U38QHE<"<#YU3!.37EF0B])E.,DJ-I2W]U_ M+E#!J=-_+[D5/_,!H)QR*A5HA0-.V*7KR)OEK_QXX2:_H\]T=(G=:GC U%V3 M$)W\714P3!*OGIM^)B];]Y.=0(6!2,AG.'ZD?\NDT6>!ZS \LRA-3K@:W!^K MTF>(J^UJSESQ;+W.4A9#I8A/P;P7L9+)<&U(#E? @L='.?.2R-@%A(R),D[4T9"?MWF4\^TDA6CT M=!&>/^,(V.A;O[V(G^,(IU%QBW.VD[W 84+^$ZDDMT(%= D'T3H>8H$'XS#6 MC*DLC^$N4(/-ZAL@1H#\MB(![5##I6S@$9$U%)S-&Q\[#S9Q&23\H.BNB@#O MLYSO7:^J"V.S9FSI>.%];D(K7-&."+1?NG!I<-**%*H.%6MBXIEB3<\?CQTE M?R-BP44FT[WHQ$SRZJ@F-DD.M[O6W>#J$,#7CAHQC%MKN.M;$SLN&^OY+F_K M/=%#=DN$7P4%OL=YC(NS.QQAO*;CGF?I,\[+F/QX2TCA/*]..=4;\"FH NW4 MIU-(LZ4?3Q)N[S\5[SUKKPG38^Z:-.*TT1EJJ2.!/&KHU]LMTVW5O&<+1ZZ< M$6'CE.CQ%V(W9,JKJG=U'Q>K0X,M)I#[NPG6N+@=&IP;N_#7;[Q!USP5-JJ+ MM?5>N\.ZXB@!W_WP]@_N L&MY"P/ 95(GJWH;(X%%1C^K.RL#PK[JSOOS@S= M)/O5IT/R+NN?MM2%;Y;W.-SFK-O">9 D.#K;70;AJ@OKHA(WNIZYVQ"E&#W2 MA:@_3NO.M;U?+Q"GSBX'&OJ(#T 3<^D0/2SP5QASZ:E51G6(0G-\JOLU% 8I M;?D=\M4L2_3Q,)IRHQ5B_Q)S5"JP"]OQK&M?:## M2".!-GN7P*@C3AZU])$P@!\%?FTU4PB<\DRA =9Q1!$)^9@..> MNSBY2-'U$7\VU7-HANM@PW40-"2 IU:ZL#\+"AR=9^L-3@MV''E*UP!/3*JS M70M2E2D[)5L HH,HIJ!!\@&G. \2^N([R8HM^1ZGCT69!Z%J>S[SF( 3\B&4 MV9FKYQP09AJ?7R+Y2ZN31TH1B:,B85BZ^1?AJJ$1&WN!VM%1-3P2QD=?:@Z@ MXQJ(>NG-5J6V4!CU2 -?[L"*K=^HTQ4N(R/5RT)\N+Y EW8U MCR=4VGT9Y.6QJ^T,/\5I>C#-S3>3CO!AHK*.GO;R%]&;.*U.ZH$;)HY63KO< MJ-2T+5=93LM%S?4Y=",>\11K5N2DLZQZN..<:$WRS#O7"KN*>MIMQC_V\.>L M6>M9HX8SJVI$,MU#RLE\^K(*T$E&64^4'7T")@'X( MOY=FZ -3<$F,_D@O#]6H?RZ!@FZH+@2XNMM"0 ="Z7Y^1'=YQFH.H6T9)ZS. M)?U5D&:4N0Y-1@OJJ;7OWV?^;2NBK+)_,KXX)&+LUO,,_T-).*YG%[!"Z+Y_ M--M9FE7-80YR'//S.=U@T?2IFYQH:(ECPO=5RJ^#(.9E-WY>R7P\Y"/,-@^[ M,/-ZYE]WJ:'FW;#FE*9I+6M>49S65[!9&]5YD4"P>B?>?J0S_>1[MNO,EIW) MMYY[;R1S;\,?NLE1PR&Z2NL, 3[A/LP_X5HU^/'P\]33K'IN;]"7PUTY2-DD$.Z%[/A&66TM<#N-G[+,>T @CO= H][@N-]T>IE M .N^/I.NI2,=[R2G4=R4TYQDF*.U3Z&OJQ5'$C-.M+Q1B^-XJ:,7I)ACC)Z*>68-7H)H\Y^PFZ^QCV\ M+C71Z]4=-%37VO1@9=:#!LDXQQO%E$J;,H;U!CG*"*:08M;X)8QYF(.&V5=> MMEJ41"[J.2IXID-5W=!' M&0&=9#O< 6S-"ZJ8V2NB^KI.9@GF8_?.\GU/OH)/=^-W![.H?%)F/ MXR37I+M:3M H[,C$$0?B0>J>-!8[<7"8(>0$O$9M.$,":XCR MYD/ ]N)C2(*W7&O7\5)^$WCJ!"\+)\8;O$8J?,GP/8.,HP_=@ M.0'7V*\V?$_W,0:&;[]6W],DP5P18>.TB,-?@F1[@-3#_?&.]RC#J,29T@N[ M@QWE<85!FL.M?9O1$1O>AP!Y0+6>/CWE[-7*OAY\7;&./ZQIS\@?LC)(#A+] M[(8^WD#HHMH9#G2UXQYE>+07[!#+S.YEVNN*F",T;1$\?4ICF&;=W=7, ?;T MO0%?Q=9=H<:9=NA[HQW[1EPJSN'VVQX&P$/JU3[L>;!-#E_'J(I^4U]Q5"(4^L+&^C^P/G=+)/P4 MK/'I2ZPJA]0%@;-\&:NB\8I_![&_/@,]$Z(@B,*@+Q3*DX]_D='#5(-4-1"\ M 739E9D AP U I$%G1EPN'&&H*B._? U>UAEVR)(H_OXI<0XO?S[-BYW5T33 M:1D_8\K&1RRIP>&.#E2;>H"(36EI!URXRM#.3/9LC5! 944"%9P&PHP(BFLJ M:$-PH&HOCY?QW0]O_Q5=KC=)ML-TI5M+Q?SL"T=5N]B\2_\#B#AS\+BDMV]# M0X<)&3YPV(DG"QMZ3"^"A@V+^I#![EZ]#1B#Y"-#_!%Q),^#Q<3B'6B5446I M^S(+?[LENEF1W8_S6L-$!#YPN(FK6W?H*7@12%Q8M5R#U)-906FA347,E\@R M2N#+^]M;#VX1AERU7,O+JR +A([P\[:EEDJO1ANIQ77SNL3W]:3[Z M0H= ; RHN1A,2T<:./::L6Q)P,_C?_1Z]\XXSA&&%9/2)HDRJD&.*^CHI3A, M.Z5FT&.-28Y*_!B\Q.OM6NCM%6;K-5$B7[,57"WK8(<>,8J+8DN4N$TC EJN M^$KN2(/9+<[IQBEXPC=+(4^/K0(KI4S]::R&/,(0YZ#*2:*=Q7C'%?BL!9HC M!K:#LR*_[?"(C8\J!HXU'@[7[6F:TB<'<1KF.*BR[FC0,[1!I$&2EF%8T(:' M@F:%S%T4!INX)+19D/4@@(Y(6/D%%T+SO?=!G,^:BJ8>[G@3T4PJG#(-3376 M42:AZ869-06-#RTFXM+A7T4*FJ-6689NU?PUHGEH2ZJ(9XK"PEZ5A/;,J'H0 MZT9D)VN+8K(_7A %-!J;*4?:F8LC7%*.4_A\7SA8)5?5NOLJ532!?I_E3"6R:YY#C IT M/WDXA387FO,/"7<#>BC9>EYZAS<$FF41TUUEO9O3K20[AF/A M NI*%4R##!J=V4TX%5SW$NI*4'K_++C?'AXR:01,S54 WWHUIW05<%?Q?II&\TXJ+L,>VZSBKM+QTXK]F$8?#["FE=[0M)8YT0Q9W^<,J2*OM MH6+7"<@/W-$2^$<0#YG F $Y;@*6MI^+6>>95@PIWVZ2T%QSQ6-UL>C&>,(0 MVN$2M2PM.L0X$F)\D9U7D-8G5L#G3KY]D<]IWI#@EYR5 D-1V_B%_OQ:@WEU M?9+EU:\HG.I6]-!,O,*PK57W06*UE(/7%: U(LX8E2DGTM#,V6$+1(&AUQJ+ M793?"<"RH+M 7_=O"?@I(@,(Z;UG65%2[C+UE" MR"1QN;LC^^6/<3I'VM\ !H[PQG:PFB>YK'4>_;CN:0>*-\?A1GO7B@1F:$VF M*FRT_"#*T )5+!WKU>Q4NF\4]-P@F77S:D+K/!G5 QAXW:%UAFQKY]%?;6B= M.Q-[0&@][MSLJ70O#ZT&W1Q?:+V+B]_>YY@6!L3D0Y8'7K-JAW\E8=5"Q;,% M5^OQ*:OR9>I" MCT1ZECTL=@B[RY+D?993^*E7,>[C'^'F8ZB2IRG Y#CX<6T_ADDW2VIUEIYP M5MKZIPTSG5Z"Z ME"%4<'6V)N8E4W^9:MZ&WJN_"@N]K#JQ<=I /4P_]6L-I M5[6'BZ1\W%<81$7!8.-G_8QEWL#)<\XNTP@N>&I5?A8DO)833B,:/3F_A]#) M?1GDI>]:><1/<&^%P7Z$9\%7-&GMJG'FNJ$9[+3-$1QR M>>&#H3[(T2ZB]8HUB>UW2.N'][W'.]U"7U,KW7GX(PQW U4\2?!S'/NX0N$@ MX>8(C/UH*'G]UR\'.%.D_(FK/&7/^^=9,T^C^5_TU?X\GR^FT4'O??M><>W% M<==$-"KI?98O<0PYPT@X>(V3C%+1AYEG>L._LJE&(1_@;--P]$\QX=CJ_YR> M220)CKY?UAA>%9_:ETLX;=FK]%@U@<>W>1SBTT>BF2"PE[OE[9)L-5NA=4_DT/SOR]QNEA MX$>"R![X9YL>!DE_J#T99^Z?=TZ8YN-4*1O_-%-"=8VV)1_;O_G C;G7.!D, M^3P'O=^WXNR530/NH@]K4G6F:U+%IX '80I S54WRG(A&^"?=4*8X#-)D@>\ MFQK"%8ZV";Y9GF<)X2'+B0*?L;C5/$UIKG.H^/,#^:D(0J:R!]I:1?6A9A@( M,&3/IK9.^)U\%)A0.I,8_;!8#43/;CM#=8].:"<@^C8A5($@<4#TA0VIOH0> MD?;SGUE,(@E^QDFV89'I*<>, VD1"3L4H"0:2U&:7!<#/%Q*BA5C/=-C6"AJ MT5!0XT&U.QLCB("&&CSTA6."YF-,+M4,\V^1E\+<2_[5SKOD'W\]S[:T8M)9>K2*IB#SC=Z)OJK,P$445CTA4*/"_2##.(. M;XC\*[)$;:QR7XZ+;!W$^_'*$1?&=)R%J^W)&O'@1N;(F8WE6B@ @1846K:;9804"F[QH&&G?W_$8,E.NP*&6B>,X7E!NUU_ MY\7"P%V,/2E@-^(3;(VNXQ1?E7BM:NDY[1!PF^\Y5"5NNZ>D#[+AGEX R10V MV?::#H786- %M0Z@-\T^<8ZYG]]FW2QOLZ+ 14$XO%E>OH3)MB BW-%3S8?L M8Y!NEX3];8Y/ET1'_VL;)/$R#MDD=[,DFZ8XW#_5FYHXT!IC6&]A9FI(_VE0)!UD0P8ZW&X30*"A<-5FB79 MTPZE682AUGQS?]NJB2;12#L"NEFB9@QT5W\R81C$QD&=@2@6'PIR<7DX?6U: M?9%_&4R<6V+/"B.]O@X\GU ?3+"H!.$<[M*.\)5N MQ/?+%\)^&B3GVZ+,UN1CD)WB=98^71.!HU.BA](R*6(841\2(,:H0Y[L,(0B M<&+#<):U20PU6425CVK"J*',)A!*^X011YSZ)!D+'8LA^T?\05DF0?UY?[\%P6[] ]P7ZYE2_QR M?_X+R)>KA^U]N3^32(K^0OX?U->[N%2P3/\ ]_5:ML2O=W$)\O7J8?N7>C@G M*\L=U+>[_Z!@F/X![MNU;(G?[OX#R+>KA^TO>L@^.]AD4Y:MU6K:;DU8I%-Q)J88=W4EGD"0H8^^ N)T MYB"Y2'!:LPW=_M%IRW]M2,X93@ZR:>0X%73[20ZC!=1J<@RS$I\<=LQS[4WF MS,0*^8"SISS8K.(07:7+C*SK:>@#3M#;YCD)F^]QA/,@8>B>Q;@ =F 2ZP8SV5UB<%*IH+?C)7N71(?T% MH8@JDNA-1?1;^.JG\^G""S_6"Z+7A0D7W%/MA).XIAX1TA=M.%,ZWY[/R5W. M#S\;)"=#\L*MKM*0S/F._J1$ G3%%'2!EYBP$2D$.,_2,DZW&^V$T_FN'I,4!^U M84WMCA4VY*1JZW2#!*V0_'"OSA)ZF)/9D8!W-1=190YG@P_J=O8,JIUO?_=W M!$XX0FP/]H*&^7O8K.^#NPWP,!^=:J ?>;PC'"89WQ+ZL3:\7"YQ2!\6-R+< M$3^6+76K/]UA:KAQ$O.*A_K]X634X7QP8@6)OCH1:1"?GI3WGH%O0ZG@CAJ" N M=LFE3#%[TEU'AT>^V_$_0'S*T@A'6P+VF.!JJR:OY'Z>%6Y[FG$#^1U,AJG- M-<2XC>)MX!DBQHAPU!FN/A]9(&6W'CKH,86I2=1Y7V;A;Y4V0@%EC@<(0X6Z M?,'AEN*),E7?:4]_,XX#]/QA3J4UKR?F& 3N\<5\TLAJ;-"_TB8L58F7*":C MYYA\5#+YEU\Q3E&.-UE.GY"WQP\(U\>UCW5Z*:L\0WX;&B&IGVXIU.,.!9M- MLJ-9 VQL@E.4<=@L/]KMBD"0[E@*6O5CDV/Z[^I/;Y*L*+[E">]AFXV0M=D( M05GF\>.VI*4,*#ZN]=6)'"CMQ-V*?;!W+ \U] "%N2Z@'8;P=O7L+,.(^,3'HHV)FZM&"EN]]*1U^V^N>S.C&'90EXY)]J]L;?]0/G_(P6^#;/ MGF-6IY*6Z6[WK%/671O6"F2]R5+6DW396S;0FX(X>"0?HXRQZ5G(($J0C3T& M"][MW^%,!JA-QT ^)=TX:DKT8$BVBF;W9"T]?])TIE,"E1:SF,"T4&)". _R MG7!(QO40!GF^(RY/VP![[>ICG-M[=Q[LP/ZZ[%@G/1*GM'R"1D][ X;QLQ_I MZ(T$UM^5/;9NMT"]10090, M.K>:'0[CA^,E_D0S1!H!Z:6+3]-?3[ZK])E$G2S?V2I$0/#([WIB:-VL@?;# MJ_;8L7.B!LDWCS%)8V8KBR)>>1! M3N)KOY\"JG5?2GYL_-!>_-5&V&:K)^N:W8W1AE G&I6]S.A.7NUO" M;$FDN/S[-F;M36QUHB'@D>L:Q=2ZJQ+;#Q2;([I+ MO,EQ6+V+HI(%ZRPOXW]XD% A61P0Z4)<%#2V$)M?$?F$=D?V:PP#&8^\TU)D MPX)52\,/3[5BTLY?XQ15M%!-C%FV0,XWKQTF?4&)=5%,>W;Y M-JWV5PIB]A>1NWH$7CB_,)AG*(^"P82JBC>KN:O\TRP$/Z!V BU!-7K\-$ER>OCUW M_?WDFK8E0(]XF=&6E0DSC^K9OR0GK^!-+/>O07H9[4)2MORRDF7'L[:9)]GR M9%M@E-2<0B6XC]"B-,+Q]JHW2T0(-!?44(>(8R7DPI"/W_E4GBV7/N1987UP M6 %[M&3IL*]==#!(/Y8- BMV;L$0/*FI9"4%^YLDZ/FV6;!^%N'Y4X>!SQ=\ M?9(P/#M>ZCZ2-P,S.=-/7+84/]'&\$[N9"WB+[ZE_?=$^82MM] ,U"._$5C7 M.@J!\\,S&D;L7.$3+Q%Q.(\8/+U8".;+M*+(CQJ=F'L<^;CCTG ]S[Z=).GV MF#)M[07NN&'2HHU+[S,?JP@ZJS ME?T3DV;WW#LU(7\-U$S_0QO%CPJ@11K'OWP:&7OW)^'/Q%_] 28!]H M*9$'#T1KIING=@+K!CGE*/ .H1-%6\A=@/>CBGN/(0>?F/.@L>L3#\XUW!WD MVEN1^N$LS'=+W M#T+WA:N+J/#-@D(C[F3@/&JHR**+N=( \;EA3&J.P(4B0'W/I.]0PAP'M(#= M!>8_?;M G#3P\ ^64]7!+W]<%A/+$ADQM*&. JP M%5U4U7#/Z=R=[S[B]:/ZJ% ."[C!TS'?V=;) &$V7XZJ;8B.&#IU9,%Q"O\N3.-<)\K,LD%L5(,^*_CA7O/&XG,]K MK]ZCEN]^^_@W')8/V>7+)LYEB213$?7HEF20.@86Y))0]...90#+X\MV+5!% MG.8!M>1]>P YA6Y,(6*!OJ[B<(6^Q@E[Q1WG&,5+E&8EVI9Q$O\#NO&U@U8^ M9>4L@41%]RABB5XI \.)G*CO$47']11!A= _]L#BI"*GV,+^DCUC6DD[PLLX MC4N_W\^,?W^TI='KR\&G&4ZE(_8P-',JNZ,=/PSAD1Q MPC"O8A[IR?-*IY0%;S1:B?H*)ACSAYMMKN$EHNK17\G,8]:G:1)";T03^_90 M<]+HLY"]_F'+SVE.?O.4TE,:HI6Z'M;E2YAL(R(Z#PC%+<[+@&RXTB>JTV = MIPS\#I?;/"WNLB1YSQ6CV#_./RS<2M,P])L@YS&&$DI2D%(=EKQV% M@5GX:\O?-8-7*;\%:H?GD90SP%N;<1;0%\H$JKB ODH%TG)'IZ70!YQPG511 M=8[E^IYX51G _>M5/2C0@MG >K/B5<#!+5FU#&G>9V\5-@+VJMI-D%[8J.'G MY9[6T,VBRU3];'J$&,)76""<1O0S[7 PUR/7CDCW99"7LPOUB)_BE(5OVM)M MA?7B31^)ZM<6=[C8)G2U^9Y$@%LB?W[+M$! ;[,BEO5&G8ZL7Q%NB$I,T="% MIG>1TYUY;16,]E&/,N*BO!Z*UPBE?]O40Y!__893BK^A/"#NK@PFY^L!SP+V M!/I3!G?Z2JQ2Z%U79VP Q$=@*,T8L%4TYE-2HPFA2 HW$1I4NT9TP!!;/]F; M.,2ZD?4KQ Y1B2G$NM#T+L2Z,Z\)L>*[R7^2$#N!_C0AMGET"QUBK4XJYU-1 MHX(]S AR(%O-/&5:2+FFL"-)MB"_#BF;LT8:<@?I>MF/3"_K:JP585#8>,./N9 =Z/4 Y^]#'*:M$3S,NOFQ7%H<% # M#IPW6@DCNIX6 <3/+#CJ65.-0X_-N1LM$,/SQV_^_^JNI<=-& C?^RM\ZU;J M+^AAI;9J]X+:U=*J9P+.+EW $2:M\N_KL0TFF(=YU9-+I!#FF1F#O[$]2\Q2 M)GQY#'%EB!Z39N:(184G2P8,&LN3#@F*3.G5R2E7T#UEEIE6F[$V8P;PGU]1 M649%U;26_AJE)1P53A^BM("WU*=FEM8W=9Q%[@GO66!B@_/,H/6'[\Q6LF>7 MRTEH)GL)PB+G9T%'[C(YI6*%O!3+P^&AVGT4W.5V3UJOB?ZKY/OO#K_>$9J# M:05/@(=L7TK)@W2+FFD:3GZ7:ZXW.:"0I_>BZXA/$+3Y.K\;Z_&PMQ.,I^+NXZ^K0_$TE^#EC?P<3["/YM1!(K+88 M8N206I!>%VM$ 9$-8N!H;;329Y\N_0Q&^B/M*M%?KOX'1[83=T=Q7K)X=WOL MY0P#:8RA;52_,=^BG(ZVCYHFPY8?MDG306YH$$5J5RG7<'M/@!))GZF521A, MM(;9CCVV,%[NH@W'],!K)YIME7<>K6>_= 5H.MOX\=A-CS"C/9HWXGVS8\MP M-^=-&-_BJ#+:[7BC(05)"^@]/?7(*BK81UEV(8W'N/$8O?*8AIA)02M57(*C M,&LP&F3M4>H.8#]F4RCK*Z9U[_!4L.Y7M*E)7__LK^S6< MTK=OZFOB(^#(+W_!U!+ P04 " "L@5U8(D+YO]!0 !^^@4 %0 M &UR86TM,C R,S$R,S%?<')E+GAM;.U]6W?C.)+F^YZS_T&;^S ]#UGE:Z95 M9VKFR+=L=SLMC^RLG-Z7.C0%2>RB2#5(.NWZ]0N I,0;;B1 @I3.SG8Y;0!$ MQ/?A%@A$_,=_O:W=T2N @>-[OWXX_NGHPPAXMC]WO.6O'Z)P\?'BPW_]Y__^ M7__Q?SY^_)_+V?UH[MO1&GCAR(; "L%\],,)5Z-G?[.QO-%7 *'CNJ-+Z,R7 M8#0Z/OKI_*>CGRY&'S_^)VGBT@I0%=\;D;9.?CI._W"5M.9[OXQ.?CX9_WQR M='(VNOCEZ/R7L[/1X]>TW%?4LX7#*^@ZWA^_X/]Y0=\;(0F]X)>WP/GUPRH, M-[_\_/./'S]^^G'ZDP^7J/K1\<__\_7^R5Z!M?71\8+0\FSP883*_Q*07][[ MMA42]62JO[U -VW@].?MMZ@E\+\^IL4^XE]]/#[Y>'K\TULP_Q!W4:#]#ZDP M^!=5XAR/Q^.?R5_3HJ62G);17QU&^:V"_O-_C4:QHJ'O@AE8C,AG?PG?-^#7 M#X&SWKBX4?*[%02+7S^LH;5&DI^<'I_$VW&;]+#2EMM/;'X+IX@[-0FN 4+SRUQL(5L +G%<0 M_U9:!/&&NQ&H&4 UOZ)/U*?0M_]8^>X<=?GF7Q$:A(UDJFI.4^>GBRLK6-VZ M_@_Y\5S=B)*.7CN![?I!!,$4+BW/^9-,9PCE!RO$OUQ<1H'C@4"XTQ(-*A;@ M*5JO+?B.4'66'EK+;0O-U;;M1VBR]I:/ONO8#J@AAVB[BL69H3YYD?",5%%1 M<8>RLS6> WP/#R+Y_M':4=Q=U/3:"N\MO5>[///UHNK3[BT=3U;F;I]+U1O95M3MZ_L MUMK;XM3MOT"3&K8[=7N;K:M]ZU-[Z%%;:F4;U*C;U-;:6-+K]IS9F+[EO6YW M*YIH9ZFOVV%.W(-0LMQM2V5C ]VH@!\S3"/7#!=),LE MFK[+?;SUX8UEKS(M745!B*"$FM6EK'L=*_?6"ELP- MN7_1JSKF)SMFW0UJWG\'Z+LAZA59S=ZN$&B.;J5(=:$3)=TC_@+=PZKP$3W' M(_0+:[F$8(GOJR_?GRRTFEZM+,\#;FWQ))IN1:AG9XW4BA3VIV'>A?Z\+VV?/)?:$7$JL4, M;=L5B\G[2LMHHGD;1B"[N=$&*^-3K0A]#18 HM4W'5YJY:2UWI[YJK9 (FUJ M,&!=61"^HR^1'7?MSM-;TF[EO=/?D:XLPE=EG2\UV8J-;KL+G6[P M/S%U)S\L. \F=NB\-H:GP?=:$7\RGY.-FN5F#':*169_HQV4JP[GZ;F*5$G@ M4(VV]'=;4<<,!"%T;+0A)'__AC;KJB5G?J*-*_3Z\C!;:\/Z7KOK[-;TV=]W M^Y?461']^N8-DZ'^DBS;OC[Q\($6[6-*[&?YNA0Y4* 06_H$_$ M=-^)_A&;*E5(16]4GR#H$#1%)R,+;S[O_2 @FSHT%N(UUB-]L>N?QNI_29_( MWSP86US^)*I6..XX+;=S5U9;$%Y[[73_T2=66\MUWZ\=-\+#^@F;^YN=DAM] MK(;@N%L!ZA=Y.!( ^Z>E__HSL.?XJHOT>CCZ.TH>R/ECKQ\J_OZS[OZD^L!VZHKN9/_\^Z?3B[.S MB]/3\=D)FK[&%^.+0@>SD$]@OK,6M-/VT8\E%N0?E"4E?MZ0QRD?[97C;K%= M0']=J:OD:[Y@SWV(IHA?/QQ_&$4!ZHN_B8^8'T9(BGC;<1_K@=I+TL40L19'ESL#&AU6,JBK63RBY$B20GE1 F@)STN:80NM. MX,2'60XXQ:)Y\.,> "0D10+2*0.DTQ9!0OL?QT?KR_P:K64,A'+E^@D/ M7X0$FS,M<^)Y"ZC&*_JMXX*':/T"8 6@Q2+]PE*H]PF,YQT/L;BO^)H8R^*% M#]:Z:H15%>LC* (2),!\ZOGXPB='B";XV$2-7[A>8:\;^'[ES^D(,VOU$7!Y M@1+\/W>\08F[_VR]WFCUS''_T@ MM-S_YVR8V\*JPCU&BR]'BA7+ M(&5G@2F$!@4=#)_KE?>'![GB)09>=H$P$< M1,Y]7/D>W5I1+-(O)(1ZGZ+!,E>T@49RT?E^?/+RC.^/*M H%LG+7MT_OZQ7@E!E*.B'H2CEVLV;O<*W[Q3; M7U6Q?H$I+$&*J1F&A*L(8I'C>QI,1J3-**!NTJJ+]PLI:4E2Q%@FA38N>E-K M(QK-%G'KN[9"*YVVM*MY'Q"0D22^ 6;:%-J_F;QWO*5R'-Q#Z\,I'_;9Q M?VY=:\FX::17ZA=Z->5),6SJF.$6E[WC5N\?X14ZM2]]^,Z\@MR6ZA>TH@*D M6%:9)?JQCXDE?5I;KKN+?DH!-%>JCX#R!4@!9=DNVH/E9@W@$JWA7Z#_(UQA M)W_+HX^WRM)]A$E[6@>N[.1VU^.^] MQ(W1]12YIL:2+I%+TXG0L4M+]!(]9N=3_*H,(\;CEVR<5L!U>?N/;*%^H2C8 M_Q1(EKVDOC6"6S+_0>P(-VWFU:T7TA+29'BJ^?92QOX[LQ*J;RWZ#=5IW)*R7ZA*R-$ M"JX>3-F\;C[W"F">&"G$50:8?D"<+$Q(8H@#NLS!V]\! M?=-4*-P)6X'M@?A<$$>-) *5\O^"5%R6%NVL?F;CGO_ENA%0)X_L8^O5$ MH5P?01(1(06']HQ?7L6]=WZ)?U6?*]!$47O=30$0<7_[CYY*0]^@7 M*J)*T%*L9A5(C2-Q?(3C2&R;0#\GK8R29IJQ:6$%+P29*/BXM*Q-$A7%#8/T M-SMN);_X/9-93*V;C>;W6K7XL5LM M'WS/9JX=E64'Q =A\0:[=V!N&O*J&"-5%&\>^H(T0YX![@\RR<'0(EA.-<2Q M8(I6-XH>=6W8C835L'WHEBYB)FYZ!:,HH01B)F-$I!^P'?/1>L=&.C$+9KZP MZ401099NP!20=9BT**2FY#*CNOQ@R2$A[@!/IC@G)M;7=R=<745!Z*\!3+7Q MSJ:*2-5ALJ:VY(J.KJ\ OOC&'%[O?6_Y#.":Y"ME,J:BY# )(BJH>4?8H(JS5X?T>K@2@I]H4/ MN*J.$ 9=E> ( TY(DJMB-U5TV':\)?!L M.B<8-?:!([+BJ[I>,\B.)7VA)JCT@3)&4GJMYY3._#OCGA-5L!X)5)0TDB*2 MF%9Y:HD)JNB:Q"R+1B:L#?/%2*'8,)D@).4 ;T,F\[D32_%H.6@C?F5M'+0O MRJB#=G3A5APF46K*/<#W C,06HX'YC<6]-#N*T"'N6@=N3B;_358.+9#VXCP M*PZ3.C7E-N_*1,/>57C/FE?1L1DFT\;4$)1S#[T$:WH'&DD3?882<1VT8G5O M/0+%(]']"H2.;6T3'7'#49PSPU&,_I)K]=\/X2D4'C^1:J>0]'5.]MN/ )+8 MFD(G4EIEHP9]75?@!J(.(\Q%7@%QQ-5)%*[0'//G;A@S"5*L-$!B"(DX#,_P M*L%)8#$9,L05!DL$AG@:CIZ&D( >C%JPUF#IP)-1PYFR6PNFY'Y"H.8@N%%7 M3@WW9=WR0W ;P:@Q-#[(;"!47H.9P /F[H%2>ICX\_<-*M/GFH ]?],@G._A M]*1;R[0R%O $3*C0-+E,B0IMV(FV/P331>QH1CQ&UJCI%? "YQ7$OQ6T&IV4 M@ICN/C#R%Z.XL1%2YBCWD>0/'1B1X@]O>TFQ&U%+=7(]D/3B&;]?I%X-9 L9 M-2XY&L\;_KE2,*PZ&DSW 0PS$*%_[>!!_\"Q;>:1':*=)("OC@TF;T[118U6 MS"B()/2_ TU*,A-A(_<$<;^#:W]M.<5<:7,?[?<\#T-_C=#NQ O D$E M/!(U!P-:4YFIYNO6H$S?.C? M-"$4> V!4@2:A%5F#3=;C<'Z.@![M"/-&_\ M86=(H45'T3WB0ER M8FIUENZ&%S.$%=(S3F!RC991UR>QI!-M4#<_.O%OP#9!1*.^E2 M*PR2)I+B#O"55TF#HKN10?)!3,H!1JC8"A[?;=ZCW3F/"+N21E*A^8:4(Z#6 MQUK=;$7O/#0U@8"S^2R4&A;Z(L(U]9H;Q\A[8(F]-0W!GECR'WS/S].?305V MI6$QHX:L&ESLNJ;);E),C;V.%R%E)+.F[P678.%#D(GY=?.&EF"D"L>SX#O1 M.(X"ALW$/ME]I4...MUH^^*P"-JVHE1Y#58N@-U89+>J24;U)3I&TJVSE-)# M9)68D DCQIH6QD^=<.(!A-Q-<:Y,7C5G2#7C'N//%RTUM!T-:">X1>FO'3<*J>]+**6'30B6D"DEAG1U^QW@O(Y@ M/GE%>ZLE>(BPP]-T47INP9HWI-H8%GV:BYZ2:DBA@BE:2<:6Z/,FR5;V@EA2 MPJ?4TG/)G%++I+=1=<+KG)3"ZT@]E#(@^LX>/ISJ>'@K>CA5&*?MO,"I3ZQ[ M_!&LW/);*H$:1@$H@0[-DB NI "^7=I 2X)4OK@2JF,DQK)P"0/.D-FDUP%, MCR/F$RV!FGGIS\?C(P.\.>7QDO338L@^C-AF'+IF M \[&CKNAE)-Z@&_+TKL8,,^J@C8;5!8VDB"-<*Z8*\0E;RD33-O&/WK<=8Z5 M[Y03#BG;\+^-DJ8[#:1=(V^64-T^FOL,&-@PS(#,.F9#2T>( :NPF,:BG FUQSRGE BHN+?4=7)^-8J8A66MCQ9;-I*D5'?4A0$?S:Q#_]\XK'Q%FONO>^O"' M!6D^EY*MF(TX&[Q*JUACX8=H'%.5A- 0?JB N6K*$!)>$3\V )%BCI@.0U-8 M(NA5R7$='#9'A&17= ]K($6P"N-$"M<11.(_DBZ2+"OD;U,B:G#S!J#M!-2' M =+M[!/%E.A&T?TNS7K?S?LSBFKB0:F ?XR&C"2@&JH(4U!6/9IOD(I/20V8 M J4N(:4;,I*#'4R"XLI1%)Z&QL#/)C$P&9T**,AJR4@.*F*+[$0HS4-=,^&Y M23PD6K_R/7P=CZ2<+N*?0^?%!4_ 1B5Q&N\:DR*W32.YV?[\6$]/&O(@&KI4 MQZ-7,4,%&S62HNK))#F3-F+LL+:7D_D_HR D3D7//N6JD"CMI;CPS ":2P(G M!$G\\%C!,V#[2X^T0O"D7L7J_:R1O-B2@W92[NV-34,-O/9F*=C&CC& MEUMKO+6>WV(,FAJ"PBN*6!:;J&^\N_V.[I'#RL6Q<6;7;2;Y1UWY!'ZKP[2^^7[ M-[0;NO.V(8JW'*'<;F,PVI7X1=(6<5;__UBEH26!I@C"H^K M *L7H*%U\X8U&3G!*CZ778,7:O927KT#S".%\\(=(Q M^C]")I)!'@LX];Y;$%I>. .OEAM534[,L@?2Q*215U)3;P<=1&E^9,WL)*>+ M6\>SD.J])=8,E6OW NL)!LXG>M%[<=A;/J7!KL=5Q"\,@+(B%0UDG(-62!"*T%--#56 M&'F,+&OCSGM%D*!.4?T$F77VE40\%6@V0G06([N@AD<(-I8SOTYD2J)UHKT" M2:S(M(+5:VQ?^59;-TW7Q9Y,8T0-NXV)'/&J*N\KT81UH=E"80JQTMW"H_5> M:[^5U-M7.HFH0>N##5-62J0(&"%)'.O%<5G/,D2J[C&;1#2AU11A"J'PD1LK M\[L3KJZB(/37 *:*H?D32[:RKS235XI6)W65QOJRL/?X/_1I2;!67BOC@5&E MB1)49=0VZ#FBN%VPL5>KD;QJU2[:4%>* @=4YW'N9I-.T0@VR02Z'*XE&S>* MMHHW")8GRP73A30#Q5LX4+"ILK3Z51NU!:S0?^-U M]L"_AKI2=35>N07L[$E]E4:V+BLZMH"2C1M%6T5;0!4J&$:^OAG8)/N2Z>+> M]Y;/ *X97K.TXD:1I 7PRTR3THSFS5PW<]GC5GXL-XXLA-0,B-,=Y_A04>- M*%GE#/*Y2';'FJI@NHCC)7SSD,!WZ!<>SL6+-J_5#R'PUC9 Q=P(1U;(QDH5 M.%(H_V8.NK.C?>1UZ^K5ZE)I^KZQ\=[PP-B&NAJ@Y1JK _]_;"YXM5Q O%"1 M3AT;+1WX#VCHYG^1*1D'42O?0B7#^>;-7EG>$LS0,G2S6 #J\:;=3A@U#&2/ M00:H2L,HZ!OQ=?!X?VG)8EE3%ZQRGH\#URHU7C3:[A'9CI7Y9Q4CLG7Q+#_: M;%RB3(]UAJK:*PHKIP7E7'X_%1T2FU]^20$%SK M[6HW9HKXB QBV:LL;''>;215FG3U@C+S\0[1O^9Z--+F[&?;F6W,+23_* MN_H4K6\4H:1O-QM)J<&AMXL+3&>Y0OKZ%@#RQFOZ$F?\OO-2N\2M#_.3,.]Q M08,6C6*3&I94W'0JUL\@4S&)*"D[TZL@965[!TI*:V> ;F[),Q'RW'KNA!&" M_,ZS(RS+910^^.$_ #F_4,U&8M7W@FR-E*%UKZ;R@56JM>T-;1+'J^I9%:WL MH.D@+[FJ*Q#F4F +:2_!PN/@NGB,@K0M+L+W\Y, MY'!\A/[?Z.-HURKZ1[;AD>7-1W'3.*_#MO$.3!V97EWY7N"[SCR5_3&CSFVL M,DG6IG+GJ+UVH+OT\63L_2<%!$IS,ZXT7"FM)/RE):TCZ>P MS!=&NT^,MM_H($!E25#*=,4JV,'<[WY+*'_P0B(\TX?I&C;UJ5'(;VT9R]7\44G/F<4;B!64D?B0- MCG(M=GF"G2ZR79D!%[]")Z_=R1O@%]S;U N2MCHV;*R+552TRY?9+G-7VV:M M&C4SJ&%(;O76H)U>SR]G1\=_QT_J!6>4<7E&P6:RO_SQ[R/22B=GQBV*Y!57 MZ$!B Q$Y#XO7["+^!>I$ .1>9; G@>.CBFU%]G9[UYXJA[1L;[&/U9+I7B-619FW M'.5+M/$H5,>H02<#P=8[KI:$O1Y27X"_A-9FY=B9!T""0ZK"'6[7W"C;7@>G M4K#$T,W !F?6]):444@]T7.'(%3".05<6HH2> 2B%'BYQ6-&H4\)+)#4$ZB7H\_,==F*1=G1*BCD_HNSJ._I#_]^\'; M6;C?WP(P7=P$H8/V_]2(COE">3*?]\DC64 07:.RVP,*4T,V "IXL4%L2(H MW!"JVV-NU)=/P^O<3MPG2?3L.-#QS G^N$(==T+\$]57DEJCQSR0E4I#[N9. M+"VO2&@?"FXB:,5[C+N42!KR*W<19,URX&^6&X',&]X[#ZDH6N_610H#A.KV MF [UY1M&S$YJ?C>Q"4*T>H\9TDC$8810NUMOT# A<>?@M1-L_,!RXR1&]\XK MF).02H)'CSI-]9@\RL1-B#3N-Y'N 1(XCK ER!=&C1[30E:JU)QUU&_X\;,( M,=@K2O88;E%I4IB[-5M2/)B^^*\ >G@J>[;>XL-2L,W$A%^2?<%QK3C#ND%+ M/<1?M;0I/WINNN3$'1";(>0:Z2%Y% J:\J;G9LVGT/+F%IRC'?D\0EJ((^F] M,\^OS#IY97T:CX^*V;*,986\7"D)>FZ_G"% D#*Q??\:C0S7)VR#CI(U+)=L$EF2'9,X9\2SVFC2II4QKUW%2Z=;\3 MM8]7%^\Q(:1$2E'ON1&TZ/$E!CZG5H\Y4$>RE H]-W4^@!\974'?0S_:(',7 M(,8-V69Z3!8EHJ;L:6K?K(@HTW9LLI< _"O"6Z]76=((U>TQ4^K+E[IL*;=_ M&N1E^XS=3\1\;$^/3HY.F_C8QM_:(P];VJM,>P7FD0NFB[(GT ,(B9K83S1E M&LA3^_/X8OS)]*&K2,B!N.,F>@AP6(B,]]!T@;V&+M_Q_]XB!?K51+.PS'W=UHVOJ>Q-? Z+B=IAU""OT*+#RQSZ<>&FP1A$C7)!(W*%=J MRJOHO-J]33MK_X$1R!Z=)&<87@/#XDU#N16=+;N*LL_(,R"UMS@O[RV8&3>Z MW& T2;U1LPUEYH+8*7V;F#V;]C:?$_LK3KF*_LLW&31L,C\J+M"H^-S];% [ M_X8VC1BQ&Z&2"@GUWQ%:-QV,TFLV(+L ?00K#Y(H363792IO+3V+U KQJ;Q" MX#8Z/6GV+%O+;JNRU;[XKJYNV"G;/@*YL2+CEQ_DAB'6$LR]RW"S1@U[.@I6Y2*U_\A6'*_EAJ& M%Y1A6)&_Q0S3ZWXF6XXE@&)\1@8H?. M*\_PK*YALTG"QIMEVU"JCU;<8,RB)#JOAM"QT:Z7Z.R;YZ"-[@\+SI7R4_(K M^T56%.\ M([_#REQH,K:OX^.R[:LZ(UJ7EJ\^ID8K1"B\?-^I=0*!)391R#5BU$0@DS!- M@9A&W. K7'TR#MDW:.Q")$OJC!U,0K1ROT1HZ7[V;WT(G*5WA=]C0 >4=">^ M%"G_8F_IV+9.]'DYMIWY3VKIJ7B!G[;C.KN=J#B_Y)L< M!L$4R3VTQ]W72:^1/JJ>'$M[6$FTEM/O^=%X?-2A$WUM7C47V8BWV0HI]=/HI5D]@YFONNB+1PV+TBR2K;!81!+B=2]?LE-2;LKM?^M>-G-2+[; MJ1-@#[/P9I;70K=P8 H;!WEU7')ZD]RDR+1FU'"7R>"K4MZA[7PG7NC,L?1H MQ_:$HYV0U?3FS78C-,SC)_3K310F[^%ETT&K_] 6*A5%;U^ZB$6&J\<=NP: MA);CBJU59T=;AP@OGDO MCNN"^4X+'-+0*PR=,)*2F^./(0.\TEVE!D((^AA ](C=&Q M@E & ?:WJ'IW)=7 4%FB2!--37#CF#4>CL^5E.W>996EWAK;EJ%2J+;LJFQK M?FBY)\*=W8H]%55AH:@S>6OXM)I+$<<@Z7J MD+3PX0AW.M=LVNU^'*$,.SJ5TM:SGA-6%\Z/N6,TYHK+KW'!6&L(9.S3P9(, ME^^7P+-7: 3^P7A)R*MF%*HU\!( 6T3B'L&>RL)\?,BKU@_819 3(8" [,82 M@!.DEOE:4:AN3Z@@@&&9"O45H-7(86O$A\T5*9JVF#5-6F_=G]#FY M_45:HQ]$:;BU8 IK[.O9LA;0Q^0V%+L:_<"9 Y7(H8$ML;$[B'2U*PG$G/XY MM?H!.@>R"M!K2-V7K4( PPQ=T+]V5$'_^/VK]4\?[AYZE*?\ZD(](8+ +"\A M'\,^W3YP#]8:3!>YGE=.Y/CGQ=,W8E!NF;5Z1RGFWJHAQH,CI MMW M)"*<>7,I!\Q+/IB75?*>C"_&%P, DR6<>0@,!X6C'!ZV?S,* MH\9G!K98C*'6_E&!=+5R*!7^:A1"?"57 ,(?,/J"$7)/VF_..EI3< <2_L);@6)0@ MF2K]H @;90&:\"0>3D946;^];79Q]&.!@(US::,)(0,,DAJP*135)4,P7:X,+T.1*J:S0!)W,08 M(*0"DRAP904KG+T2_0?G\WJU7"P%RX^,6L%LN%M:(R358ZSCV2X >[5$U;_E M.#G7;])(;DEB72:+3-V42I+FPD!90C6":)A#;, M<\I0>:K9_OA7!T $T>K]'KP"5^Q@PZAL)+$Z/-O(JJI='[NFV]NR=-(''6H; M9C-)'EG!/:^4.HQ=HK92W'F;* R(9H[%SD#E&F8SH39X#$((ZF#(2U1&!:?2 MQ#D]$(>I _-\%(VX%+CGW'LK_8;9Y&Q[IZ1-H^8Y_6DR,VU5N;OKE+(Z5=3/ M*_3,C,R]^BDC:H@2U=@ E^E8]^*4HY8_4*R6AE0MX)51GU0&F/MNX8S)1( L5''OV=-055J?-RATOY;9!Z9>.1FEB\]3@K7W MGG"[XLG:-1/X9" M_]#@RF+21I(Z,]]S?$KX%8W"L6TK$%L+YH7GTD>D;P%81.Z]LZ#9D@5J&DFE MFMA+D(BC@%9",73@GW&WWE@.)'OSE067_*L59J5A&[%J=*+NAS4X!T\6] M[RWOG5HKI$DJH%]F4#UQ=_?2# WZXWKOP,P R'Z M-/KPL_5VA>1UI._%SY7%>$G[--IV:H1Z-8J[-92K\M]K6?QB>809].C\9GQQ?C8MK4=D2Z!VA%!$2WUR"PH;.)24_WD&'4 MZ-M44(5!>2,A*W"[KC'JC>R&X":K=B&[NK$0R=O5.X:)KV1!NSH/$O/MZJ8@ MP>B;L%W=%#3JV]7[AP97%I/LZM73,L^HSJEE%(+-%Z F4FLU8M5Z2*2(,M,- MP,%XO271QS. Z^DBS8;*9 VK8H^(PX:=1AYIX;4>1;OD3_RR!53H@1;TFEMO M\.R1E7U/)I\;M&4- 5+,=#&-)W7_AI@M).8A:AMYQ7X>CX^*5P<])U43/6B] M'S9E=JI'+Z$6!D^N^EK0&E?"%&K-@ =^6"Z>R\57O6REO2(05W"MR4',6>\R M>I!8X3*U!L\:.>1AN+9<0+*T0S"_?GRP7!%Q!G/'@N_L M-W8B=7O) P9X92;45X.I1+AV(+!#]_W91XH*(J0<81[0JNX7#:2T8-+5'66U MY-W=\:H9B;Z"G4$MN0=H0>?LKF_>;#?"D>VP;S7ZO_FS]5;OG%354E[)%TC) M14]9<\C%9D:98*K4H>C*[Q7 %[]KC_5J@\2SLT9ZP(JV_:7GX _(VB5.).P2 M\>>P6VKF@P?[1/_L$X;,%ZW8)_B30;?'TG0,/T/+"]"T-%U\\?WY%#X!^.K8 MK,!L C6-A%T:NS+\=47O*PN8M@FAND8RH2Z,TH1@Z,"D\VC:>[0UF82/ON.% M=QZ2K-H+6JQ2'W%GH%6!O+SXAD(^1?L_&;3SY?<): ')]\[ 8 CB"A;W6G(? M# P' X/H9N%@8! V,.#0>Y(6A5,9BP)J[&! Z)\!86R&-;L5 \*XBWMMSCNP M1^C/(SMD60EHQ8P$4AJ-':!2?.E,BF*>2+L3=AJN.,XTK"J#0U-:6.T!R4TS9?5_4]I([H,I2ZV..RP/ MMKOFQBK#R<5FAGK;G< 2WCLWM$O+Q6&JGE8 A#CYMN^A%C.96.X\I#/$\7,IVFQLBBS.")G. #C(:\U<1W'_YQYY'D18$<>>@UA\X>2@UATX?2+<=FO*Y12 B:B*J"$?NA MY78;(;3ZH)*F>$6ZD#VLE()R, XKZ2='EC4K @> M C6-9$1=""7(P-& 20]+MGUFWX7E2_4+5PX:%==C M*:A"'>6D7H8"&&):7T MP#&5D=JD:^K;"'I.B$\UWOS6><,_!4QXZ14&CK"DX"9=_GB- MSG&N3S1QY0L9.974OFBM)^XP7$<3V9_0 ML(4[P=F\*!0VD@SU,*5R0T1D\YQ#*9% $IFV7D<%M"O+#!)D<4E;B9W1[L@G MX;.H&J3, .Q*@R1) ]$'Z+ I2YC]Y$HMF@S6N_,ZD2(-VR-YQBC%Y6&<,=)/ M;6/W#/I0@=CT^?S\T_GIYZ/QV?'GH]-QT3^^IL6AF.H]- M8P^H5[O?D.Q B-6HK^S+?Q$W6X"JB*EI,?3=\Y91*BNV5"S M4:NZ3:PKX/V 0?'+!L0KU3I1=,6@- &!WLT*^[Y! MI.K@R55;"5I=GSYW.8W- '[.@0;4(X +'Z[Q!<+TQ766+#<[H;J#9U-]+5"? MN?0NX\25OUX[86HFPMI%B@">+>TR=UZ.J)AIFP0CR;7>Z0462VI>Z$')NET] M<,-NHYSC;ZE$MQOE"'./=TA@NB%',[1EPH]O M/30]H9^)<-N)[]%Z)XJZCL #&J'//X#["KXBE:V*)BUE[1K%%3G("XB7-[3>K6$HP[R"NFDRHU4K[3*,+JT&K%Y\)E+KU MH\H+OR;M'0A%U8+60[81?')>E?-;BU=X);[YYP_<@+P?SF#8=\GZSQOQJ1B-;H M'C)*2A4)O2XT!95023 !T:LH)%!M."2I*VQ"@W$/9IFL+-67F/2"PP%:7+S4 M+GC4@R&>EPJ[G8H"O"N;5\+Y>'Q4=!7L)\8<"5.8#;+_-G];F\YF1!/?@;-< M(09.7M%OE[N+5/+'9P#7QP6:U&UF$ Q2*GQ*+CWVX&X"IC$5RW WY(KW7J#9O"77R*"(I4#TE%8&&8AUTDI\QI)K M9%]H)3M;&60G5KP48KT*+7:XX*#H(2A>2@$]MMQ6(TU<@Y?PRH+P'0G]F^7* M1I7X5';#PRUB;[RDT1%IM=OX$:A'PBE^:86[<*QS/#!=7"$V.>&M99-#("LR M!+6\D6.4C4K.LTY*+F/C!^0%8(2"*!\[C>68= M(V%M.H_*2SS I!E9)0@PHS=$8 /))H/<^.[OZ37UH)@N\)[RY@T?X"(G6&TS M15$(P:TW6);4D[P_/N&^M\1V07*XC:_,JG+G,,L.#GMY:;4Z;'>S3&"Y[SQT MU(PPU;]Y5IS$ ,Q3ZQ_[5;1H]<&11XD"FCIL<_P0.MIXE$<4;?]1+CE8GHC* MJLKGNM+MZ),!4TQJ!JWT>Y)[;_%]$>9?O5ZX5!,S0[?0: M><9^'E^,B[-)B\.R6O.Y,)Z2DAA[B3/Y8<$YCF?-N(_+E3$*J+IPE 'ERV@L MA$\K"V?,"'"$P?4&>$&B^5U$ZLOW79G$]$7DW0GMS7'BQ =K#9CW>#H^922A M^'2HF!/:4H[^*\0I:3*X"X((S%&GIE$8A):' PG2[Q*YE8Q$NC74"I;(>MK2 M#_UM%*8[K+B+7Y FPNKX_?P*!\@SD,MKBGKCH"Y\/T";',=&9SK2KV^>$P9/ MT39!\V77PGV3#"*9QAEV.6 MZQ>MO)F<:;SME)/7W*P 56*P/<+H-8R$6@XH0:#K[/$:0DWS&?/7:]\C+$ZZ MR%CQJ87[@YSX_"PGK !LG4[$1(Y[C@M995DCL54V 0O(.D!O@ RWKYU79PZ\ M>? ((-GF7 /;1?^9TS@B4-5(RH@#7D&6ND*;E\Q%)7>NK(T36BY10X#VLP"^ M@OFM#^/=*S[AXC=G?"*)M3-D5C700"L^K1W=[J0+K^PMSXG@+4_:OKG7/;1" MINSU6;<^] IY(E^8\02$?_DC*9"Q%P=Z#N>?S]&$5,S18G9?XR@O;("\ 2@ X++&9@#L,8DOO(]M(:& M#OKQ,5WAR?)&/[&HVXU-0N)J>Y]E:%3V^- M 54,$QZ8G<[;$Z2VWY"=-V\ VDZ ]KZ.#;9_#)*_!K3H?;7:VC,6 MUE*'5E/O>>NFWI+3S5.T7EOP?;I(?.0F7NQC$TSLT'F5]O:_H'C[?R0?'F6_ MC/\4?WSD+T;)YTDRS;@#H[0'W<;SVHHR761[/P,N?IQ#'K"3*X27C*M20+$L M-VW,1(=GJJ?6'&TOR5CY CP +7G/U;G/34L$O*,5JY M[HS(,MH=S[=[&W*/.'E%$Q7>I]_ZD'BZQZXU4"@F1UV3 MR+> >)Y,PU7BX$0:B+?!Y)?/*\M+=LA5!DT3^G4838719#8R3:U].N+CM#3J MKK#Y&YN?IA"I< $<),"=]T@6VRY&FTQ_#J.LC5'6&!&MZ8*-&ENI%2TUKA7W M<9J^;KO67_,]N4FAS4U;X]&$DM+GO$E&^UN3+M3), M&;"QZGHC=1@F76^<6&.E<<)I@QYZ#=>2;$#PMD&8QZ0TKBB27&Q+OO'*VZV> M69*38U[P 5VM).J+X]NDBVU5 M"'J-7SH,"DV#0E37C?.N&^B]21R'XIA=UQ%$TT*LA'CUS$1VHMJ>ZC=TX#.- MSVI4V3A_/,>$U,\I/#DR85@HQV:-7SI07M,4+JKKQFGO!SDF3-KG'\Z_;:HZ M'0]-'Z0,[>2;K*S8',96 MW;&E&8-T?.FY!3=TM>+I-%5;IX-+JA.'\:5K?#6'(1UB>B[/>SK$*JPM70PR MR6X!-KR3UP4BV<5A6'6M_W0TJ;G"K[+K&7KN$K<" M=3"B!+]^&%'Z;8!U1]3)H"[_L;)>^/I\D9ZA9@ '34._O_(]@G!DN3B7ZPEK M9+7;D\,H8XTR [!(1]R0D@PTU2U]!J/IEA;,JH.>'$:M2UGY^ MB(Z[O3_4$-14JYZ,S2:5)CAG))')%C&*!.U 5Z8*5R'&H\W,,,/(>6\*XEP$ MZ* QI&HY1_?S#_]YY4*RH(6\K:78US1;KC>N_@_ALD>:ZDYXSV(T, MCR,-Y&;$,VT4.JOQLA[O8- '&+NX7!DC86U[&\?7B+'Y NLK:">T-Q?:#>KX ME)'TX]-!I>NHI'*,/5'DYM'8S%>Y_'#+&\F)UO M4TM.4>9M;;N[E;OGY&IL MWK"97&UY^=2D1JTI(GO&Y$(P/^UY3(K?R0%T<60(S_7P3B'!I=2I=>;NYCA2 M6W&/ .)3N[5$DUC&+25.S6Z].>MHK9KZ I\\C()6-:O5(M/A@&AP;_X;"#)! MCF\M!VKUC*!][C 06M/J !-E-_6V8@8+('^\MD*PU:LFASO)7AR&3-?*'GZ: MG#O/A@#]\LZ3B^[>TE?W'!WHR%3K2J-4..@>FC9H@W M\!6MCMY<[\0O_MG]9'NGVM6:ZZ86ZS6':*_4,VU6EV]I/RFL6F&*\LM4L_)3 MM_>>:'PZ-JA6QH/OO9)3/]%^0)X'9?^.W90?_/ ?()P!VU]ZV$B\:RFNQ,D6 MVWE_]GN$F*5V18EK3)K]M2DX,A/=&+6+(G8S M%9LH1D-Y'1^/+\;%)7O(?%:DK\;9;!).O@+XXIO.RB[V]J;P4@U=-.SE"T34 MQ,-BQES#S8O&)<8SAL?&&Q4E%=HX=9*)FX*&NC,C<=*!\EK4J2HW$F_'T6'\ MA9W+[/8.>;JH<+P.9&,RG$K$9$@[,?(7(]R-$>D'_E?:D[CV*.G+<*(UJ&KT M$+5!T)G;E)FR+]$;!/:\&J[% QAF*(C^M:,?^L?O,RQ(Q4._W-^,A%TO2#M2 M\#5A'J"5CZ8*?S4*5+Z2*P!AR&$4)%\=#_LG4T')_3TOS@G:M14/L5W PE!U M'AB^+&9!$[N.TZ')_KWOT'!E,?:%,CE6XTVT%48!XUEZJ9Q1D+6]ECW**2(*?3CTZ&&<5>5\C7'9.WUU63((C6:7#U#;!#,/_-=U$S M+A)K9H4@L>ZH9KQT!\P<&7J8JG!(J-'S(3I4+8WJB3@BW8'#T.E0S^;%AS5K MZ,R3K(MR==#AJ& MEH=ZOGGAZ_-%9NW6DM65^\'#P&A1KZT$,.G0[W2&I@/H8!V0OW_SG%#:Q?1, MPL5T][W$E91\\>!(FF\44?'3V=G9^H.O'.GKXQ_7J8 M=8SD1FLXERDFKRR3O$U[X])C"M%:7@,UJ?&0ZR<3^--/0KNEVU0TGB,"8.:Y M_LQWW5L?XO*J"2_[_3R@9PC0HL)-G(#K\53A@%"BYD/.($F%ZHE.(O'I88T6 M)21N>U Q@% TGC9Q1*W0@F'?O1;H&HU?1[6X_"0?/(R@;D802_U:G>-Z-F+* M0!8B]N;S/ZD>/Y*?/XPFG:-)!1A-ST;C>&QY8(FO/0<_NA"R"^!T.3;WNAC7,>GN8*L;//(RL#I%0Y+X7'Z=N/$6C2G7ZI>)\DU%.(5/A MS1N MA. 1^C8@.+"UFE?AK52B=KRS%/Y4%,?:UG?MSD@6D\%J[!K1HT\\P9$ MF_O%AJ"U8$/L69!PKL8[SNBLNG^'L6S,6%:!G-;%>&A#.6_0,F\H2_;O,)2- M&')^/\V-5G#AY89MI=2]6I?RF#UI!4Q(>1RAVI9B&5#,]/ ]H<[WW2Z,,@ M[&X0BL.3C+S/6D=>.V%.'"3HPK'1?F"RA"!^>"(5T>3XZ.BX%-%DU^IHUVR3 ML"6T.^!,]S,O9YA7M;PJG08.N?)=U%D?6OBAMRE_?D8_!:CW>-2) M11!1]2$#IR\Q3E1'!=&J%H%'GMVX'>'WB]-%1A[&._/*LD:QH&54RW025Y&Q MSW[+2K*J]<)\""S9BI$L$@>S3 05\BM\[4M91/_F.UYXC78)KK\A J8K-CTJ M":>*D4"J */@@U1'#1J> +:4P._*CW!$3*3I\)T23(I6+*^)3V80HO7U04H[ M[<8FX64Z!9L(VBMTRMI2O"A(99 1J;I&D40*JSS$S036/]]_HA3-IJ\ OO@57/NLV\7VG8PO:-.\1O4+&XLL2%V1UD#GG?O?A'ZK8R_W0@AH;8OX%BA+Y;\7=LY6KX"_"7T-JL'/O.6_AP31J3NQH^+E\-[UH=99KM M-*/%$UABM&=@@W>JWI)R>TPOUNF-\0QAZ$4@N$7#[@8! 1';KJ(@]-<(6C3( M[GUO>8\&UWR"5HY0\':X3J-&33\\3*MO?Y6)W>Z]'L=X^X0T3N:]W=BS7(KQ MGEHV+^9G)&;1^;I3RXLRY/*F7#EUF(5Z/ *R':>:Z*EEC4)='I "F%)2ZHJR M' #[IZ7_^C.QA<#W&,+D'SL$DU_\_NVI -?N#^9A(Z7?'38T=K0+QU[]3@/CKWP<'!$4DZA&]52"N;RA 7-\,#@B*2-3#7JM M/'VA /'T97! 4$2BOE1J%8BK!PH05P^# X(B$O5-2KM 3&A 3(8'1+5(U"<* MRFX5)JY+[&-7<4?H;B25!0>#@Z2("2X7)B1OD3PTWW,HV9Q056C$M:-&8 MUNO(CA)90G\#8/B.$RN%2!_80$]NKQX S4^#5<5(HBGE0)EBTOK0FJ*DF_N_ M1,58PU>^1^S WYUPE6J9W*/B1XH3N6!<;']]\X:O*H'8'*M1#=LI;#YQ*YK)(&4,8)*MAI*&>"^ M*%%&<0D2HA6ETI[R248;JLYI.*2%(42Z3CI.40/> SI>A#9\4W06(4,<)%,M9%;-NJQ3:2) M/>=<;14->(:K1[8#OR065!:E&K^$,&BC)D>E/E%(>[;@. M:?!FL0 V?H*!_C9#,["L%?*$8X7,?VVT_1RQ1.(/]L0,:9KY<:O(;<>P,JOF MR^1/>2 XAS!%K><'U3C.YM75?"$Y3^A4P3 B2%1KJ*"&K.TE0GUXSQ66HI]4 MRT91KPU.B3*XN1:U'O7.C:5R]0$%4&-[-VCR0%[UZM-Z3/QD+&L??+QQBU"Q M%Q<@BE%=)*)ABW^!K) M;&;_F%9'(5JMZ8;PK3S7YT)A>_/$WS60=@+0\:G]XZTNI9EGBZ=<\Y3(W_QY"!<;[!T:J:!5I*6=SSO?8'H "XZL2:1P3R0-+*TS*&GADI L4^D$866OC&6 MU$/3^QC.J>2I\VSRB2NC"HD=<[[6?K%(1@FJ;D\,VDN7#YE%Q:0. M]9,U(V.W;#-]XIB"?;42]6B]&6XUVV7&]Q8--;I##](YUH\=RCKDGG$<9UDGY](OC PGS"L*&6(0V+*X-^64)7 MR5/T\D]@A\_^S=O&B9\,-W_-5-'HP#FG03GFW<*VRIV#^RLH1_S MGKB(.LY*#=B*FLQ[$Z.?CJB).!+(SGRNB9F9 M+QU(JD1CK;RI:?L>Z)L'@>TO/>=/HL.:"1K/.?<^V:\<$C,JS/F:"V2U*("9 MOJ_9I2(EEYS!(X!(Z1[Z!1X+UAJ--UQ\!L((>L',=]W;>,A0U*#[LT;.5Y*W M3IWHR+R3,65%K9YUBH815E$C.=()Z(4%449?BOB"5ES'QUF-8*AU'T81[1K8 M$%CDI7_DXI4?IV1^Q#UX)!U#11_]P*D*9:>JV0,;Y=C86+>:O5);8"U:3W2P M5J;9O&9/D6:+*0D.K%6J6ZT&F*XXFV2'5<]::L,'WBK@K9QV>V.K4;VS/+!+ M;F>9YTM36TF\L[SQ3'EO1%'[]FSX")"0Q$_9F]]YB.T@"$G4J9*Y3T&+1A)5 M\IBL6OP!WL%15/2\LL+O?N3.[]8;I-QBUVT<1>:,"5UH MH11IIL^,42IS*QNG5BX-'D 8*Q!M*J[\]=KW2-PFN:N"TZ/CXE4!?A.27!>@ MED=QTR/2=J?7 S<6Q!LGO(E= M7)IA1%+/R2N"L%'(RJ/&05PGTFA.?/&-<2O]#G"P!S"?H&Y92_ 087_JZ8(, MD& :A4%H>>0$R![]LLT811^9B4&)H!J.%5UD_"FH[=(*')N7'IM5QRA2* 6\ MS"-Y16B]C>W&_B&J6Z*RSGU@_0]_^8^6[2/ @T;B0I4V@G0&R3*TNS+N!&<31RH"X VI8 MID 1YGF\Z*%8HN#R%G.;$5N&;/S6!CRWJ=2((@<:I;LO77,<345RLQRME7TC MG*0F5&73J8RMV0W-*,J5LQ,,F#8R$FM-J'-N@/_"HQ^BEAW+==^)'IQ7\ 3L M"))PH[+.#2 S.O3#3>6,;5\C]C"P:K"8"(E MM%;'K&Y8,@/H(.C@R%A$!=\\)PQF3]^83&'6&3);Y 4W*?)UPPGVGA,>6U7S M1A*HC]L@MD:U7K2;M%L2UA2MHVDME:6*2R]:7/JR+(H^OW^"L7:9Y_='6&\) $"5O?N&PP" M8V8$QO:+%XI"*B&!D$ #@W_]K2I)(":/8 LO=IS3RV@H5>6<69E9?__?Q5BG M9M"R-=/X[W^8:_H_%#0D4]:,P7__DQ7RY?)__N\__^=OU4&/H4<-^Y=KQP8 M3/[[0W6T^L&'PN&2ZAF,M5V^0IVTH70_,V4__YL;X"UO;&'X>#P9G?M[7JH*DPC&( M:8;M $-:?08/*SN;7_%?2_[T;@:/:@LGAB:P\9%@0IJ!Y@_O<^WJ3\<"AJV8 MUA@X")!H("89H].Q.!.,8UO.+L30Q8W5:(M#L&+BH:\%CUM0.0A;[B>Z&UZO M]@P:MN$C0VT_"M"-S0G;9H)E4L\-[3T1O#"VP'CC:8AI;Z(9UY(Y)D,S[ IH M^S#+9#*9GPM,CL&04)+W3Q;=V*25'6+<&!/?79/5.Z@*DS-2,CI2KD!F"%HM!!D[%^&IJ,56BX" M-EG0PALC:XL-1618,Z[%SG2!S=5,W&7XO,L-RSV M1EI]+@X.+[+NCJ&E21M3++@6(6B1$7U$=,PP6BR5O['XNUQOE,\WRE4=R).! M,@AFC*3*+QY-SUGFT6PMH)<-&2XJ<.G-LR.)/(-;5BGTML7RJ%RKM MN# U9R-CIB1 M17D@C#2PS%8STWZ!*PS$.)YS+,:P2#E\ZH0+IN2.-V9<1%?L]7QG%;K:F"\? M$54]-=GQ_<1@JBTQ@>>+/_&%DVVB+YCRYG2K/9Y7Y.GP:00'G8<2[TS57KDE M)O%TBP^?.EF/=GM0URN&.3<$"&PD$>6R;;O0VN"U=E><5>>WZISNS>*)J5CM MEIMJ]L<_=?,+)GQGZLB@ M:RJ.E("6],U,ZKR:2:7-3IQDW[MG+?*N8%>?Y% M$_59K0TGIH6%&)*GCKLYWTGLH9><.YHR:G"Y29VVXY5D%7U,M513Q*?^"['U\?56CM?JA9;9Z(Y7UI<)Y^M3+NM?H6?SL8&8ZN+ M2I+)OG]Q$]>"8A1)_(GQ!K8&A:>==V3$0] M=G:AV2(VNL7@4K8&QWUHD6?; %D$Y!'OS84V=L?^?1\8(C(<)**5\8?;FCW* M+7/(BE"1@3@BKP8/MI$I;[BP:)EC;&S@-? +8 "931P;CU,7 MQ&[$T9)KIKE\F7M,.X@_Z6N&_KWQG)6((VZWH02U&>CK\ 2HI:=EM6?G3'DT MM?*QQXI5G!-J\V>-VGY\5##MF&G1 M^4+I89)MV;51M74SKG)A)9I,7@W5"4Y/:3/O\BU+(;J&5_ ]3>#.]4 MKE_2&+Y1%&-C1U:-?OE(7/O4D:K][B(^X#7AAH6(?":6\E5<^Q[4%KZ/XE7O MT\6:DYK':#3I[$QU'VJ9Q9%8./98ZKCQQY;6C=TOD]FD>#<=),^)A4^&YT]A M8660;+>6LEV@&V8)5$:E1+$2FQ\'M8O9*#$02P[7;92<=+O<:C-"*WM&J.6_ M#PO3L1HWOZG+(@^L6EO,"<-$]NE8HAHL9K?5^B!.][)I?IPH=WKWLPN>/XN% M[V:\JSF30HNN*$_)7;EIA)QGBVJ0VUN=HI M/\KS7>__P!>Z-E13!7:-H1%S< ;554(;-B!UKBA!%)FR^DM M-&/53F,ITR7$>/R)J,2_=!(M3N)"LLB6[')1A(E!]>1FI;R-3JM*UUW M*A>FB_Y=2DM@TDI&!A\-Q"L !V6W5[(9#LP.[FN]9:4T*G&+=-JZKR_H1?8Y MA)PF(/BQ "_6$;^ZA@4EJ$GC+E>\6:43V4K-J33_:GQ@6!BU !3-O8 QH^(OP : MM5J^Y6ZGK=E(F/5;:;ILF=G!,]NOSX?TZ?TK&V=NEE"L,D@I"..[ZO0IOC"8 M%;%#2?Y51RK1U2%#]Y-,UK*RLCEQH%S4P6!CMF+/99*%M M(T0J2.7"=VU"O'O&KYFNG:T9VC CVWR^.:@XO7O;[MQ^S72W -RQQH:S.V&C M,;:GX]N92"]SBZ$-8NVN8@Z^'+X'9IO1[$5V(LM=>JH9;GMQWV4+RP_-]KU; M4EEDN\AD+W4UQSJP++%::E;$7JK!\US=+#_519=UD@<)X.=F1@?9(4$F+K3_ M^1LGSORR24X,FC)%$FE^X723__ZPM?%$QPDRY)I*$I:PL(@%F3[7"UO&62D_ MM\8D/VW3M<@ODK_TRP<+6<%+8%F9B\B(JR-0K&W\SMSLJ*9K(W$I: L'0H-' M,/K:8Z)JD^18M)6OH+DG= M6YNOH17_^(=(YC^?>S_W3S#/U:Q^[@/!A$CUU0H<8#DX,8(D$<1H!OW? M:IS5O14LY?6C?HK$YIW@=_"1GQNT\1I2V78( U+!N\H0+PL;_,XR;XXGID&R M9S:<+W,\-@T"-Y\\6$W4F,HX^41/GKTVR]^E"-\4*O+)T[(>Q?ZS&IP4O"=O8@.+CSZ0C.RC)Q9H'> M!)I<-O)@HCE ]_&N M4*M-:_,SQ_-7\/.IT,TRBLMTT7+ZXW/'\U?P\ZG0_7&?ZZ$_G];EF-P8]2K3U)UQ M8\ELX]Q-L)/Z7!$TNW;16K=I:S16+9D6U,SX3GBHC>K)<]?$GX76J&C?7;2. M-=%P:;@8TFRKV/J0'('_AUD\6PN%=LQ1"+,.10-CJQYM"I@0T99)RI,W" MP=(9D)*I)=]7^'S)OKOON.I0ZD56^;XN6'IHL:>*B3%C_(U0$--ZN45'5WU'!=O1C88?8_-,:R\J6C[>375[$#8J3Q/Z M5G7/5 )\_N;9":WV(^O]6&=HQK)]OM"%H_MD3]2,639_IKS_F7I_C>%M57YZ M69^= TO>S;D.DW=C@@?:RN N66A>^ %H>=VAY'=-+J0=?3S4U[*]8\$V6>S MJ6)KSM5*76VVM-)Z3)&>C,A)J'(BX;Z'4V^5S!4]#1424A4VDP-U.A>7]/G]^5"KQ"] M-(N+AOH=&.I@"'L_A[2A[5B:Y/C] 7'YK=T6NJN$?F%NZFZF-!KWG$HB9@\* MI>FYN?#/+O%,0M2O#>T\C\Y!^7;Q8&<*Q>ZR/.[+-Z72Y(Z.G.*/(#J/EE#R ML7CT\]A-&,YMISZJ:'1IX3QT,^TD?U>[,.NYN!*'2*%L2.88KE)QJJ9$7MNT M5:"N:\8@:\@U8(T@[DS@MRP(TLD4D^T8S;C*"_PBER@L[QAY&3D+)2""9Y8< MTN\OK/E"+ >(!;$8!):D(L@5X SJ)FD(M$DO(SY[.Y=&$Z8+U;GP=&-8+3<6 MN2#FF^CE%C_/"F MGYD*-XFV>]Y$\ZJ%?VNR.;2U>!2UE,K-RK$AFW#IQI!/WG(L'-J]E&9/VB,U!+42";0];,4>*YPB@WCFOLKU[,=4=%Y6"V$A7F69TY'L:X,N !W:>148!M0W]53H1D>U M3'>@DB.XQE#6@+7T":@Q;U5&RD,K-XI)XT7E\4&;-&%D/:?7 ""DM5X#@0LA MO860"IH%)4=?=DPTA.VNV_"GQ^;R)I^<%$:L4!P68'[(-ZW(FCKOIZ-# /BM MR BG3S0M4W8E9[_6\F\BO\*_VW#4%:ED^7ZN=Q^;F'R^5M:TZ6 .&#URI(+3 M&O:M<4T6SRWR0@YAMV",4?J.GJA-Z1CWV+8GO6*F/X^DGG\!]SM+ M^ZU0OXI$+">PH80"?^NJYC:0;X E^^J2R0XL2)[P":%#NU5U+#'#$:@5&BK3 M=!0ENC[FWG7Z%]5V(8$4$D@<7L2N(R1O;*6O)^Q:]9&O+IW9M"IGI MN>D"?SV_NL(%R3M(%DK(X*\KO?I= G2Y9%L4'R#I)O*N+-_4AJ=&?VXXB-C_F' MQ^)(9/1SY>2;R@7).T@N\**@]TW>O>TV1T*V:F2KPSMG&+V^&J]$&I(7=&/:ZE/# =78LMSRWR%B Y7[\@>1?)6;%?370R@.7ET;)M MI^;W]WVW2Y^K3LYGOS62#^4I'B>'*.7.%DH.I$OTDI>+"TE;3#/#R+'[F>00 M12$_\.#H94L%"R[7[M3ER'D+YYA#]"T)Z6 .D;B(#S.528OK:G=/69VO-^KL/+*" MZ(QRB*)(1A_+(:JE="BU9J/&2'/&W=33LB@PC4A:O!',(3I+'] ,Y1,I"'LV2(C.@>V8;WLR3DC:GSPWQGYQ#=)[(W\TA4KJW;3KU M.&'XL9*Y-])%XZ'CG"/N/R^'Z/Q0_TRRB'1[_W2?SIE37BB#]%R6>XEB/))Z M/EK)(N='!*%D$>X^?U/IZ+FG;D6\X?+#^?Q^5C\WIO^$9)'S1;)0$L>*WJHV MVOK=:&KD)ZX[5ZK-YKEQ]B33Z!PMEO, M)TP6.5\DWU3$HI3/Z4WQ9C;B:H,;MIBOBD(NDK&8KTT6.5\D%WAQ*K0U+6E4 M^1%;MJ?LD]QOZ6?G?7]"LLCY(CE?%UEX/R[-E62K6RITN$1A.& >0>0V2,D9P5N>Z-K":0:\7G%^D8>V<7,HWYN7+R"9-%(M%T^[7G0#0M$WW%6>(3 M]?!N CYHCS0 RRUWF]D']X*"C&$EP1=&B1(]9?JMTLU8B#U&;_OV],E>H3TNDVDM8RS7H<9XSTDQZV*HJYZ:7/B?4%P%$AL)UZ9G2?<@X0!WU\K5V M%R2GA;(:2?WQZ>&Z""%**(G#T6)06XS3S9$F.DJFUL@E.[-S1=1Q0VZ?B,B0:+Q;9L9/\4RA.LJ/ ME591-/.@4(FD!?25HO&K$85$HUN6S"'CU%A^6BC6YWH+5,:WE]V(3T)4_%WN MAF JSAQ8$"?/^7^&.E_G3=NQ T?$N*]PR:$!Z%*SGZ&*9,\(G 1%T%2 )6EFH\95R<_A@3)[R'(R<+'X7 M$3RS[-\"[477,C3')5Q0U!;XKP#KC)Q2<#^7@-V^.)ZX#K6TTUSJN M->4$MS":EO/ NE4&6B7Q/73Y@26?&;K9$QMSC4$Z-Q(>$PI?>F@\<';5O6M% M]U"%LS+F3N>('=N8*S!)D'YRG23-3K+YIYMN.9=/1BY8?";&7+30_HPQ)\XG MM[HX952Z5]9AOO3091K%[X'U3S?FHH7T;2V_X*IS+F&5^6XL535Y]G&8L!Z^ MAY#_'.T>+?0>,N:XB:)G[T:%!YZS[I,=)C'H)!^^A\W^N<;<\0^6CH=ZTL1W M#Y"PH*PY12!I.IK>>O]B\SI+,QD?TW9*F= TO>\8;:T'8L37*@+#BF-.HB MQ]]N"]WMS%OD9=3!&*Z%96=N=E33M8$A"]K"@=#P%$[9D/"*9Q"_XH\2-PI+ M(?G4Z?/C6B(U[\K=+T_%X*P+Z_? .)O1I3! M,;X$THT)-O%\4BKW75VRQ<=[&E2J4CJ?%V./K7,CI8/+BSH:7^N,?:&HZ<*O(T[M:82R>&WW\-J(F<@[DVPCZL)B:SI[H95+H&%UMR%@PG2FE MI]$K8XJ"F/IR$CBHFA#MFV/8 8NLZZBF%;B*&S&%K"%730GHMZZEV3)BV34) M=+38CUTA\22:G72];;0C%S\^3 _$!GCCHK\UN;RW06R0WIM, M-H0X8W?H<D;T\+GR(:H=#(XG'YXTKJ#*S80]TAYIQ0B7+1B\:&JV#2#\U8_3]J#5; MR4ZW_)0!?$.51LUT=RJEA,BQ>V11>_S\D6>,P!H8FM9*=(4V _U+^2!GY)4] M*O(F"9EX'VYK]BBWS$%#4L? &FU8#%F)E,C9;2A!;0;Z.GQYI-URS8>@EW+342\/_QU^MX:+^%^;5@= M0OY)YK G'^QYLOG6IOU[A$#V5$+ MYV*ECG>=X3'"22")=WJC_KD:4%#,)SG M)8[.%*)W_OFK),)+3>O/2B*\BA(NXN'W$@^?8B/0T[+:LW.F/)I:^=ACQ2HY M(RER^6V_GT2XV AG)03X\[$!V*93CKNI*3-:"A7FMM"G:R":+7Q>Y'C^HJDO M3/H)3/HIFGC8XZM*';8'HUYQF>(3?9%)1._ W*CRY45?GA4K%LY'7_)ET6XS M19'CA7(B74EUY,[#F?K,A8N^O##I)S#II^C+'//PL)Q,.W87U.;64.8R_64L M7+B[X\*U;,GX^^;"3::9#NFAD>5NX>><%>W,Q+Y\F7']YUNNC+WXE) M<^?#I/?SP0(^0+-%PTZ-S]7C$^C4SG-K.'=AT@N3?@*3?HI1FVRVBHXXC5=X MX48:37-W9KL1O38T4>7+BU'[9:RX+X7VM?'8;Y!80<=JW/RF+HL\L&IM,2<, M$]FG\^3;#P=OH[2->M'4TH]&DLS/5?:AE%N?I6LEV@&V8)5$:E1+'RNVYA14DB7&R$LQ("YUVE=3.\4[E^26/X M1E&,C1U9-?KE\W04+E5:%R'PU4+@#!R!>?IQ>9=O:2ROV?E&<[BD.Q8\3T?@ MLD-^8=(W,.D9[9 ;63-FR1U.ZPINDA7X[%-ZV3M/M7S9(;\PZ68RUHE MVS#3M3I':P_Y>ZS[Z,E:H,EE8?"R--(6O.3K+I$:Q M\S1J/UQ(?-&7%R:-BK[DK%&CKC"I)ET:TU8WOCDH])&U]X* 1!M]=^W"[;M@MEW'G2=?!GY35^"].6D#8>':L[ M52OQVX>JZJ1J9X7?%]?XG1#JT:NP;BU?LL#Z2.6&O'SJI2VWVM4>Y,>R76=+ MDV;D5-9SR'QV?6>+R+P.;+NA] #N%NDTK+8V4$-],?/F>&P:9-'^(P%"%;H! M;RN-AV%78&U.S.32G&M$SF=?*=U#RPS,D4/K/#/$LD?5L +']6[DF*O3%=XN M%UN/Y669.RNFC8B&/?UYR>_2L)4D/=&377O E^S0VK MLXOL4#?+3[R0XE)[X.3("N2H:-C3(_+=&G9^QY<[JB(FNWENQ/:3$\LH MCB+7I"2J&O;(B.7$.(WPRB1?B]=@D1VSZ5J2"FPHH$]".]>&,H1C'';(F\8, M6HZ&_FQ:4(&6Y:NI[9#1@>-MLQ:T[Q X$-,4-0,8$MQ\TA]F=&N7E.Y#HS,2 MQHDE(\R2TSH=6<'P$AU]'*Y'B/,<.I#W=1@Y#<4SR1C-Q>+T*9T%8*M(R>)_ M\&ER,Z##[2.W:Z8!ES5@C:!3= W9WB+E(M"L.Z"[,+=<_7F#Z 4@5"ZK< ;U MC=%6SY2-"=+LY 'F\) U"&P$>@R\H@6G+C2DY?[Q0D_B.*!K66NK2*HM^G2Z M5XSSL4YFT>XICTH_NB=2'L;).N2X'RD?YX/787,]CV?0>=3)'**#/3-YAA#. MS/4[$9L>AZ?BDTS+:5L5I\NUDM6" CMII1%=6R8://5;DC'[FVF;SM L96KF MC.'S"V;4>+"?NDXRLCYX1#CCHFTBY-]&3]L(R_NZT')R"WIL3/ADN=1^G+4O MVN9"QL\83>>@*RJCNTF^ ,IINIM(& 9" 9V M$UJ""BP$SOT#;.5J[^X[MX6N3]6\8]:7]5ZZ3;O#M%,;YI?EJA%9^_2$\ HG M2S\#L&-27N2Z['TEF?+CB6XN87C/U2?17N*V'9]D*APOM%N)9NUA4#"+D0U+ M? J)'@36;TF>[][6OGG,CN/%EC.E76XFZ/UB2AVDH[N]$H5M[<@1Q79)1714 M:Z^QS/.9[B(STAZ'#W>]4\DM-] M4:Q\B<:JE4J]4H5I2-)(VYI/W:- MS(T$I<@*P&^J6J-,GN]6K;&"_#3*#^C"*$^WRUJN*=#E:F2]Y>BIUB@0Q2%[ M2T <1MQRO$?@+#'3F<;.3DM6EC4\&M";0)/+1AY,- ?H/GT4^527L9=WY>YR MKLJV7'Y4;Z-KU#^[XE YWW-+_BVML&.0RI.Q?%KJD)7I7K$_3LJ];.\ANB&* M2)-*! HOCQKTC9\ZZ/MXFS'%81-D:>B:TN(&Q@KQ?&0-I&,$?>.7H.\)=S>. M0Y4B9ZK+(E3%$:O$'\>]^)R>5,^!*G]+0F#$7!_HTUFRJ/*<,VG>MU7=5$MGKF5'L?ATP#7''34++8FAX0-(>J X%\ RRY:9FR*SE,=F!!\H1/_E95 M2#RR-W*;U@2)2=04W@LPO]SF; VIMHZL"H@W&HN*PS-SNJ MZ=K D 5MX4!H>+94F72I0+X[?L6GA4S\GF^D8E7(LZ-!VTTU[JQ[-;)^9GBM M/@F\8;%1W]Y?<7X28=B3?(CUUS^.@_$FUWQ@*S>5_&C:KSY>$#4N UDR3-GL1MU9%9/K+:S3+[- M@QO'2?2+$ZA6(D<'N//0OD6%8N+A5?U608*W(KS]..DZY7IIU-!SY2%@,F:O M<4%XA'3\"N&)$(?[Y:KH1[W/4;LO5XLEU]3LX)?%J3MDH M1B*.B^C M0MZ(BSUC: MMZ9F. 7L]YL3U>)A&Y,"WFN7W \17N7NA\ M/,#QG&'_ EQ/Q?5,(L;0,2;U"N+=?O0$ ;Y#Q>*;U]%4,D&*9;W;J4RZ ZWK MEB>"(O>?A%8_LL;\P=+K0^N+>MSB)7W-V4YIJ524*3^][6O%UL =#I4HA#&^ M7/$==&Z136^.80 M/*H-S:KI0<=EOG'DX\OIK2Z=C7@VSU@J?V/Q=[G>*)]OE*LZD"<#)8HA M@4]1-:ZA>6##B;$X=\:0D6(5;9R]:(ML4IY.JDXV,=+81QTNX!,CW:^Y9NQM MF/[CSY&\$WPGN!?\QA]ZX:-=H2!6M'2UE'/9FY&0TY5R S!#$(JX!:-JMIE@ MF=0O],H'/CA!SXM=H*2Z=?EQTN4Z4UA/J-)3UIP?6"-^X^T?+&@S1 MD?3Y@ MZYETHCUPG0=ZJF7J+&]702>Y7J9,7@@/5G?'$-&U:;T3$COOXXL%:)ACS=@W M[&M1NC'$S\W9;\#EI[;XA<8R74N"MO=3A4 FO(%>^.=O]!_*=I8Z8K$Q6,3F MFNRHOQB:_O=?$R#CEI8Q'2K.K_AU,KZ^9.&LR>"::9/\)O09'>!-C;]^;(UJ M#30CYIB37RQSS4V_4W0D?<2Z%88 M;GU3E]&SW7JYPQJ"(W38'/=]OE3ID7J&R]0/'W^9MLO<13 M^4:M5A:$-[ MIYNX7K-6#!&S8XY_L?C*FF*9:R8#QWNH>I/)0Y/I VDTL'"(-B:9NFG]^A=- M_O=7,"+ZP.YP6'S0UQSZE#N$3VSTZXCM#]S!QZ.VA@'_7,D'7\.PB4P\DV85,9%*)\0$ MFTB((,FF19#)*$I"R=!24O8UC/=&1Q(MIB1T;I7^?"34LGKAH3ZY768'F$C] M)QVB, .0$S!A<.M@8L-?P1]A[L)F@8\!K"\E3\]NFB!XK9L&"+UC3#A6\-40 M/O%U.;A.FK1*0/?Y&&'6'P)17^+?837B?RM0*2$B"HUMHO$4W9S_4C49^1VK MW[&Y!2:_^A8$H]@< >!%,VEU'_1M4W<=G^A.;B[]M=A_HNNGTS<6/$VG&K&&X0&_#B6DY/P()9S(= M]N9132_IV")?UF^YEX8J6MUD3^DRB7S^3+Q.OY\LN\ MF\Q^YZ9H6I2C0DK1;$12'ER7R#6EH"%#F=IC?H9X\)>,"YS0H*H,EO@M:)R* M"9LD6L9[,;20G3H:C1^X1XV?(DN#'XF%:O[F7FR]"00%*'F;77'FBL+3.FC" M'L5,>QON-J?::&];9PD%*!DY'A>3- W$1"(%Q$R&BXLI25*DOBSW 4AM6V>R MV8_W)_>%6-=MW8MVK&/<,[W6F5MG\>M,YF(L?*)UQEV@?5+3+,YO]*N^_86&ZYF:JKCSAF;C M9"2JJ"'[!#$ALMH^*4S*DPUB_%WOLR$35& @3W<=XZ&KC;N9:KK-W/+YP0OL M1]-,+)[*T/0E7OH5\5+V6=)D=P.HIZ>M-AQHMH,;RN"<]1!]:3FWFT@)CV6> M@[!7J75+;G&2?8&^>*2&[(EF4!THJ09"S$"#]I7'+&5#NHZNC_,'OP"20\"# M=U378*& 3=D3*.',#9E"2],99AYS\>[]'#OCY*DO]#A"5'AKN]SCC[/ M!>91\3,9)+R2QV.$S[$:G_<];=QX:6*9,ZQ$CA^3]/0U+G:PD--)!B.MGORR MAKPIPY4CVB@JM[E>OG3+NWVG6N!2:;K!EO4KT<,R\58+D%S MR<3SJ#G >YGK]*MC/"?&6_JC=AOA P>>[EO_O6 MSW]>? J9@UJ8Z\C'K $PM"?R^\]-I_H;P+1\W;X6KBF_$ZEU)#AN,@95-Z__ MO.RC?8V8RLJR!6W;_Z>J&9 )N7ZJ/2Z+MUI3I<&@EBI635>J2KNNWW,"*LFE M:*IWC1TE0]817^9,5X?1GP^J80_@G'9MAY4\S)+N#I?'J2;=P\9*K# M_MNH+VMI3Z8!/@BS3V;&IHG@KS]JD[6Q2^ 13Q8>YJ Q?N)CSM,\P17*%<%X M&Q&EDRPN-SH5)WY8)?L0P+&IB87(09L G8(+*)%>XN@RTJMH,NB.[F)C@GK2 M)@@5>R38EM6/4WT9HB?1^@?_Z$?[\I,V'JHELUR;& MQL[F0Q.4G'@Z"?/=DM*1$L9PUG;S;Q- \40JQJ#_778BOF(G(CW9J4U*K+8= MUB<34!;A46A!F9JXENWB@+AC4N@)O!Y_PY7]H^_3)))..*TK*SF_J'"^$(S+ M7#J13HH*JZ3$!*0E,Q+/AC*+UAGB(UUW*[7NB!<*O9%1MAXK MJHUSD-CM)Y/#"MW/L^J,[CW1#O%X"H$*OSC:.&W#0QT M-,>KTX5 4BD)'_7RIG#A!83_="Q G O1>X/^\\W Y#YO0%8]Q,;L'D&%Y** MVRA1ID'-50W1Y-K,V]D[N%#H^S)3C^N+^2;YDF'[1)J$?+&[?O/>SM^K6;X7 M,X>YO,PY"WG^K-SWLMH0]LF!4E?4!%C4#)]Y0/T/?8T[EQPC\?1"$R>F"5\F M>B)QM<-8T)F8L;S+"J-*4Q[&C6G)N&^W_*28YTBBUL[6CH7WWTO8OCE+'0O@ MTP20 SG!^R)^G=2'JP?CY?O'B5:Z[XZY-C\6'AX>"E.<6<6^0!H=I#3JP);! MU),8%*[=A@Y5K>9?I)@OVM2+?^*F7FHWF!+_0#!EL!M,>38V3-5- QXYRGMP M.0? [=6,E T9[^Y"JK^D)!4B0D'CC"C-6T@HIU*S*4#-H:['1H8Y1^-!8*-% MR.B&[>*P+[ I&2J:X:5C!)T,G B@D!%H'H.ISE_L +FTGO'K)?7X&Q MO;"M>HSG8' X\W[W72P,8MHBYE'GKQORC]CNBK/J_%:=T[U9/#$5J]UR4\WN MA?T[B=7[A<=YMK]0O;%BD[>M^Z, )WL,F%)L+#E_N9,)M"1@P[]V"Y=/1?&) MXU.\83H4/G-*PP( \;V"RPDL4D%D/R,0XCC?)%0&LQ8+WXCF[;R:3*K)19UN MW+1O*_>M8EZ0YQ>:/R.:GZN09&!M$OXOZ@_&)UP5"75,\S(%='U%^&&.Z$/_ M 33RJY@@I ,"BP31B04E2&((#.N-04K(;>H/-#(".66[ MR!&V51,G]E->FT3T(G"V.7D.[%TV)B_[2_H3J2]#IOY@0^ON(UL//=0?HE7A ME\CSZ$T\'W\P[4 87[OVM MN'>/>[EFWK?Q)_&[=#06I( D(?ZT &8R3*/8Z3+V7D6&JQ';>\-&Q(&3.SW% MAQE),L=HXUQM9#QS-]NF, M+&;Z'"LF.#8AIC,2$.,I*962&"F35G:JWUJZR=WUVAUCQ,I\2F#YY.RVW=J; M]9!MY^:/3;7/"[<-1JX5P&#)[LUEJ&=H36(S=_51[*95>JAV84-B<7Y$8OO) M&U'GTX-"S*![\V0ZUA]PM[TQ+D_@MI^4*HN)15=MV*VT.KP16RQF3^)G8>'^P%ZXKG*/#D4NR651VM/'CT[XY.K_1CNFHE_=K^&PW+SM?O#KZ\" MHJ]3WWEYR?1U^ELOD+Y.?WH_D<]<'TM_?P;\UNMCKY.?WBWR..M[>;_]DU5% M:GNA56R6>090R/3R+A#[ZZ(-/ED;[*#H0UVF+JK@DA?U!4)Z#RZ0OX/7\-\?[(\79YS,7"?39\O6;UDINS\E^+LM,W[- M?K(.VJ; R!DV;\_7(46(1!CC6-O M):GJOW$T7 K[W]DE;F3FTE/-B^+69IC M*[?J74LH,9.6&-_?6#(4CZSO"]V]/\OK8KU%13^].BR^&=^^F'A?;.()7DC: MP\_* W[Z%WI=$ZU5$#Q!K5*=UKJJZK0^'QAFN)B0]I MM-!I(@6!U9ID[A]@DAP;).RW*1 MJ+)6XB-!)_[HK^2' *P^0,/&&@L=+DEZ]Q],DNI>"_APX13+X?8S?^*%KZ6C M7V/5UY&J#(DO1;/&7@+G!'T;X(>0Q",U1S*9,7!ES?'GA625C]PO5+UE2;&R M>%*FE5VCIJB#0:@"V&6D:4-T&P.Z)&J-^_1]T7@D[>!.JG=/0N[L*\E=H>QU MZC]"Y NU=13I442M2V<.*MDPQZPIE;3]\Q+TS1TM[+4H\RK5O-?\M'Y%)]G^ MZ))D6I8_$]/3_9:%$_U-3(@SS71M?1G0X;ZO1H(6@^./BIHA.&.'QTO(KQ:V M19,Y)ME,E$I+>E1*P7M6+=I&M;BW*CU2-+DGUY9];:XM-J((=9C(!O,0O,9[ M0*4A2B*":)4VCB6Q9)(4>21P]:6M>7+4P%WVD&"-]0$VR[#A!@W;D] X?QW= M(O4RJZ^':7,EL;<[!5IV.!'>@K@WJ^&LI^";BF%6\O/J$\BUI LQ!O'3QZVY M\ZEL()G3M@IU/;#3J3\.%:D>S Y&$'M%R=Z7>WH"7N:&@T=8NE)[=.^$)%^E M*UUY7'_H"ZK2&9R2I2.3T7_DXKMG,_JSA.]O70-2<=H[&O2*4)*.2\+Z?BB9 MDL&*W_'L1>(J(@TY#]IJ4N.L?&&!X,!$AR8(<9> M=;_7$<3_AN0U#+%)^?_.=RE$,40*D5(!!6M -)!]17E"RYV8GFJ4=-,F?B30 M(?8AD21:5;SM6<7&1U<%.?CX5U(A/G5-O"9_;+]!04DW$7OX'0JN2&D.F"!O M=:$A-H((&/_C,UB15"&AEUU#\_BGB_X0!=_%%;M"0:QHZ6HIY[(W(R&G*^4& M8(:@T?JQ<1JMX8YETY&AA#Z@_Z P8!%I<)NLF;7%AB)R8ISV6#&AM#CSD9$S MM%!R<@F@IH:E1/8'Y0]C__='++G+F$UBT19U$S@AOKSO=@1UVGVJ==UI4Q)* MZ895$!%?,AGFF@YX*ECM/Q2B5AW]<4T)*E))A-@VX!R@DC2K\K7%%25K6)&1 MJ@Z9(OOAQ/(*4"U[<83@*1NY&$C7D*I'N/#-HSZ4 Y/$"0B!6-CK3A&9-S' M=2!(*0;57T%YQXJ.5M4:OM)$-#O&$CF0OI[[0#29BPD+S]%:U8;9>R,1GGSH MJ&08/" RNU8&6O!E8H*Y=E"];2"&LFU@(7ZG<"]:;/C96*ENCJ"8OC% % G2 MH1-D$5Q_@NC ?3J\QKEX%?8*OR^QENDZ)+)#VNR2-XJP;R'AL*18CHB@A,=) MKV0=[\LBFY2GDZJ338PT]E%')L@3(]UG7\,]]#[N8466P]R3$/O\H]1_6MR, M^E@XM%^8[WN$#]94B&3Y>\:M9$@YQX: M\H ?/#81/[',%ICHCK[1;C;:V0Y? MH'(/5)LO\FV^GN<_@>B:V(8BOX55Z(4YI($B\I(;""*:]?(K9#3?(V MQB^5-0P7RW (R2TT,$&::NJ(SY%6\9J6S9$@6Y>,$_FS51..Y<"*Z4,'.>)G M->P4ANJK$=,[OA"!Z+7#BSEP9OG.>=Y7Q.)?GQSBF>G(*T1.*C+J<73$I)I( M ?O'XY7+JV)5?_WM56BFB#B&8NA898O09,V>Z&#I=0Q&7B<,^AB_(7CW!CJ@ MWQ#')-TB0QTP)1W!"@=HU:V&S&SJ.HZ;<)ZB$>9+S#I"#1]J)$C+\!?0YHLE@AX*]SJPZJ?U:-;B*D_C@=3+^;VK] MYU\_]L >5[3M-A'V>V_1"/SK:W['+?_B"UU-0WVT6>8:E]"%6FDGF.O4J?"Z M'22EURX?H%0+ZXQ_=1KYO1C&?S];Z]PAM8.(%_,F*0*T5P@'KZ'M35#O@^#G M1:^3KZ=DO[:2 &U=:RGV^X!AXE)?3"8E1DQ(("WVTWU6A.DDD^ XAE% VG_C M5"Q+KF@&/CWHUQ[D,Z&8X;-'3^^BU6^9]8FMO#]>3YKRN.JYDM+U+E'Z.I5" M@F,EC'[]2R'_^^J-HS=W('[EKEB:\WH/?O,%;VQS)JXS>U?\4@/&$T+DHZ>= M-)$ZW',TV"N++B)"]"M%U,RV.V4Q3:>Y#+>S\(/J* %>MDW$#V(@//GB$_G M@5?W"3TJ $(<0*3[2S(BC/CC%HY&CC>.MO8+![S 1=$UP2/Y>TS7.U[)F?'#"< 3#/(VT)P!'R6_"2-T^!J3;6OV2 %D MFT#,I.E,*OYA9LA^(VXX*HSP.%31&^C;<04^/.Y;L 41@%W#@LA G4%9<("B MX' UCE(@]"?3[/[F_6]AD=PW8I&3P6L])D4&I8)1OQWOX,-.OPWOY//+/K3\ MC,#E^UF%8O)A1(='F:N: V/HB@1_32Q(#@!#;UU3U#G[),<'X\80%ZZ),->P M3."B \%N6-184&NW!(M#CDZ#']Z-'X;[]M\;OL4I!MZK*827%,.O61?>K+ M1O6%WJ-+[Y>MYPM-?S>:WK!#DU[IDV):Z^1UVRM]X*OA^+D+F^_#FAV.LW/=BO'?"X_]K0_2I&93__PNU1YC:4[55ZQ@;!S%< M4GV%)%G6;W @9M(?98C4]V*(TX&LMMO&9_T!HEZRH;83Q543DKQIR%[[,/P, M8CQ7][J@-";0:S?P_51.G/Y&3)AMX0X>FD/*CQ .T4_=_Q5$%C_,A-\I_^JD M, N/2Q@J-'(XT$ME^Z;K^%T,*)S%]?V8[+Q#OQL$DU[)RU5ELXVP*[B3B0[' M'V6O]/?BKE, :ZVOUF,2_O)'1;]Q-P-\X/#W8Z1O9#)F\J18W\;HE)$\! ,+ M>MC$-?M9TLKOH^R4^5[L=#J0^0/CYE:8E3;&IGJXWX(WN@-(8SPC^$G:B* 7 MUDRYUFS?CONXQ#?BOBRNC;9,'X;V8>'A5,P5"$8]:#7?@D MRGR2:^#63F7#ZV2$6^[%XW&.37R84[Y9EOZ1 44&HT*C?3\N^2:57B+&OIC) M7XMKU?]AYLA_,^;(KV'3A@-@X:\730L!X)T&VWH\:C4@Y8](W;J69LN:WXV6 M]-%K6G"&FW"5#7OBMZF]<%2T..J287;)3O@NV0E>AEE93"=3;"+YH12S2X[9 MA>*C2_&7'+,+37\WFMXL%:4+0:=G/CA90(RGDS3W\<8F]/>R\H\.JM5P5]1J M0*H1G.J HTCYH.,L5<*G.> @[#>,NWZC4ER&66$R'SK?0TS0#,VF/LQ1WZU7 MT F@M>:D\) 7IHDRT[!^TNNR,3>0Z%.UB:GDT0J 9N2@ 9% U#[,.M^LIOUT M, O&I58#DU:[WM!4,#;0_?M$3ZU3TOSWL^X>[E T93O!Y!A>+ M,>(\EVA:FB%I$Z"ODRZ*$.+^B8E$XL-U!LPW*\X_#;Q68X8282@\JI=Z!JT9 MC MZ4W[-,DO5+1:QQ99)IF@/Q[T_68E^D<"4##(5G[Z^CQ"05*AC \1_7Y6>^H; ML0N'3T1DZ(K@CM%C'VKY^\U*ZH\#FM6!DY0_S+=CA]2!?'3)U/%*__N#_?$B M 622U_37K.T 0AH?L!Y?S&"4"[5LYUNFQ>^'[ZW\T!_DF/_/O/\-V;RZO/? M(F)0GN2TSO3ZO,;WF'O/'+X9'(=+,.M_=ON8V= )I7%\CN/F<8NA<3<&BTE0 MU_]ZCNH_Z>!:UC]X.?A_]$EV^R3:4Y]'F\I-;K%M3")[D> M )/F(*:0]L6RD,4R!Y8Z!TDO"$K M"Q\A"S3#QIW"R#)T?QGVNIP=/2-!RR GHKL6U?XW@L-Q:$EXVE"D56E SO+(4?&YZZ"%$^*1,!?UE49;?@(8\. 9+RI0D M-"GR*J04%QL_9 9%RK+^%AY?$3\0:A>4V5$9^884A)NJ7;U+ (02:+!-(QW M3=&\ ]V1=$0R!LG4 5J9*ZD8HEAML?1?0!M?D3^9OU:7T)MXQ\B!.W=LVQWO M7.U#74.+W[Z,X:89[I[KKBYO7Y1WGX.VHXWW3,)#^/;5@0GT[6L:ED0[GT(( MV;ZT(JGM&YCD=JY9$%.::OC/N?.-! M3,,F*3VT-20P@(49 Q&BO:ZDPA3G3YY<1#1K8JI$%W >ID^7/AD3;O&N.!:" M(F8\B]"O 0=>*QCT/OIM0T)>A/"]"4CF> (LH@]"A(?867?0X@8J99AH,HBO MGY(?[WEHN_I"-X.(3+KL+/ MR\YM=; MS];^F!8)[#QN?06; 41<$PL.V7)X5HJV@'+8!@CL&$_O; 9%O,=\$?_C9_C6 MAZ:\[5%B?4+\9K^]U\9+I7Y:]LSVW*M=O3H>Z?\2ELE MD"P>"R#)[!,ZJ31$@HCH%(-(6@E,L#I'MZ:N9H5ZMN#7# AE3^?@]6"F0D_Z M*L88K#V"'7?N0G"_%\%AL:F-@QX_I%&=3WDK0V5LRE GE(7[KSIPH$F>P;.R M:2:6*;N2@XC2@9)*A*KFVT#!*-"^$-V%Z'RBPS2S81Q;JW)K9(U:>"/!QHVG MEEC98J)#YM*%?B[T$] /-N.@HQ%3CYAT1B!N=N2/2;P;V454M+Q0T(6"0A(( M>.%2[...22H](9B!9"T($-=#0G]!I<:+;C22T;(14GYA.W MQ2'Z,'@\T([X#0,M9/7PA1XO]+B?'I$;@("OV2HAR3'6?]CEQ%$#74=J$P?# M)M[)B$OJCW+S3_S+\7J0[%AEF";!S-1D2M*!-B:NA68H%EHNL?HN9'@AP_UD MJ&J6)Q0M2.AO!)B-=NLT)WMQQ#21[2,PX0J1#7TCGJV-4,Q/OMQ+%Y,>G;-7;-= D>'V85O;O M;N/]Q?7.^A?L:A8/[Q3@5?6!#66\SSG>/78BB)"$ RA7:]8B6W!0 K;C5R,@H.\DX[U 1#*22LVAOT<)KWPS=&TU5H>TD!I+''>DM)"^]-HLDN33\B@/=P+%._IK)HKOZF M*!YI26QE75]%WY_;T$'?T7#HBNQ)X[U4M#J#P@#V=DV10L2;J^B-:ZKH6GB* M8X2:*TKSA-\S@R.<(0AL#W/E(\K[+2W)1]$3&.\6TKQD,U;'O!/(5QM) DU! M4@'!=@-LU&H#Z_ LKOPG0O/RM@ ):OO0C]I!C'H"1;RIMXXB6Q0:%V-_B3UH MUW-#,(0)KCPSTD,5(C2\BT@!2<6[M03R6UOI7KR9=-)>4KC;HK>!C&@>K< " M8TCV '9O$/0#A,"!I($7+00X#E.JSUPDY(U14&3"0"H+]%@YG@OBZUW\,#8 MQ)X]608B 6- (&6B#R"/#6_GN0:NO??W0O'A$\&$PCNB4+?A'&_;;U%2L)<8 MQH.NC2 ARX/T=X6! D9(9* U@$"_:HB[5NR+H$PFYH 19DX$840J'JX0)-P) M?M)+$9AI>.=T&_=:B+9\3@ZQKHUX:;73I"\)[5@PH% /6(1_U]Q)+L[QMV1H M2Y;61Z CX"=817,B__JI"=XR[17!*)J.J<91R=WU^6UDJ?Q"(KW7R0EQFG=$ MSQ\"G__SFNIA:>"252-!@Z3FBDYVI.*!C R<7>$2ZL1S1'_:N&X5/^:MSY-8 M(5Z[QO.!2/0#.]BL(ZD/.IA?X:5XJ0NO1LDS8D/Q6 MY2%/V>12PH@JH=W5.KR\E_"@^"]/I&(\DM'1YS4/P>3IL'38>=UGNB"[@(0D M<9AX^"4E]Y*2^Z&4W.@EV(;LP)VB MH*_1MKT=8P90,V!IT/.Q#U@S5[XAC$T/[Q'+;XR#!M@,!(;R9?<^N6%MA3=J M#SR_?_MC8]MWWZO(37'1#]/"#M/Z.&"B$35LTQWXG.0=+VSC?EK>&[[2&4 # MN<5ZX(]ZWC+)'?54)%@Y%,B<04(5:1N(_ R)9"YOYA[O!];ZE,BM)&'DR*J4 MHIOS5IYOAO,$ M-U($76^;VXOW$#/2-0+SU@+8"PGR#I'S:I#WH;S) \B00WZ2ZSG8B*4P3T)D M,WH^.L1D:6"S$OOTV$[#O;1FQ'E[)HYWH<[?C#HE1!R>/Q*(W8U8D8T4!;Z( MU(""R-&SK"_T51S@8ZI!(H"8A MM4O2+V9 =XG[CLT /QBX&1OR0]F628Y^N4BN"^5MZ-4-O8FL0:0<_70<3'4D M;AFD@2$=.28DA8-W&P8XB?[8(7M[#"3+A,A2-,>:M-KND%TO6HIH7EI*.H8K MY96QK[8!('K>B]N882O;,ZI#"1_!3@,.A/N[2-OSO%JEYJI8_H82=%=E.,A" M !(>,71SM6N'7]:@M64W^W8RC@WYEC+> _",7^QH>!;QAWG#)(<8>UQK%B,;$)[8#U(ZR?[3 M:NC5]:N5D>S;*0&[>R,'/I\V@W@[9--)M,8;?N"%KB]T'6@/$J+?Q=O)Z/UCL 1_9M).@QN7@A$=O9*L[Q:!#Q M@XFWPST'#5"&.^XCZ1Y$?#;B.\1MDX/M<@H?AQ'Z=N H(B4F&BO=$Y)#=0(QLA:2J M6&&_UG8E"8DZ)#/UY2J+EQ2?'QB*^+BKY$)D9V 1'4I1"XK;O<@QF9?GI![> M$=DC2KT 82@O3E_N^)=0OG#%A2M6 M>GY'!H+S [O1,]@IV[D*E@XYPSDKN& MCX>>:SY!^@^NW$0_5W;CS3#?V+B-$(Z:K,L$<9P;9^P$Q] 12\;425Z+?>TG MNR$[._QI#><+Z= 8..HRZ!*!N\:LMCJ#>EGT&8G8)V'O-61W>[NKA+Z\!9%J MQTTSW4NG]!C3@Q)A6$E'IL^%KRY\M8[!^SZ<:1#_S4;4@C?._5C@1M5LX-OY ME&=:Q%E$3/UZ<1)QC.&(XW(KR$?B?\%ND^DU2?-K-?!)G[:W$[4, M3!AJJ4%=)C)\BHR)2XSN0I5AH\!+15^$2OE6IB\F5=U//YN7'6ULK=HAB>K5KUQBQA=ZW+-=CY6[I>%C&]>)($&5'#[ND>A[+ G] MG<8Y4$B]8=_"%1*8[GRW:K,!$=EL]T4E?EM%'T?OZ3BT032\[\'A/S6A-N8!QOBF5/S%YY279DLH$ ]G=D@GJH0/K+JPC+A0$N#."==TH*Y6R_ MWL>K ,8&@@PL.=12BR25;'2:7%7N^-G2*QGNQ17(_OMSR1VOVBBYY%==Z/5P MM,X+S=E[8G/ (?;J=N\:B P/.X6@&Y:/[F-+)L;7,[12,TZ&YG,,\O MA)+K!^E6-X(-FF<%[:74"WTE<2GUNI1Z?:C4ZSMT@[G(_[=4!G@)V63/T6N, MYXES4LP&X2<"WMO:E0XJ/S21OI^-N8F M1^\RLR$\BR1E&#<5H8+Z;IPFAMQ?VV_DC%>Z*D;#BUAE#0.O,.R> M:UJ!=&@36 Y5OJ*\D]^R6]7MD:JC/KWR>D5):'!J59B2WW+FJG^P3(*34YP, M4B*(*XJ8H&4HIOL)5@1I*1VG9:F?A+)_L(SW!CG66$S3:2[#'?7$F3?!8_,P MY8-')WLG)Z]62P[AR_F&E)A()N,9^K-.S7ENQJ&S0:^IW#IQMW_"H[Y>.[>2 M5Y!ZY,F$BXF)@MI@2A[[=!/:8RGJ&?0V.<3CY#URK\V>HN/>:PN8_EC6*J6LF&0F7 M\X2#+N'\U8XY&.A^ESFL(80)%LPXH(/#-QW3FKK^W3^"TJ _K_""@O@);J_B MXM"0:86;P%R1]D6XV4]P1@\R2(+8(H:!81HQOV,9DK]X-22)%V_L>Y_'YT.J MR)WPN]/$)-R]!OO8,G GH'?SQ671P[PR48.6O8#J M!X?W^%$$?-H,&AYW$$%_ !>]9&),_R3KQRCTPUT 8A\?2'ZJ EF_)UM(LQZL MU#%%X9G[Z"#U(R1ZAE2=A74>63C6@(@(@U,P0)@(D::#AFU:J[,-+!/(FX2T M*OY>PV]OO?E1M=S:OD<^PG,\Q^R>6]>#7N[(1O!%UBPT7W]WT%$M]8.:VP\6T(.?TUEH!:S-9@>A"1&0$*I900Y+] &%O0Y,RJV^8& MF'&*4PSW*T!.)1X.+R]8'=FIP5]:564>FE$0'H2RU6*C6R^TR[QP385-JQM]E$DP:6QY'=]0>D,S2"SC/.O"D^8(F6BU M!2A!4IP19ZX00M@XP3KZ@R6538C53=)_;U4BH5#_P\6OTTBMZ'J0N/ _'!(M MP94K',7"9[J0R> 7DNGKQ+_)@TGNFONW)X41&KR>4=Z8F6MF:\CU!1*_G01I M#9Z&5I'XF+H(/T1/V$AI20'V]A .T>FKCA2^]/!4 'X9O93%/:;0ESIP >Q5 M-SLO]V?=N\!KRQ]R]WQC)(O4%:)A]"+O8B'N#9"U-1!K MQ($%/-@.36G4@\ M?<"T:_H[.@VDE7$_K1/:>*]I&!/D6SD6[H&(@ZPCGPR]KO*&.0-^<[UM'3'$FG0A.WA<2='?VS$(/VA,#VNZCX/5.BUV8H M9/)^<7LA#/"P ;Y"(Z&A/H1&:,<2XQLA$EG32.^D5^&<=:@'R_,)5F3H'89- MC_K87HFSM3["#MF?A:N6.'B7==-:WV^.@U7V+DE1U]!2$%3(]D% 8R$*"J3) MF^W;3:,VL)>)OB1DYO>C6X&'**V=O3BB!"V#&>)OIG MHI(LRW+P!O)NFF7/2&NYB$G0+^J/%KD6'A7BQ/[@T)*UG8]#:8C)2 N]B8Z' MT^& =)_UG(>0W4WZE.*(&A*I^STZ@7AT>"9%:%DFQ-:U=?#I(GF: "1$201T MA(@,G$^*_O1Z$1IRS%1BNJ;X)T6NVF'Z1L)>8O0#?Z2FP=Y=^6J#'ONXOBA> M=1W%C3LMTA34LZZ<59K>NL$AGL,83\+3ZUXRX%$[;!Y3>A 'N;/'0?YD68*G M$EB%(4/0/T'6<0WHIPAYWNH*FPA/A:4!Q@Z1LQ;9.?6 M^G_NT4/H'39MC-??\" 9V(H("L3(NZ(6Y+\M\M__Q]Z[-[=Q'=NC7P65>W)+ MKAHR(B594GQ^ITJ1[$0Y4>1KR?'O/]< V"#'&LP@\R"%?/J[>W7WWKUG!J!D MRQ1L(E5)1!*8QW[T[L?JM6@"7R^(N0_^W^N!_Z<'3L1QD>+V3I>P)='88K45 MFOEVVU)-,&\65&'FY _0,1_E.>JI_ V6@W^>+3,_+UT.2>Y9SYT6[#;6E5_W M?&/RXXAN'DM[F)OG]!'.3\I$(8_._Z2,;[78\MBTS"'/MR25\+4_$+IL(K$] M>UF_]=]I2,4>/42<*"XN<,M[SUYZ#Z-RW77=O/L3MID/+O#@JR;W5^B5MT,@ MHP@>\M!H(F0;G!FOB,UZT?XIOR( ZJ*U,0>)%>9$N/'9^-I?1.8IL*UIF7T% MOTIWT898I!X^\NL5GA"[QD'*):QN6M3G_D,V8V!(TEE/@"HC@5F$5D1T$WV8 MPB:-L+N;TDU$?7YK_?-?/J+0F@4OFA4]'Y&>MW^Z]@N C!FV(Y%I46&]K[0) MVH\-)^:PSBB)4/&TH5^4F?UA2S6/X5A;954T_A;#?:QA)AM,_V:MNU!KR75[ M=%07;#QNBHF_-#;#NI'AKOX&?55XA]Y_4\^YU(U.[)D?J__WHON*_5,_9+6? M$V]D2/LY;Z25FV;9F/E)$Q(W+W^2GI>^YY_Y&\(OS[YMZ@N_V=8XQO]*_:[/ MFB:GZ._;OS[[(FQPLCD=(QVJ57'1-\)US_,J&@!^ZO/*<6-[L%W^9'^/2?;O M1FDT>LK9,V^T[KU^ZV_ ,@MD_^HE<956]>RJ8$P199;\#2F5K,DB;D1L_?]! MTB$<7I]K"[[=;L@(7%REOTH\PN_];MK2A.A.UK?3/6*^%8&YD+7 MQU$;)22"SVPM#&4?B_I5J)5)%^ZY.H7;";0 MNG F>$J-;^K-%))_X7'DZW2$\&H+?A5<*C[7_?^59+>MH(2<(IDU6%1#6=(C MF(POG?&UM[W^.X-CAI:G;G8J/P3[5?E]*=S?^"/-S:\D'O$)\L"OOIN]04MHE9:G4FV1)(D:>G6X;LK'#AK[Y3V350URNU:T:D?A43+PIV@<8=V M>;'@EHFY2XN32.]5).?36"#UIV?V'2BEX._M2_H&A:>X]PU5?+80< MZG-#C/X!!(4?ZLS?9YN7G7C-W^:(20^D/%6"8.#"&9#'RV\-S@-.(NQ$&=^G MX?<)550V]]J!PN_'M46< .16+L@1&<\J62V$QP[1.V[$$F/P6+EI7$ 99 '! MHK&:!2A5 "K1[N4-X9_?FVWB37^?$X8@8PL5*OD)L?_OA\C_*(_Y49!H>!^\ MI+T=&B > -V")0L'(0<$@M4+AV)WZ;8I?(.!"86-_=D^:S?CB4U&)P%7N!=[ M$;_S!J[C>OT%ZY5\3ZG-<[G-.,SWOG[VW=.G7]CL3Y,OU9;6E/(DSA<%$0Z, MM?&CMV2 OM_G&A'<)"DZS;,K+$AM,N(9%%4M! M9<,Y2ED:1\G@>]\]>W'R-__3%V+=-C8Y>T')V1S)64GQ9@AWA9F-\F=I\X$< MYV).#ZQ_[J/"WV^ N]X2RHJ#_\\1\'X%A5P*;15%&S#9R&$I'!P(Z12LWNIS MT[J(/M'U93V[%A('OY8G U!-0N3:!\].E"0'ZZ3&S*[4YQ MJG760"^)VEEWQ*S$6?[RB%DY8E8.&K,RJL /VGW03"2)45@LA'%))42J3]J! M3$4$ !@2P0AN_5*ZI'ABN0IU6==P5X&6Q]FBC -![W-=%4W'+1(HZ)LGF3O6 M5A*WWC_R);*^N0(-T)A'M90+E0$7#FM0A5"9HF^I&EC(J^3EYC)GZ0X_;;=5 M(MAW?+V!YTF#\PI%9?_"@[9;ZH1Y\.#1^?U'CSYMN^W'IG#'/6V:,ZX6/)S_=/=6,XZ :Z/GS(>=>\7A1( M[BL'8KK027%U._VX],OTMNA!8\8"956F=D8(PR=*%?0 U,V*JMV0NI8KC>;" MZ)!IBYQ)J7'46D)IVBXDTXD=-/T6MGE+GD^'FLYF*,%8G0%&&PF9;W0H8XP" M_&PR6Z-):9QM"_JG'X1+[=3)9G]UE%+<$M- 3J7MO^?>.F:SOU'3R?_6&BF] MS0OOO'RVTCN]8\?E=UV2@AB!2]R*OQVVGG7%%?OC7YUM"2LGD\OM*G\_E[!O M ])48[5CD2_*&G1:H85NQ#8NGG>XEM3=];94J.CR=TYKVCYL 'CD"?>@K?VH M7"I8'3%L-NZI35ZY+UG450IJD9G\U$]M)P#YEOK)#.GS*BV3)RR0$*8E[;QZ M&5%F HTJ)T^8I--HR2JVL3D,H *CDN?\&J6<-0F$:6OL+)]H'\S#$\/'%NT$ M%V8V$/^9S0-[(,7V $= MCB?Z,JI"''RA:QWM6"[M^WW^'4&C:C:37"CB'>=?FGC?_"0HR5H6NQTR\V!* MQ":V1%82[F6D^8;S/ML4&X=>5"[' %8NF MYNWW?WVH5[VWW6HOOYTME/UE=,GG^3)@(&%?KTD2[!_^7%ED(H?'B%TGC4V! MA%*W)K9EK ^AOCUI;EQ<(I]OBEZK$6"+S">K,9V2*Z$N?H9C(N]QG0M4M:U7 M'?V0Q5,V7^C6QF%N['='@"!4DUO1@=T0:X*+;[(:+;.7D;/?J)B;AB5&^K M^+&I3_M9F :X\X1>C/WTU_1AHM#4KXC,"F!L%U5%_ MWJZV^XPYMA 2GF4/[]]/WJ8-S _+9/)XD_NP9%92Z.AM;_JMKK[@L]R;&02S MK %\?OY'M;]=W8%VE7$IFM+=_Z2,NB>/Z,CPUBJ MHEZ*S:(/?=S[//SY[W,NO2R5N MU\CI^E@MO&7D-?\"[I;=?QKF7%_S\K,,,M$2T<)O(V;=9IV#UE!T2@KRXPA0&8E%,JBQE% L M%:O#0J:?EFOG$X(K?P#]]V"R/BO(\H>]V7_U028;F<2]!^AR)66.I%P0JN'C M[[W2I)F@._\NM8+9O5=O__[%"2?+%-DI9Q\3RPP>4,H88F,"T0R'%=7LY9O7 M)P]GE .M9DU=KY6^5\+5E..*@@[_3?^=V=/[]\_^?'[_[-%LX="N(_T9N="5 MT&.0DUU4!$*O21,]+E7IR^%>+3B"Q&33QL8=<>Y596#A(QZY(/F(@:>$8"NA MC3\2*74I54YR->@8<.C[810U4!/X59O<84N\<*SQ:X7E\K/ < M*SP'7>'Y^%/QF9S:G)OUA_D!-!Z$5CM51!]&UVT00$5+B=*T,4F9 /Y5,(Y= M%,5$1(Q%8L9-YD0:!4ZGRBR/OSS_K&46;4"PWMV(_B^W,XIW;_OYB5&#LL?E ML_4[ZCU__>;K;/;7M\^SV?/+8O.JYM/Q^[?/GL<^J40 $Q)1=#*/!H[.FJO< MN^9]JR+WG"5U:QPR?KS;69/3C(I*8"0;11TNL/+,_(0MG8]^4]HX^GC1Z6DL M6E7,C"D_F/-<"YW>WV7VHN!2T)=3;X->F7YS]C#\*HAJA#@*GI;W.Y8:2@\& M%^"]4I M[O7T'T>3)/V RLBFB-ELX BHS[NE?+<^.HII+L (Z*G[INT%$#7]QN%1^"G- MZ.9M;!#W=QWD,LZ>2J*/^G90L+[FV)DA"3%9?$9-\&H&];:?K[]X_R"P?6J9 M1)_YC:FE9..85Y$F):0)N187CTU3G]:$.2\3@UL<+8]M1%W8N:*E2YP-W3 % M$9\TF>>DM9@V$5KE(P%^$MM'?;4Z^KY9NUX8,[YMQ%I!/]@OJ MDO#OKDA,+$4KXC1)=:R;@///N!+WHM'!0ZELW#YJR!,PQN^H-K/#*I44>BP< ME%R#9/K&*^5/* $%"#IJ2U7D<;RK_2-<5\Q;/>CP'K8Z44^O:UMIC'/O_6X# ML20BDJF0>]HD!9NFGDA\PZ&%B LLVB7OR"M'-6KKEMD5L1D^)8[/(C%2YJ[, M7RVTO2!F3#0,$08U?%*0&VY(EQ -LP6;D9X-.HP-D'6LC1A:'"#I M345D;N/__#6?KYFY@QZ:LB6+2Z?(J%6Q9.@!EC2E1-N NHK&5&K>*#^X=65V M\+PL+F+G&14M\HIM9Q\LMK'/43%@XL_DZ"SR#2UU(KU%F.-2#@7_A#^Q)'4K MZ5CM9&;J(G^B?5U$TPU8C7I);GBWU=#26ZGI,$[YM%?&J4Z24L.;4V_]DBN3 M_$VQ2HWWB H(8?IA@8%31@WJ'.6/_&OM M]6!W>W=ZH@T\O';HXL43J0U5L ]S^3A-\U$3&$@9])0CL0=_5[>@R),U,I:< M>EP[@B\7[3I,59P;?3?9K_STH9I$22$Y:=BAQC6%JP*WXX^.'JY-O\;WRXQW MH?R2P9F:%WS64&AJ#(B^T>G8E2/S>2GD1D8YDT9<<9-%UPX3IH:C69ZFW_C; M+7NG!P6]T+%XI!;HR;%X="P>'73Q:!Q[RD96*-%; $X9"F)=REWVMM S+8VF M52U=*309C]>XRET+2BYJ2WA_/'Y3'J1EBCAV3_NJI*J^LSYSP%ZV/'L.:CPAKN+O+'^B-]$JX3F*7F9R*#-D*RDJ;AD:JM4]E(,4EN\[] R M3/ \GIBE/V7B4RX!@"4AF:O:/_X!U+54?^<'ZGNONNWG!.7]Q6$%2H(.&9RQ MQ%_ *M%X)^60 M1B2C**O[A\U&IKDK_]0KM^@XP05'EG;#-:/QT.]\G=-VH#4-S M$=6WF+J#Z^5(EPD:BL,=0J\.KB0@U)Q3LN8I]:#D7#]KG F$;#+BHR)23O1P MT?RN3*9>9.ZUWP=+^H9[H]36,KA6!Q&F9Y,7P-\/"-YY;D$+#\)>?,(O2G(! M%)/OP\Q" @Q1#6.D.>>K&&DNQ_8E7T9'0%\$W )K9HYDE+E.-2"_*,#AN!_- M^Z(6;D# @FU7DH:T-X[R =BCYY+-]H_S.4W1,PAP^;EO +[ JD;J46@A=(TI M8#CCPV/!B7U*\"_BBVA_QS5-(P$^G+3EXJQ4MN*8BDA[5S\OO$AEZVR503IP M)M&V6@ .'5MBC\#/YP_IP)\':N5[__S7FZA8DP5R_'"]2$__TOMYE:.:V#?] M3S[([C,(0 DUZ1MO$OPZGKU19MM[+]^\(9[Z5_F"VLW\$8!&LP6D8?%/?Z7O MO#UMVHW>UNUE,<]W:>0HU7_(LOSS]7<9RSV@$0TO),SKEJD?,N), MH2X-V'TKHRKV>'B-"$;7,?C;-KZ)?_P?BFI>DP2\/+[R_'.+'J^N=IVC.R_, M!XX;TY@HIR!2&UC HX4;IU+26+0C)G2)]2F?7>6E-U^7+AU7?AZT5G Z1Q\M M/<7-@_XP?#3*US1<$A@\8U1:;J"+="*M;4J+_QVO,F*VQ@@_^^<+T45*>1VH M<92Z>(6;/A%-^IP;T22;=,TD(#,)!^2Q-1-H/2+&JE.B=%;UP&UX"[0:P=R. M%*MWD6G++A;M>*7]V<^0K23.(*\) HWC&CNN,5ECT#!0Q#PWP\4T1-XJY4=0? X@H^,: M.JXA64.,FV0X=&C#2=A(PM'G5]%Q!1U7T' %;< WT;AE/-THL]FC9Z@B319J M)#)L""2(^.+5<0D=EY NH;24$KF"$.!UC?>/NLOC,.T!+G.,GH[YV M+NA$!]9W@3(81P% BR31'YBMET."!S 51&:RCS/Q5*>/9N.S0J=>VI;B;Z6E M^'."J%Z;J>/.3B -@,Z%G'N=(AO\)'2$[A@SR)K2GR"@J[SO+NL&[;^6XV=1 M;[9*'-RWCE3O :XDZ&-+;3^%';Z,[DA]'-DMHX-5,J((_?KN.6[!9F/?YX)"E1B1Z$0 M_-'YTUG1MGU08 LJ]9N"J'6ZP"[489J5%.)5WBPNZ5I?,N#*S9N>GN3\_L.' M0@Z]G)T]^%)UW1*I$6G0)1@1D%Y+Y3TR;AI"15D&!#@<"0:52"G2E?X*NE?XJE W?^2!C M[F](X_J_M7<9LMB4F(G<0I#'T ?Y7_^)9;W^G#33K7/OP"U!WBJ!>Y+I!@$% MBT%;KFV5OTW050%7S"])*&BE&_%+:D-5U. Y0\@\ JL$2L40,RAGL7/M5^K? MZFL"G67<;:+B]E5-A D])LR@DF5-3*TM M%66S7GR9^ -I[CETU]Y9;2VDP? M'RP\;N,7T&PO3< V1$!_BZ@#-/QQ@GK[BR\N"9%677 E#V9%:3Z8LT )8/1> MJ3I8&T"=;;PLTX,0IP967;B-24WM.3%YN4/8JXZX)Q9,PO+R6R5"7]?$)_L?H4/E+6#D MV\55">+MW"=CEN%8LYT$@QF&#CP\01J]Y]-7HJF3Z:<7"&H#00ZU4?D)3DB! M_A$UX[]CI@4VAM_R%502T+;A&P420[;Q.<<_]D@(',0L7'$*(CU>[!U+N4)D M'ISW&NHMIQ-\9$EOR0)>\H,2Y%J_8,=Q+CT?N*!STC(26 8M2H6!K_!/Q%J/3) ] EX$.!6ZFK=8P)L*C#3EML+3X M.8^42VCXEBXZG%1+MXM2QSPCX,>3CW@ G1%?5U=%4U> #93>E;GH^?$^,XWZ MVB_;I$V*W#(_303X!V>)6])^S+@+)X,HEJKU-(ZF[X(:5_2]FO!>+4\ +T*: M*+]SZ2H0GLFP$%BR3O3/-G7+HCJAE>:27)]<^*LO0...!D=Q6"?[RI08P3 ^ MLW]%CC,WI?$3V5=F'0+[Z$)F,'=EX<_?Z/V F)LOFT/7!HX9/U-@=ADV:N'< M-%Y!/HBPP!=P]G1S]6P4%_P3T>R(9[#1W<",?GVC MS02DXTP8X I!1J!:LV/ADF4Z>FIIU"+_2FZ_]'?DCE4UV'!;=9XQZV&RL]%L MRQV BIA+WU1X3]K*&"#SX.)=*H#K$XLN_=S-K>;X,S<][0XX?73QY('T*\?# M8SIF(P(6=,H^.???;:C7I"Q/T$68GCO4;$T<;,R#E'["3W5)>GA856=/[#6B M\\IVI&_L]^-?$[+9P3&W-]KO;'1.G6X+4YG M]RKBDR0M:^_5GA!3)-NZ8EE0UL8OMW_^WV_3;_JW//W7Z1?^N-STU0EAG(F6 M!J#\($3GMYWRY?&15Q,#A$NE*_VQ]>C+Q_=G/YQ&3>Z_>./JKO*&&L]Z O6? M/;B?A3]GLV=-\1_OG,Z>/#H__U)$@ESI-I>T.:3WJ&AG]QX^N?\%-\D_>/CX MY,S_AS\VJ;RH6 MZ[2\O6\DQCU[<"__@CYV]NC>\@LE77E#2JT<@WS]GJ.(V;,%2F%G3Q\\1)D" M-_=7O6<_X<\34/:'J5A14$X1%P=BDM,4JXWKM#756"B4RUM_)LS+P&B!"S"K M"_$*!EU0I&Z0Z$;L3XY)9MY4,P*@)!Q<+>KIA$E>\JYH(&& MK#EF.']J3O#YEF7^N(>[PDR@E9MEK3DC$^^=#L&LO40@HNEE\;TX@)R[H-5@ M+IF(:9P]NK]\-%_=__'AXLG9CP^?WG_PXY/'^=F/J^7YP_EC_^/]_+&H;,@W M%IL?:17_>/;C>?*'EV^_?G7VC,@TI>7WQZ=/[C]]_."3:G0D!\[^4B4)39P] M.YT9>D]LYGU?HCCM5])8F"QLV[L3IQ2GZO]\62R]A4"]_,GY_0=?_;H,G:C3 MIP^ZUPVBS< 4Y(@5R.]/#8$5B83[DBZ4J6.B>[X2@T/9W(LEY.P M&4&K,&PUZ)B!D\4[N\N3LJZAGAR8N%O.P7'83\4%WBAS=YF7*][#C5\+'';T ME>1P.F8=:!=-,:?-Z$"MWG#$ [JI"F5W M4O>3X![2GK)/>JO/]>$VTS(AS[Z+J5%R1+X)*^2YKI [8BL_9L%-#*I0C!"2 MR-:R5KT %T _MJ4=U%?P6(@A*J>:Z"+?T&6)Z:7"]]U2V1IYUW'YCY.<2S]= M6]JSQ#3&\BW$WP0:.A\R5F1!8VKX]-:'Z4"/NM@@SF@S6$_^O+^Z?W/^9[YS<@ZAA2<#=X.9>'.7RL7P'7EY]A'3C/FJ#1HD<%+ M\'Z2[594.VY..>$3<$C:N]IH23@O[%P@A&,6YH!%7#WAV"*"2,0H"\=FI/G(X'K D7GGIR M9$ISZMORL\J^B4JA;[UU '^ABF)@D*KY!]NTX#YEXU64JGV=10S2/*_> M-?VF6S#* Q1S7?[.P?D9@.K8$6K<12W0,?:!X&5FPDM7+]Y=>OO#M.W;&8J\ M6L'JBH9%;%M6LY,*'G-%_6IPCT/R$_8_US>LAA 63"5B1'Q4#=9TA,2*8UE= M"!ZD:>"ILI0Q:->[!#V9[C\]N&J4+(HKQTN2J*Y&PJ0\7?V\XC+]4*)54F6%9_+9%<&M>T8GB;WAH52=.@F)!:D/+-I_%XM M'15U?6A20?EZ3<@7'@@%1*9 _ MTA<%>HT"L*^]R9,'SAM+XC83^E@YI6+#4BODS6V6/,2PPAWA?48P)SX*UV(UHTF** MPT;$"]Y RIK1'.8MBZ@M!PIB2J"]8LB&6[8#(&MR3K?^N^UJJY-&R4K,5X!= M;>K.*2HR^?**H8M,@B:C9LU)I@X 3C&ZZ;E&2OB-)^<#*8H"H(80!<,G09@$D MSJ_A@1F9E 3HT.$$!QM+J@@E'0HQ M!;N-X+2.LB":9_$.6=>3C+4E?F7\64\U%G\4NBH"S\3\ZCN'>$57[+'X'XK_ M9\?B_['X?U#%?W_-8':C^(BD2]U[\NNPB<.N]NYD&WJ'2@+;$4>[6,AL>")Q M%T"7I+#TE(EIKS_5X3Q(\*P0]RS4Z4N<#<82Z]6-JAB/VI6SY9?DI+L#28I/ M4\SX2T"H$8$9M<_(X7IK)8W?DM-,E5/5@K@L"#:]353K@Q^WSM_1H=FAHDN" MRXAKW55>(B%I$\]S.P.2W_2[ ((6+141[Z:_[4PK +09E=L?"&8H:YP09EG5 M#[8S/XP+!7DBL7L#TI.B>.=]=]2E!9@/OW>$\/SB@Z&=R6-3"@O\_:/VSFG> M?+KN%]'WY_?AUB(%R4C>C'&M(;=_+;7YN0\ -.$0-!%1<4 R;5)B01/K-649 M%$A%B_K\_MECO-#D59%&=C1"$-JRFR!J^\ M50(!$5J0/M9]]ST_OPOV^^9J MG%J:B#9'\LE[NR-MU1C5<#$@$4WW,<>2FDVNZO)* P#;HUOE*I[)G3J8H.P3 MVK D@7@M6T3?KO"G.O74<5Y916"(DDJ330A/AM'A+T)MF&?3'>N'EU)=3B5# MD ()0J/H,94/&*1+&!GF2@C6Q/8'>(-RP:E^(^Y!C:0R+8#\<0R+DQ?)@1@O M]]6&!$,&U;:]*F(8-5KQ% !QDF*:-H1ANI6FTR"Q--61TD MK?D/R;Q;;9 43:1Y-$H4'9.4/Q\QDB!"UGE',I-1C)HY!Y2.QBS?W.H_2<;* M[*QT1>C27/9.>R")F9Y2"L9 [B9YR.2D-G%13@ S1B $X>;!F6?M>2\"ZI+!_OAD28(85RO!Z*%W;;C0##52DUQ;M3D>BJ M6/962A6I)SI,0Y8\,F.+[&/"$,+YR+A5L3? MY:7_Y)))!*!81J])\8*M?/M513P/?.BVES4U45)M/YH7LQY&\@:!*H>3\&QE M_'?ZBDY\',GFN#-FD ?;:*I!@7.0PS&V2A?27J8OOW J0M#F+0[C= BUYQDN M3AA0/%?<'<%DP4@TN#IY1=%#.>L2-'EV9N%P#(DK*!./7A(TEUB)8M-(:3%36@ MA2A6&9:+>Y^38@+N"9S1[M%"@XKQ!_>>928YF)(!('$72L%2D(B19AI32FN_ M#X#7:^4-V-*CEL!1^?N.>R.5B22GD/H"U6;_8G1D#S2+>0", 2X9&JF/U00 M1 RU^5."?MFE;&I]$%0HQ\=#O'3X?42<#,R62AL:LJ?4BE$;0QHM?H8DH Z+ M1!0[<*&1)]: ^8S\&L>$BM3TAIT>Z_84<_!9GFG\3L=>2.!,$*Y=\=B2'0N%1<5(-*-76!1HU:7C;HZG!5D26>HQ-74@[9Y9U)!;"-J/(U)046 M-<%Y5,\A5^'GN4B@1;L+N7J8.3KFBE:@/]3IJ>QO_@8;BI\1&8="GB"Y%JMQXNA_'+ !D!KC(-'/G(+/TN)G!E!+?%R<7]!'K'2KBK MLJ>,DK3R3 ?M.870+2>-^6ROF_ \1S0L!38E9;N M:6#9IF9SFGIH,Y@3D+(QR9I)03]KBQR=$!5*E!&F2J\,.$;N)^CYJ]=OQO,V M'-4LQE3"!*EYG7'R1G,\1TC =]XZ8^U6R:C:MHELN ]TZ:8[PBQC869H]QMC M?W6<VIFYV).Z9YUC=OC4*:8)O-^VZV83788&RL>LW$ZZ5 MV#B5B5N"O\0RCW9TQ2;;4!_XR=^^L[?_ZO?G6QSD\DI4$Y6'IN4R'>0+ED)= M[/]0LQ(.E,JET%8WH?H1ZQ['N;N=N9N,%4)D8*KP6HU0STYDYH_S=#OS!&)Q M+?5I 3M+<\2HK[,YG*M.8! 5R&;OW#;XC#;K<)S"VYO" %L?)O*7)7!.T_Q;FF9-L5SG39,S@R9AG#FE5IN4I=02 MEDR0)9+)1PO]R:=H;VOE>/ZH;S)ZLP/L([!_!DG,]KJH5N4M$ID<4$KS]4@9 M* AN<%YFF#D7B FE*Z.H9P#7!P._[HZ.':]&M\OTPWK^E?#KU9\T*:K!FD%[-7_$8#_K[! M4)&!8!,/T09*QAL2)2I_^V$BH/JZ7TM:XSW^S>\3P-.,;05TV[ >1FB4WX,- MU)JT9O(3P_ZDOA'=>\&M:ZI-OB>/SK<>?2>!,"5(JI2:8CZ8$YD)'T]"9BI< MK^ 1E+1,@K^-ET;,*9^,N'F(75)T(UCHT]$,XTDNI9G)RDD6;>BS*M K93HE M T-Q7&JS?N,GF[:_'R>J(FE+7NDL^Y+\D5-.4K"W5-)<1D6='(*E0/J+OR?C M/&C;Y!QI/$U\P ;,D;1LT2=B02F26JU=7HT@T+BOK: 1U,S/1U>4W/1%(1T+ M4=&_T%71L5^"Y0L4@05!V0>*](KI,P6295'00BV#K@ZY(<-OHK"&:? %U?NH M[2/%4 --BP MS\>'WA0D+)YL+3E\WL(+)T*KFM1,H4Q]9@6]1>!.S$L1J:4F$T;$^'4FSNY* M9+X-=9@T(HXQ>/PJ++J+A@YZ'Y1(5EMY\N"^#2%3D7Y6OIMQ<;85=R;"%FNB MM6U%43F;)?QQ[&U4[B*7N9IDNOQ-G&NWM!^3-L8 N9=6A)NV9PIHZN=6@3!% MG\8X%BW)X#RE60N.).^@6#>E>B@CI%!V\[^FC&0;D71M;&#>)ITM^ 3W:AM* M <9ECD@%)(*.7'UL5LRH3&@?)YW3M*VXGY0&%GP^$=% M5 0+-_;=9687E4SK!\QAIG(Q#$8$@T'L/,@&/7V-V_3=KRH'?DB[XA9- V>& C?5B6$II%/C1EDCGJ'TY:,O?/KB6JCLZ*>"0C*&G:F#T)$7MSN[2(8=EKN.D#OATY20Y@DE3ALNP05GFE8:4S*O=$GDD)(1;+2> LF:L:41R M>"K5RC\&[.OW[ZCN16CUSAX1ZQR&ZYKRM8F]&@1 MBASU"^VVC9Q"X':(;$H3'!=+1PP?<):JL,*Y"V7RXJ>S9X%(:9D\Z_2SJ'*9 M']Y^Z$K%[9RR<(;MZ9<,B^*$\*(='$E22 A1T X:F'FRU:G+>_K"FB1=S@;0 M'*!MS&N-&R5288>P:\4&3E"AD-!X.73XD0O+J\#([*0=O/HEYZ<5IRNWV8U6 M@5J,D 8VL8RE44:O)PBAV'^CMJ=ZVGE0'SEU&[RCZ-R,#L!S*A8].3\[_^JO M(#LX1HH[%IV=4BT2L M>,&SKSCRC$-IA#MOPT6=L*8_A.Y>66_;V84/L?W2=4R:HR&S;JO)SBV5(8T5 M=X1%0U8[0UYC"S7,(G.M5*[#$0VA\(O9X"G)L2++BP.BJ%7?CS;4 74Q$; 33F MF90'MO'.\]4ZH9 $V\>NL1L4B!*U!V4S2(MC0E4P@KTJFZ5P&+QEVL+!1$56 MAGV3/5EO1Y###Q1:SEZ]_?NP2J@\I--/,/ VB90O+)B]?#!DW4 ;8[EKM&%" M:1$FSZ3P(+B'#D$B$7OL8/K4'4Q',->Q9^G8LW2+RTN6B(D=$V):2A40:>[* M-4W"TL# ?2WF'&?K(&9+O&=I?KEPG8:8XN@V^7HSH!SU)V>P&<=9O#V3GO29 M20BFP3"9RE!V*UH-"+\Z@ET"V.7A$>QR!+L< -CE:.9VFSDIK$^V#64[8DF_ M45$3R@.%4TK<3DRG6L>//,>L[ZV@3>('$M50"=Y4B "N#)?$(E?3^GCLW>IZ M((^%X?4!<[JNEZX46(^J58<_7M1Y*>MEO#J(77T9Z+-H/8G2N^JUJTQ]C#EL M@C,F-J5$)42UE'2G;#2 2'X=^0 &;-K]T4>Z31\I*K.))?"F1*%\P#"D* N9 M:@NV.T[7000F2GK/='XU&H.15$"Z(&"P^B1/;_;Z<1IO9QJ!X/36-S!])W4G MFF$ "$B5H*OY: X5QN,$L'H#BWD3[ M^E,MUT6\+\LZTV@I4T1Y:V!]*?VTI8&')$.X5?JYMVO-<))$=%J M[]"C[*GAW;DI?RDR6#OJK-Q:$CGY*\R[X61"CN&F]W$FXQ-M)_1$]Q*PNBETK0L9-DY7%J1&$FX"0=-J+ M-=JYET.H@A$+Z2[CIU8NYT0!8(UISQ@54RN4/H4=\L&O5NQAR815("*$" MS'VA<#CMI@J,[Z>S[[QSUBSA4:M6Z6CY, \D->PW2M.45XM0XM]CW]*Q0GAF M!@C*XGS8!0IZSH@"Q8B"6 MA#X!KE6PRG-G^Q-C$U@"=I]ZBPM ?57*+G1[!,EX62%G?YT'VFYN?V42#7IC M%RD4K&]@P:U#DY68I^M"IDL^&/:S M$-PEW[2+#+L?NI?)*HH'A$O-(L'L%PQ[LK4VDV4&76FE7E&5 M*,F#I+IIIN>!,=VJ^TD(66YDMIT7$>6LHP0[S>)0=]3E^\')5-96G"XV=+W^ M^A6/Y^L7K]#S/IADV+2)HYXPZG&BN5&,NH%(-2:/=A:L/?XH=:H+*&QP0YX^^?#7'W>FH2 7P1IJQD]N0&Z(&OAF1.@CS@)"#^LF]I"OP MCUOOH3%OCA]$OX'(DR%BG3[7@+;H!:!MQ:%%VU"2VNFD@_1!_GQLNPIEMTGZ6#DXE,$UFM MT-["=\=PX60TYHRX(?3F:<=KGNX"C"*5A-8L$\R)1W2.0AT9Q%=!<*3,)9/B MHZBZ&2_-*,S(-I0L UW@"),*,*E'1YC4$29U:# IW> FGHC>6J(N&@P=F9C$ MV"4>(YJ;7+O@_>L:P&V;L?4:.D]8GTW9G1+L!3\"4C9$M,'6;<%Z: MM%%(7(14FZ%MX?ZSY'8X:3,LFDP.GBST[08:T$B1+"=J^A#^#5'N]B(!^H6X67.SM:8H6$829,K"*Z(Z)==%8X:E0"/HQEI MF36?'Z L\$.@CZ+SM&B);NDD5'=CDH$%D04[=^FJV*]*^\2T9.QI%T9TT;9K((MRP\EK-2=E6M3C@G&XL; L_LQ@HG8=*$.26 MT".J61ESZ245GE]J$MC59>6&U11*;"&?\'S1>\@]"#G&LP">: MVWL)4-C:=M M^X_ H/#'6'^QGD#<[>1*D?J$9 S"5K)<3]A_@>_W)FZ4LOAW7RR]E=D):YBL M?*0UCN-)]R'P!10Z0\I8.+C$CMI?@]H_+CI;,TWYR"9*X6E12PH_4F*;<%X^ MIMYQ)X\^,C,793WWJS\].>1L0 MI=Q,9J)K;;3)9R!(XV_2"#9Y2*O+FDP *&)/^"J@_?6F[#]TI4!T;$AVLO@1 M/Y[^Y&HN6#QC=.%465H^8-]-H[=O^I^*KNTS/[=^_3DZ95Y&8? W?GK\PIZ] M"?EJ^J/?=:_R!?&HO??_*OR_?$RWD7_ZSWSG]V:;^[%_DZ_;7D6,W];M93'/ M!TS&DK=&942KTJ%BOH4MY9JX[$PJ5\/=U$.;]QBRY29%'8.2^,ZV?D6D:BP, M/KESF70+)0/K"-CR@3D)X$LEI-47N8]?DQI+(#FQDZ#P!R[,)PL#_HD?ULXM M&*L"1Q-/-)0H2+\W][$X<4K> >?@9KF:C\CDK(1*&4HL9&R%'L[0&IMNVEP)4^G4-DK_9/:1 H+TT\>YNKU]936MQ(H+RHILE EN@]0GKGKZ(%TQS-V*5\L MG-]P97WM&@U( 2XJNDO0\L>RJR@PS&+)*$HNW(55^PF:B%AU@)>C5+],_RNW M:5X#.S147TC9C*U,G2#'% (6A).H.*$EJVWARB76#?HUNNU=+H*N\GDC4,# M*%^TU,Q)C2U2OP184 !"#.LQ-"-: 51)224^M?)_WBR8\ET ,21RW./I 2"3 M18M:]&=QS3#"$T]GWZ!10[I)&.YY[90B%\T69ME$(E;MOM"ELU>C>= NDBZ^ MI5LY/>:T#)E^@M\'12E("T$@Q#[F<'7'QYSHTERZ3JCP6Q=N[KBK63 %$S,* MO O3FLAIJYV[4$[4ZQ1&FHR;W%%3:H+66:[<>D#0QKG@E_0+I^UY,KT+X#\U MZCV]"Y9Q_W/]5=N3,BUD:W29].?F?B2U2VAJ.3'"PT+TI/=<&H-RRVKS7N2; M4LTV)8GRASJR$$-1K((.3MCAV-;F"LFAHV!,?R/N#$VW3RYB?[S[*ZW[M9RN M6,CR$GEZ; ?B J%5 )(ZP+159!3B9U7!LG/BP5(+IBY!OU5J[ND/=VY==\-3 M H)C+\0/-W>D&6\NE6FS'G>!"O.65:P)C^>WSG;#JDO[QD#Y3%.GN7&VD0W^ M"+%[%TTK8D]-+J [F7>6: L''Q4?$[*P?K!'R2*C-U)@[[#*HC["O%_*)X!( M%^XFRXXZLOW D[?;MG-K/\,T#LP]1! F)3[P'RGF@MIT30/T]_=5& &\UX35 M9_\N-I8,-$_\T*VUKCUP%T*/'I#&R?L'2@+1K4M0'4:<-_ZPKB7M&KG0#8*FUV] M>'?IK8O3?(L9(3]Y$B# E1'7VPP.P$9SMZ(,"28"#9: K/MEHJ>$@;#'-4NC MU_H7<$$3'JS9V5!C5!P8,V8)^0U:RNU[#N&<1WC3[61[(VOS#FDHZ26LR_*$ M6($'F=QC:V9.QLOIZ5K#SKG<@09$7GB(*4"\SE<$[9@H.P[[S<"7204*^O9(I4N(60II M#F3RN@EYKWUEUBRZZZ9%%?DY9>..(E/*WG=7DZ54;2O6+-8D!3,B[PG*[J/: M2SJI6^(1:NI-0]Q0LG_!7DK MBSU@^J,EP:H8A#4Q?"Y6_-(N,DH*R@X 3&!(STZ[C_2:TKVP;[4?MN=P&\^5 MYB%;QJZ0S2$8!$SR[,+YP>Z:(:8HSA;3F#'$;-/0(F3=0<<@.N&\NN)F$IWN7MB#-]S&1[KSJU&.5]"%V(,U5BDFCR>I[)NY M')+*2I:69R%+B[?E5C]A[.P/++8PX.J>7@JCNP]O^,%EB]WW4+H2!3G93G=N MNN"H*SX%MZ4+BFOX=2+C0S%J6.:^ 03"V3YN8=WN5AQC]'>%YH8I^1V7"LNI3,ECA%S_R)&-;?]Y.[3)(7&/IC!1&ON)/3B M#EB,7^BQ/Q<8)@X1Z6L&4#EOEN)7A&1IPE9.U>LKD?P8^2**'N>9O)']9!=. M15-&=]:_?CV$U-45C2*3V_GQ$I0\6+N)ZV2AB"KO"4?X4FN96)>!\I[0TOQI MU41:DS@+-MA5[OUF:"=_S)I8P/E84I+6J W.O4.KT=M$YSP6D'066(.D3'2$ M>/J8AT@EGQ@A2,RNBDH"B(.[1E)(!,0LR0OG\G,*$8 XS\1S1)$D?F_ZW-\A MJ/>U3,KLA8]6O=7\6OK\Z#F>>VN^*, ,%:]*/#QT!%SD5?&?G-')"0\-9CM\ M_F2:'P8MA6$]M(:ZA[)? ]:XIB[=0$KG@\98(95JX;V'JTM):$G8DB>&@0"# MI$($R$LJ& !L!,//F&G?-3A^!XCP6*W9\5SZ^=E(U(&1YU'2@V.S'9P$@P+XU! 8/>!Q#G]*;(40LP4&:C0\D )$-^"W'KKKI"C" MPFCV@:@((_MF1)%+>;/>_[MFBBZX>-0/)4DR>7.T52WSCIBA_6%QH8QD>$XQ MJ.,D4 MII/_<@AJ%32V$'#;ZR%>+\J/7F&8M@'9+=/34OE9NTR$*ZZ@"EHBP64XJ!=- MO^!.EQ'I-%,YLMF,ZF37VJ"W3X9RY[B:I34+OANH M):A:[MW-@__L>:)/#.;J Q@C0BANV"-.O5,9NWA7K!;9UE5%0CI3#-=#1L;M M;$41O.:0(N6A'\I%H-16?E*(Q%,+L(OTII*F+Q1DV_9%%!B(+4#>&"V+)40A M_%5$&I)S0.(:3(]5O,(NW5+SRIPFV,=\FE&3#4!!G$*3^CE?F( D1:?.XE\+ MZG"AZ3!9$%)0J*1Q3M@>Q\/&ICK,+HZ:5SX;7&E_%J4K:%OMJXJZN2Z?$>XQ7+576*194T=H7&-:#.M3+ /5AA<;'3S M^$@SZ,;T1/,G92%>!4F5PJ4[0@P"Q.#)$6)PA!@<&L0@&.S4N834QZ"#*?%# MHA.9\/T/#94HAZ#T)D9P<-HZ82LNM_&O>J2&QH2BVG^*F_;6^-V!:_7[1&\= MA)=,GH,R9,?2#7I5B%?$')#O-X9A&S6@R)Q+:^?["C+5;SIX)[PB_9=J.F-$ M9,IFSXKVW9UU>=]>!IYBW5IAAXH+C 9U3EJ2ZYA-N,2:^$T8CP&+N'#U19-O M+@6[04=KCH_"<0C1)+'@]0W\/)W=/K27BYLP"$#1N74Z>QVJ1=KT%;Z@N6.) MZ%-)L @4ETIV\*DZ5$REVZWMYS^A,ZT7]T3SX5F@?M%":RGJ6EA/D1"'VPGM)YEGORD]("6- M6L*$)Q>FW'TD:.+M$T:!*X=+MX:.TBC-GA#GC%)?H;<[!G'Y$CA_0%X]FMBHC]!V/7G3>-.KKWYB##VF?_/II_[(V1V MZ?+21X?,8Q"'^_GK?[U\<7+V-+@B">7,5=YL82S@D80^SWBL&Z>"K%W%3D#4 M$3*R/EC)5GDPW3W^6?R'_5=1(R];=PT&%6QY'S'3?)S?_^H[(E#YAEF+\*NS MKTB:F:YRZX?!'5I#*>[&S[V4+!<*;Q *AR@YBE2$C^O]!T,)TA\:$*?SCBFR ML); ]<"'2((G7(TN__N>[K*NE(=N(#P:2H+B_2]BISMZ8?PG+MWBW7%&#VQ& M%2$99I+2<"55S+$]68&.?+^%*ZY"^E+6P2;?-_2(I#<:)CS MPW_;NS5S?<6Z=VYI-[,!@%I@C*UO(^-"]=\JL"IU^?O995T62RHC'?S8W*UY MUN2==Z0ZSC/ SZ+L!=SGGKF?_$GK76K4X]JCAW7HDZJ95-IX"V]< 4U8<->. MHOQH8S9NDQ- D)G9B#^2V46AU4WIZ7$J0]77DQSUX8_9!GM! M7T!NGZH,S+/.8'AOYU&6 :F%I=3/"9[C!P%$.OI[YH_;4X4[_$&^6PL&A[9V MUU6F^D=UK) $1;O9$BR&##3E-;$#M4O7_$;LQ_,:Y(NS;ZG(CC+0LP4LT-G3 MQX^YLN8]!A_B'5W"@UTDJ[(G=X!/ 4)5HSJ_(&((::N@@V, * X\R-Q8,BGS MF-*J[K$:67JY !2[J:J'SB5_+W5/A92;K2"5)O5FIV].?2Q9TCH42&:LOLL/[8VB78MZ'T-4KZD-Q$*5UF1(\@9=#2L?"P V\_T[PN*[;$#M M +Y#52H(*-]*?)SNTF^A"]1RONXIHX0;/VN+7)@]?Y]F]B#?Y>;E\?V;V0M' MD"?E@G_.7/ N*=2P?$"HXM!DW42VBVXV4$FQKO9SR^]I_PKP&]_ M3XOAYK8UTQ(H1#F"4V2&"(8S)O#< ;!]@*XUNC72H7KW$.SSY)HI6-W"]F;? MT>' J1&:BY][\Z7_PJ=$1:#_X6P+X?Q/7 MJ!0?0G@\KCQ,"3N-NC#N*FK?-JKB,!_S,@@)@_1[SOK-&+5_XR0 B8X&GIJU M8M9S4^3;5S%*\LYYQR7#=>[WS'7=O#.U)VJPV6SU2X )$ XD0 9:4H84,HYW M57U]<-Q\%/O[=U2CB@!CW=NPP1F1,WP02M0:E^VZ7'I3RY_K\ST MT++>HN:*DCM'2#*.N!F11LM@T),0)UJXNEZZW'[XDXWH(X4Y/9%NYJ[>HEGR M,[M B^(OJY++K9\#_U)7?N,N@:<''XI_IX4S?<**T.ETRD)MM0Q$OJ*!1$8<2MQO-/TC:3Q0<5NYZX$UX1\T!1XQ_I&H]L7 MQ/LD'2P#4+PR VQ)>A#8=:97>F:]#OH5$5LZ]V[J :JD_2.Y<]0W](XI&0WN MTD(Y4KN^E$]SZL*#-QM<_BZX+37MZ,JD[6#NP^#T]G?ZFOJ,V4J ME@^@G^3ULNMMD1,Y$6SEC-,.[PI8\#Y@]7NQ\N$G$/!#4NW*-#HR#<#Y[F+1^HSN,[4ONJXC4O1TT^HV3=OD>>-\ M'*%O>I E6\HLDQM8R#Z::N%.)@7>[N*&"I1WY./[Z2.JHL9?%#%&I"""2X*@ M5.U.C*CW[GH.,?V7KXJ+FKJGR97O&Q\I!C.2)79DW]64TS,^%V<2@O-/3PCT M8OC J)]<8Z9KZM[UNT)0;%4=Z?"4\E3I]W(33?HO2$[TN@ICH4:6H"I^NCOF M.JIH+U%AA=!VI[-OADH0V41L+!8YVN! XQ2V#JV@L\=?A9#OP^:![IDH7"@% M 7=D&);G8(TIP8.QD8V_R=O.,C4ER!98)/83898.VY8?J]W^+N?WC]7N8[7[ M *K=^_?W\Y#EZP9,(D;.HDZ\<_5\$GF%_2Y_XWWX9EFZ0#)5T!'9%)U4-87K M.1O&0U,>DY5*)_K!3A&U*(6*TKGPR$SS]D7&V<">-1(9K^ MSNQM\JVMRH9T(O>012MQG(_;F0]@XI<[J,UP<'&=JZJKDX_93U9R,3"1*7SD M.+FW,[EEL6 *?M%2K:Z@U!4',G"?5C-=$B#>M@Z464,M MY?BXJW- MLQ4DRE)R?Y$/%J$7\#_O+5A#N(G2F!V,%]6H\I6[Z'TL'Y*HB>'CUQY>'](& M"XGV^$VWJQ? MC[/#X&#.'!^?DS%W8A)^B@O8N%=9D):.@+0<-SR$N/3:HTK0$:)Y(^,2/ M4])F15J^"HYK4D+: /"@2\0RM=8:2).EN[RK92JM.*P)T0-($&%8XFE6WSAW M.W5#1 !LY[Q:5*HV<@*6&')Q7(MD(3B(BAB, F0\C+6X _OP)F#9#5N*N)6] M^>TYF3S ' XWD0U/>,<#&O!(0?I];04A=555_QW:U3,Y2X MT<-ZT)Z2S5I_)'&X3-J/G+,BECHJI=*Z%3#,W%$7E6G_58$TYE>0$ QHJY#< M5@+S']S(TJ3!/!L-Q'TB 8ROVTW!,F55SZHMJ]G6/T_+OAM"M]/9*[_,:Z#D M]EL^,PMJTDK1!J('H4OZ4=AB;NT'(FUR*JVYGE]Y^APXT MN8(>G%8HZ;(@33O9JE3X;0K_6=ZX%8N1=BI,F>@]+/(-#HS_(.;%6QZ(+SVH59HNK'&^(D6366J @RM4,6H7P,P>[M1> W(1Y:4(]7_: M@'[FBH0B8D65,@:_FA!(9$Z!A^SRB,A<#=P^]$T $' MK1 ?H)MWJT?[!XS9 M 9T9IJ%$"F:L% P9+YU8PMHS\WZ84"/WH4P+I7M_T_3252K74<]).[O'.)6Z M=:-I_L+2R:8 "8KX$H'VHI6UA^^,EYZN/'F&+#Z +K9[6&U3SS%>;E\8GR7S MC]7!9HK:FG^";+9DIXE,+=\R JQS8=JDA^LI%+DJFAZU5&8].'%&S#CONGQ! MC3=1?>U>/%-IF)T1H_N"]"X%:81V$>HM%@CS]F1Q">D6O2+)E-;K:]8ED]^U M]:K#;^;]A?W17\N;P27^+;#$+ *R!7O= HPB0:;P_U=YUS>4-BG:O.V H@X= MSQFW.7>DJ.P]BKY2FF^Y V&L*]?XE3,O_>,1)4T&$!P4HU=X0PWSNDMBGC;* M0-/A?FR&3KLK,S[W^4A-VF%8Z>(-U3+-(IM:8<-R;1X >[L1FA)($P JYY77 MDDL"]R0X+@ "Q1UEY VB!H)=(.'AK,SH.\=P>P$QM?)Y9+2Z? A]E8(O^EM\ M(!]JO$<,3\#PG!TQ/$<,SP%@>))5">WI7)IF[FFGH\E3X;PC6W0AEN^+*2DA M0T6XV)+*I5KZ*,!SU9?4( 8'AB4^6WO 1BR'P>BS4\8(U\'WJ:+QRFFEN12TDG8K/)TA:J27L<)M\#VMNK*G-8B\HG*S=6 !IZ)U/M':ND M^=T?B1"Y U,#$MRB74%#=.D?N(2_ATVVHC.7<5-^&',DV9,CE7YAU%\#E3K5 MBFAIQ)$T;,X;Y[_.JVB>,Y&'9.:1[TBO3W$V&NAHX?HW$*S.DIA ZBT^E"4- M+'DD>:<^.'$GXH1E"0AM14>^%:F7KQ]3;)(L.K6]L/>[-F%:JHGRE(O0S<'VL*)J&]$9SS8$!>OM4[B,381<5RC7,%YNJAP?WZ?FC'D>WHQ95$$"& MSFJ9%\8DRARQN)R"9L(!,4?K'T<["G1;D-GS;UT@!^)VO"-!,;EXC?FOKUO-R*WXDF#K82:E'RH+1 MBEWY/4:_D1JR+DI=1L-.VIV]1#'@3HL]O*/)D$9,8*G%1$# M[-KY0U._OT5'V42.203#V$7%5ZP!-<8V^7OVFM1#H*(B(_6\W"H.+:A0*Z@D7HBGZ0,C& MBI>ISF J ;.G=F*\JB]LN=,'.LK& ?._'^&C^YWA>T5,(\DU9\!NC!]S*>]-)OEBW+('/U3G4]EXYB*:[8X6'*."4HEN8=[(,=?>]+-9!0 MIHEF$?G!8Y_._C5XCY"X\ ]5UH66/6R$/%I#OT)IZ=/OY-P/P__YPX]_*]\] M_?+IXZ>/'I_]@7-9Y@\/'YT]??3DZ?0?OKS_(/W#V:J>/^V<_/*6(Z^=\'IJ ML:Z7VI$54M=T(%X52L! C=!-TMFS:8JK?+%-/C+XT(4FXL MVT5W1586O):#7O:'PD'Y78RY7@FA#(WH\R#7 5K)NS:2'XTS>,O(>'^TP),R MR=$=BG;AD(%X*7SJ8!R,3< &0@;2($\0@$NX!F0NY0L5G#_]",,[A^/$Z-G; M6R#+AF[1I.V1W1SDA(*4>5YVT*,@8'GH#[JK@,4/XM4P8YZDJA+MCVRVNB^JEOMDI3 M82P?/P@KKR#-(5F3FS=W#/Y ?CWLH?%^@D;>P0_ H6@/6[$'2<<=FP(>3;M; M@]9-RK@^I%.BF)@S;JUC:2;[(G[)>@=] MH7?YA7KIFDWY(N,,,6$[.O_J?GD& .>@;X&NSDSTWM!\7P&GN:R!-Z)TUW>1 MV)PBB[^%%WRC+SA[@,S1:"#,-K_M?7V/,?A/Z&6=SK[^N93RRA[M-%%1%T-3TD6 MK[K 84B0!>:LHIH#S&SP9+VKB&1' G_(^+B@3UY0]4] :G+26H\V%/L,K",4 MH,F2$QR17A-&]*JHHU]K3C^:!&87NY.T@CH% MCF!%WR;K1W/0*WO^1(H..("F#S%-DU*VW>+T"?(P)O@+A-J#*XB2 M@GK4 Z1&-NDGS?RQ1&A:02+M\D/M9K\#"_P7QNO?&;-G*MGTN.?^V%E:F(V)7 E1I);< MN$W/V&P-1V)]YDY&V-\26:30$])F>E$OER??-'GU;O8#50'>=/X4[;Q_3EE# MR641JZG?0M]&*OAG5/V@K[_Y^CE,GAJ1430SX+RD':YY5%T=/(G.+S8_[\0U M3IVYL]$B4BF*PG*675\ZG.[@A]2B3FR#:A+B(R#+DKJ),F FCZV!I'GTFN)= MC$A$#DIKT:*D*(Z-(A6(AX\$KR"\JO10=2Z2B[QPZWI!)G3A1UW.$W;'+FJ. MOI8_U>SL!$WXR>?>T2T#&TM9=*:7MNUX'-L7"TDXA*?4V'% '#445F"/PS3E M,+2%QV)$3F;8UU.F6J2@8SX,S6AK_^%9/<U-4BPE;22RT;"FSQ'W@]G=!6M&!S9U!_GM79%,8EULA<*Z5_J(M8'B1#"/SQ;2;ILFS"38,QO_))YHE[_'7BPJ#A9Y#DR:6T],8'[N-O.V-P$B8I.)9_^& M?1(F]GGPY#P1''^I2,KOI-WX>AN%S6 ">KI,NTU(8!8KEP=W;1*8::-=B;E/^TZZ0HT1].OJ?HLPN=3 M2PJRZ.RB\[\]G3V#47CA8T#TL3\XRV;G]\\? MR"FQ)-X,'^I)"67B68@EIMGZD^':!US:+=#4[XLU!VS_]?3+TW/2-RU9(6HE M)NR_'CTZ?:*_9]"-]_D+H)3I"9Z$H\,OKL<41-)Q)4,D8+?_>GC_]%%Z#3P- MLBJT<%:D).*?XN;71&GHY[S>PR>GCZ=>[^&CTZ%_Q#[<"\.XM_K>4MAQ.Q>^+;_Z0LQ)\$3<+E* M?$7I*CR8'=OS^\S"("1 _'<"?\7QT)%NX[L0/*RK>13M,Y#'X?+2+>7=3NC: MR8+@S75=F[_, 0%?\32HDX^\'AYIL +/'HOK3)X+K$,;YF!)WH#V/#^Y_T<, MLX8%T;BDZENX%C MK&!KZ8(T:M'F4N<8$QW#L 8T'M2J9L&"9TQQ$K8RH-I^M1;+$/=(UBH;.V+5 M;'@2W' XT2G#2V_B)*![37H.0Z-NE(#F*O_CEG)KMFUE?@TSF,OC&DRZ,H)( M&*!W-UZE )Y#FSVNB D=/,G=\PYO @N-E&J)7L./02O'/,O>_M M =$#42( A2%AWT?B=GILE13#$D29%,B1Z?UV&$VYM8W["=5F)Y10A@W+59>4 M'N.LX9R@(J%,:K#J#+@Z*";B(R2#(!D/CI",(R3C " 9!VD'292VGS!NAB2! M(-P#P3W+I4& 46@P%XN@\4)5C&Q&99B.F@0[YC$2GCLA)V=LW=PMC'10I^GO>![5 MTRD+#:]5W5/G-;;1'^?D=N;DW[TWIN@0)LQ^'BDE=Q:J+'??K^^='HWKK[P M0,8'8"; 6_.R!@/%."2U%73^DG1ZN_=NT0,27E.A-PK?$E+<'^O'Y? ;6@XF M'=NZJJ@3U3[_TSNWC?2'QYG];O__7RQV,=20:+G .E4K)::X,[EPAYFP'J>1AJ+[D.:425;OM@NB"M16*!8@I;?><"$ MD5 ARI?2=P1)QIK;[D+9#M2-9%;1@>J?J/;/9788\54O+URG'7OS'JBW#7K2 MJX3Y<6(W^I<>/('54,''1\SZIO;(A(^QIBH*#H1V]"_X:;?.H58';T0M19QI M0E_FXU*AL:@K$Y0"5&W6./%8%%V/WF1AM8CPY&LL87."CG87_:MF((O4=9@. M(ZD. 5VT,CS3U+5!V-)X8?. <^!8(LE&3T#1LJRO:9&D-QFN#+W%-2@*1U+1 M42B:D)SD--CX<"2K/"S&3[3Z"S$.]_7Z[;T3_CB]U#G&@/)T=%$#Y7;L_9'. M&&$L"<(6Q\8I4X\4K'QB?F*SQZC$R\LFJ44:L$=?<7V8L"K1@-V%X8Z R5">9K:L%SVG/5D@8@EL4]J<7\\AP)E53O4L3X> M8]87D-M8 4(6@:WJK$Q^<[Y%FVM K_=":$%<7LPLJC-)%ON"7":S"#(CI\"( M*'11<-\?+Q!X<\FTT[W\9PAT1=;AJFY8\LBX\)8+O5#.L_0B0#>%$P:=CM#$ MH@=>%_U:.QH*O^C\8H_M-)LXI,:]856Y:)KPV*Q05(?;S9T5J=J,N$+IEGRS MZ8P74&U^)RP==2JV&JW$U@(IA1.8U^*U6,:%W.ON+B][E^._D@0LE1T$U4W2<;C94IPLCF-[# M/'7G\O7$D/',T^SU3:7=36:X;AJM,#Y[;WPZ>^8G\4+RVA./P4N>5]L11',[ M"8P=B^Q2H*RHX1D&&@2( &SN6K]*1(PN;_-K_ZL5X=6(O\B'@HLM 2G%Z'*6 M@N[0&HSUQ+6#S S%E$HFY*]R&38L$]CGX3M9H%*!$6C3-0R'=>X00@HF% _) MCP@ZK6K'>QYK:+>W0$<')LL9PBY=^\")8D8Z0R6-O@"W)W'E$*V3^:[6J]<. M:0-*MUJ8<#[CS^$H"73%D!UG?1=<31(( (060R\VZ*,@:CJO8SZ3G. M;@*S>)"MK?H;GA52$!_P3GC[N*LF-M'&]$/GK._>=Y:MB,0HDA<%I7U-KQE% M( V7>;@T)Y"H#Y.238-]+%++EX5;C:M:![6;CI@[PMP]/&+NCIB[(^9N]ZGT M\;%GX'/S'O-:=8NOZLYT!CG1Z4E,MCHQIF_*R@L7%5OJH7N>NF#$"[XLEE20 M/"AK^SM>)9@H?\"!OX&G&JM"YZB&@C)))G:S+[\\.?_3@S_JH2FK8E-?RW$; M._;]?ROT:1$],@ C(Q;:W@)1Z[T<(J58TE'\(89F MZNWL6=TV96&^R0:!@B>01;<&G5ALN E3?AW+$ UW#WTVWMS\PZ(!ZBI M\:9D3T9TM)=H4$6>W:2 R(>3+\(E:D';$#TCG;%BN1!_XA7+GI@^*+D2++(LX!UA*0NO455J+:S8 M2)J)& /3[$&R@-S]?1Z\I02)24@61*,D=>Z- LHOQ($!"3^J85$@*U5;#E2\ M5U\LI!\4FF[4R^W,N0#C)-\/E1UB(FI+V=[)"\;DHB2%9$\+8XU)6.M]-12L07&7+*\_N,._'>\ M\SBIN=ZX)5?91+A*F8U %NO^DLJKNG$U5%+FDG:6GO5X MMG/KO-;!,OW D$TA]1:D"YPX+?2T#Y6TOPIHZKEQC?^17V=#UF,R=4!#@L#( MFR;&U[W763Q[]$>U-]8=LDX0&T:JU11XVD53 MS!V5&BL_L'>B%AS#[[/S4_K-!/7&I^ V^CDA'OD>;>S??EX#?N'#;+2@-B&C M]J:3*X2-H1EV93AATK@%;%G3!;#(]Q74?/!]_/(9P4<6>7#K.9WNG?&67&2_ MP/LUK_.TC9EBBM#^,W?=-:!ED2W+.BDI(1?7!X>?44?&G [*9Q%/[F M?W/EE:-,'SV(-R%$"HL)'X,'?V MYR6)9:KVI*P^>53]NY\]QB^UHYA%5:=/\M4J+Z#L2DHIGQ:__0N=U=^:"_#V MLFAC,&A*XCE8>L&^2\&='@^@,F:*]%Q,7&.[F%.4R-?O!5KW;-&%QH4UJ-$2 MXK'SP#MFL-Q$=MPI9^\G]OER+-0WZ#^M_ WL+A4 ><& F#0GS>A]4U"??@(B">DTO+!0%;3^Z/X>@D X_;J,[4VSI V?S7)/TF ML'"GW=X$<"<,^:9,K]L:;7H: ;4[54MLAX*;H!P>'31-7\(C(G!>L4):16.0 MS!NF .(*P$6KFO#SW;]DV4L]^?SL_-'Y4[^LL(=#@ Q!.BX(4 1.LV!*#+:( M1@"+4E32U#G,/C[*VA-:8Z26V&4J$5L^NBHNZ M86T6'D\ND=$+**>[F!!3%MU_9TW%?/1J)>!LD6J=)K0J0R+UH?Q,7"@LGA/2 M2#R0DWOV!E%G^UI!U)G'0RI76#0\'2 7&-_J-Q!)IQ;AMW8L[C5NC,7>LUII MN7'2)=FOL2,GIEPF=NH@Y<+>4$?M0,O69&9^3BHFC3;:'<4K\EIQZ%N/6K), MDU>.#3,QUS-[N0I+&9RI0&O2WB_XDSI\)X/A^_G- DP/6%3DNOB/ "_34 ^. M6AM6W^<-5[7Y;Y^2AEYCFTX\]45O2E)'56/_4!,F_HZGX M986\[ZOHX@0> 6[-')!V9+-EO2;:E@77QR N:12V*9Z'_,Y0<,INJVRJS3K; M(TRSR-O+V:JLK^^LPLD/HM.4,$4(=X/285$:1>+)-#*?F"4?.#MN9&QHDKPC MI_,Z_G34XO0G9T MJ]!B,OU4V2YU,32*!&TQR\/AE]A2413<"QK7K)P39NTFRE*4'7)YZ\S:'6AD M:N YH:,T:M@,XQ-%095()PR--LJS7I4?XKG;UA(R!%6"@#@E,A"F]T>4!$*= M;'99L]*L$)-DZ(MM6P&KKLK001;^N5#E/V;YAUM_Y;>(^$-P*]$[EM_V(76^5EP$+P2Q%?( X3DB%Q(Y;I7.9D0M J-=1VD9L\<, M"XA8C:;?J"2'R56'U2>S/6G9<.,@6BLRQ\P5)9+/4 )ALA1BGLFIALX'C;04 MA$QV2"[K948KD;I=U*RO*)LYX8WE;O%\S\PYUR(MB2#JC+7T@I*:5O2 MK5!"%:AG@]>?WINB#N?-R;][SC+Z5>2M^SJD.+1=&@W\R.P.GM1H(D9+C8P" M)&WZ2AL$"?@K!MG?0EA>%(] S*%DF -Z(8YFWC1D>X2Q@I+BU%\;.*?,ZL.[ M(L4Z#Q0UF,5PK3#7ST+80M[.31N:+5SK_24&^5^XFHP6/"AO/2KM = E"3@> MIZGU8K+*Z1.RMX02(>PO0W3CGU87CQ^7U4HEP-=$?W7B-R+)D:IT,B=$:;*@ MFEH)D"[&7^0RYH!X*"2$>C4KRIE^U_MS(M>5P?.K>9RP>6E0P%T $#F&PI[L MB2ZEF8S,3A9?FL6!C2'Q_A(GJWA1PMTR8N>L$Y1P[H0SG\6/) ,>]NDNK=1/ MY[K^_E&'OQQ0&-RED>HD'VZ_%8WC2T>]1HQO-T>9 MDC)^-5MLB3^#BX X\?4".*RC,5^1OWY%93YL?^A8\:&#,Y6LH#BT'=5"Z_6Z MKRC%+7Y[,WOY=M9N_2.O6ZV^TL.G0T35+9SFX9C]RA#<3"S#V3>$S53GJJ5# M3L9^14F&1IW',*KJO%%-DE^ C/PS;WCA\9?U MFRBE326"7;_ZN[_'=/'?6K MG Z%_]057S4;JJ1=]24=@W+&BD8ZABM>)(9RB!9W?T5<$3V#PX3'2>1./5(M M(RM*#^'M8KU4L>?$\P@1'KX\WNW[1CF4/NJ%7R92 6^P'E\9F;/I)8#5D M U4Y;2P(K?P*.)>]1_GOGKNB0M6Q]M.DW^=E?OJ\XV^R6/K98K9Z#B[AK?WSZY)'?@O*%7Z64<'8>2PG[%.3H.1FZ M<_:7TUE\WAD>>*9/?/J)TZ1)2?K\],'>%_AGK<@PF8U\=?_L_,&#!S^Z^XOY MCP\7#Y[XV7B4__C /5D]_O+ITX=?KNZ/9^/YA1^=._&\6[L\D M!M(88*&>T4%QEX$L,$A +@:MI!!-IP+@(]0K+89 MP#%BSIA[*^I:(M"5-M'$R6 X&,(/&2?D5QJ)X0C)]"$OU5.C5.6ZZ[IY!QX8 M#86W,^^$T2DN'@NB;>N/J".2485J&?I@VGK5<;]9U*/7])\^W-(?CS;.GM2A M0>INQ8.$%$0<6(6%TD>]=T)!KI5"JB.K-H$R_.S@J':S>XL:M_&_I2!9E+%? MFBN_$>>*'OF%?TI1R?[B=#:[36=]]PHDW_D-:Q"\4((([]C8=WCK%I=57=87 MV]D]?<6W^B)9P,YZ7S*;7J[T\J6[(-Q)'^)V]LO]ZCCAU:&.;'!#=XQN8IG\ ML^5K?13O5I>;O;N .TK0D1P0,T?"GR$.X\LC#N.(PS@$',8O.5RG#S<@ON@$ M/&5AXI$M4?,1ZANP(139W'1N$A%H79'N@E8?W%5>]IP.I=-*\-:NNBJ:N@)] M+U2P)QZBISNJ![!VW241F-NC/E\ 65RTU&],C6^Y]WI,$6P5 _ _(YJG+&Q= M4Z4J[[U=$:D)_()Z0:EQ6(#3C:.L@03H:%M8^/S#;N5OS*N3[E-_7J2^ZS>+?"/._L-S[_,GXQOE@N1@6 M7JTG8^,D"\Y5BV:[T9X))8!B_UJ\^NC72?F=$J;^ _[W%R1HP FDG#DVXD=T MGJ:^KJO &%#S117"HIPFMC7]SC^,8G,)T$&_'"9-)05$=?UEP1G$]"/ARE1^ M5W]FMKAT),ZVJIM(@!4_>.47=:K7I7&"D_U*X]E-?,![SYHC]+]8O M%:N\+ MUBWSU8IS.K5%?,APJWGUG['KT?0=5I-QO%G7;/416XB91_RH*>^(E)O_?_;> MO#EMI>L7_?_]%*J\>Y^3W,)L).;D>785L1W;B:=XB)/L=8W\6>V",PX6X4TGA&O,J! M*Y,5%FL^G@EN($%)$EPU5OO.;M*D4$3A6;&(V*2LJ([D5R5S\\T^JVJ:7=2L M0L#B$@M0+[Q$!0+1^N'. 97P"PT)? MK-BG299!G/2,D6?KNF$GO-$O G'?Q1;KOEAE""D;>$)9,-*8RY1%^71P;RW$MH1-KN+F#=$&D7Y672$&[97AV M49+.A(VX!A?7\Q,(KK.:'R@XA4$8=9H*MRT(]E2NDZZ2=,+)X[$HKUA M/%,8GM#P!LR(6#&L*3I6Q,40&R<#>G(3PHJ)'U%&4^21267M;ME<8F2MU1JK MS.\<('(#V/5\W>L_W.7!]*1)&-VN2WCJ>MZ$G=6&M;D, LD,QTBBW>OA M3 YQB;)@TN/FQ."W"8Z[>-IJ(EYT*(_A6B(&,%<[#ZF<%>=!GD_&A'-8[-I$ M7 W$KL(RAB9D<%JA81/*91I^)C8F2Y(RURQ2W87IR?L!],3SEC#;'B'L@]\ M"FH9^ >*"_,]5SCJ!0V >QP\2%6:5N7PATXO6I)(%T\_CG96+$L<)^6,[5I7 M&_559KA3(/)\V 5GL2X-HIB.'] N; URWDBZOG?1&]9F;]).FV^2/U,<@^XRZB!1:U, (O MFL6VAJ1KSOO4X4%" X( WYR*TB (XB?UG,RN<1@O%@ MRZF)!4TCOL8%D,_1 M,-&"Y17S=$4MN"3XH#B/XY^:1A##9\"IR\Z(U]L'[#=SOO&QOTNS,J'^"C5J ME"U 146UZRP?\8L6OC-<>!]BA1\J.Q:B!%P1'E;F>P:WLRSRSSS+G*,[^L)+/4:]3T7D-KERH=K5UI M-DOM3J]>;9>T3D/7ZG52-WIS18#:.2M/HKJFK57J6BTO98 _3W&.;Y>4#D.]O: :F0+;.26:_YQ;%V)M@:R MVTP4H$^C7VR-(<984*[(O>Z%'<5L,3V]X_*X9$&Q] [/0B8M<286&?8K)"UN M56TT#QXSLP-GCVK1\;(&0F8%J8U"0ZTJ'OP50-4(.JW\*+ $3._ ,Z#-"D^& MW="871&GR;%Z'[V @%[4/1%(ZY^AW(&^0RMI6D$$;L XU!6;GAE[TT3W&+P> M3RX5> 0/DJ\FU@<"HAH+!D&;+=C?XL%EM0 /;_)T'_5S1Z(CTB7P"M@">PV/ M:\]\M5QA6X]Q5OPP:P6UKLZ>99R?9EAV\6G&7Y/:D3WBQ%IT.9:B5O&\ZD\X MK^@7RR7AG^&P^+G8D%J2,Q.-3&O&3WP M,G:LP^?Q,'C,0$!4F382A7T;.@&7,!?]8",SO7$#C?F62?BD9')O\J1:V-(# MQX_=CI& "&ME5/H.S%Q@A\B2_[S+F/L#S*D+FE"$"$"3CT<8_%;0Q$%]DJX7 MJ\YO&!6CV='J[4:U1MJ52DUO=[KE1MOHE6JZJFM:H]:8NYC+QY"1.P]QP=O5 MJJ;FK$6B7%1PF4IDG9G>TI_ 6X0N5729Z?\&K42\VYGG9Y#J+.<9A5X72)CH M= *GLTHM[#D>NV$/7Q!ACY;ZFYX80&WQR;"8N.5C7F+3F!"D@C4VA>EHT;]. M>"2?@<6%_4#"!%W4"(NC]>)]L"$[54[H@OU+O4?\Z5XX<2K&=FU2Z5:ZC5ZM MK95)K5VIUGOM3KE2;Y-ZO4J,7M/H-!KY8D!ZD\'&%+8Q);*SM;(A]N3X2@C/ MEZN6K970JI$<^9&C;9\0@6C("(2,0+PH B'Z_YJ=9M?0C7:Y4BY3Q=V@KK]N M5-IZPZC6]7*U7FJ0F*H_;UU<'1VUF_5:VGF193S_)"4/2V1*_N@HT.7AA58] M0:00:H)=D#[TRT-AU2Z.1]G_/:;ZYX)8^;JKJF M(,86V(_AJH-(-5N]PI9? MH)]@D=[+""[V";,.LS0;S\;!:!TVK@WB\QT -+),;!KDZ:]3W>OJOY4#R^E0@XQO)H1- M]Z9#NE]1(')RT3H1%1C47*1^W9GA.QU 2P9VJ(-SJ=8@P&6RP9UH&L* -XXA M@%Z9[0C4!I^?X3!^AM%UK\;L>!*E#\.9PA<$Y@_,R"YD9&M5M5HMJ:LK)J0$ MKR[=0@L7^(ET7.:ZUC!$4$%O8:!W%;4>'8[LXD8B,T7# TVV6/(FF*D M)#H+%N9]X+"' )Z>_B;\+']X,-^,H^NP@KS8@V#Z($.@LTF/ 6D[$P8>@CX\ MHHSP\9GPN0&QT,^A:@:B#C9UZJ$"H.,ZMW$L%YPYB]#65_&US9\!QAZ[#F&8 M7WR=<\L,U\'Q9<12?!<&X])%<%!M*+1C6BIKOMV#8;L0.%JM'EK.E@* $DN*Q0HO44"E\?&-0%K*R5T'J11ZI5"QS%J)1OKT ML8\+0+HBT8[>&$HQ,1J=]'2 M(+D*$!+W>FFQ;]C\YX7>#%[ F"@V.AZXSR6 M$2N\BV/I,'AU/FF 4%ER)ACXZT:1WN8]\U;X$C&?(@!3'R$LO-BT@(P[?_O!8$Z9=+]_U9LB,'_,:K-=*56-=J>N-MIU76N4*Y4* M9:+NG*:OAW%W#X*^8];A9'=;T 3NF8 HE:_+H![-%00N?[AVO+O%ZO&N6/9< M]%X"VV WEJ^Z"$V)L\"4R#0K\Q]S<8W]FW]_.&/J+6 [@XMMB+%IN=WX">G\ MA )$OWD#230D)Z1(?*=/T/8*&J2P9YY$8==P'L\P*) 5]7;4D$980'1XN@JQ M/#)!)UTTC[#B/>Y"S:R:&7Q02,]!"8+/HS$'MC*UKB?4P-RQ'.>6#6(/EL'0 M#WAC$2L%!X/2YG6?<3SBR/?X$=$[!-$6T5:%(LL"'VFF1ZQ&M-T%[AU,O.=@ MM]@U"Y:=,%:CM;X.5J!P6YB%)$)T?!X%B3;:!-&0<"Q>Y"@XAF!@UR+]6)L+ MZZ:*M@4%&3KQP6XP?IZUXD"=IAF:J4N.EU,@G!/W(/-183+7$U3#7BH;6QR@ MV6[6RV$]3_RDLB\G&F&RA[5_L+F2HG!-R650X;*24/&^%K M5BL1PSEPOCD 0+Q-])8N-P)0S18>E(V//8$30@)(?)CIU4%TE,ZXVT?$?XZ+ MP*8!,H3S.X+U C,D3>SGAX\)+0;#":!,!)HA3!:S@>;.^16*X S.ZH0&1VJ* M(>(O'$ A4NX VL#VQ/O"W\,,LF%LNB/X]#A4%+UQ5**\(P@ZT P8/0%%%09B MJ", B@MEZ"-K$;3\VX-6Z_S=+-KW)$()UL*,;G:0W4945+$J!CI-_V/P%GA$ MKX'H*/0&1''D(9 PYB NX:40EM2)=[:ZO\88]=W_>'2UUP(H"]NQ=V"IL6-& MBA9X) *+H:C28,_KDAXL;>9)H)]MXHN#=1ANJ:*+3_40'9W#X7.JX"P&H$V7 M4'<:VCT#;32D2I.W$Q>8H[[304AN1(NS/?;1X#EBW)P[%F5#8A8$.N^K&C7\ M9#E<;BW,'"FJ8F9AG8W=V4:!A)@-=$3/D@5FDT,0'Y%9HMA)),HKP,ZLC1RY M'T-37. 1I8&,!&8@MC'Q2B2=]90R12#B63QP!6:/Z^]@X1I6*#K4]<"?PE=& M,&%A 7"7STSVG82E3V@IS.Y.C+6%K??&<>1!QG'4)A!]L.$Y+("1"EJA;+*[.&(JDK6* .GS\%EWJ/\LK4(_QN=9?"] M+7WDD??B'U%Q!7>5BRHX;09S]CY$HT8 V25^P1QC_$W,?RZ-_!GGN10XO0WF M\_JN6)=0#4S<_6X0@%D2W:@UBUK][V@0@K].!)L^"#?2>Z#[HY/,@#KY8?%3O>(Y%.6C%SGURHS)^\/'QO%BDQN\^XM@C/5RV M@QU<;)M:4:U)0N2 $&JQ7):$R ,AU&)#BD0>*"%U4TX((7537@@A=5.ZE/C' M=\&63!?.(94*\)?OG?-]4WSSV/1K%:$[E+D0Y6 M1_<*%0.SJXBLZ H/K/%P1G=IR/8'C#[:QY:P/6(@.@CO %(+[!]!)%<*24Z$ M9'YBW3(*,RK._S=.UZ@X:,\5![5\/B[0-D_K+=O1;*PQ M'L=\ORDL_\1=+^#PU?@]:[G(7F#LK,C)2+TF#6/,SU1LDH\E'V\?'S_O\@E+ M--__KV$0TNNME^BG06(L-8G,>DO/JBE.05BSWO=?Z0E@!EM9(I-*.5Z?\!BD MPV:A5-72=A:SIK#D;,G9 T%Q?\S%-X UV=O60'5AMJ#&0GD6C M(V]J02M5-RCL*+GT-7)ILS%O[6RF1W+Y0"&MM.8VW)I+6U(WWZ2K%DKI7S%9 MDUFRMV1OQMZ50J74V$2/Y6BF%T2:?]+\RZ>(UJ5+?%0CEB; MDJ_?*V\9%IC_3GHGJS/?,JQ1R<6Y++0#LSZ8!_*HC]$*;]7:.^GY2-&1HO.R M('5:=^OZ&"+H.J_A\V=JWZ0=^R3)CW%SF7)SUQE#(W(FWA<+31*]>3[Z!_$1\@-7V8$=;X(4P*F+2LDUN4CIHV50TQJ M77%LLN/3)2ED.+*<*0'(# X?AEXI!W;E0UT1[N,OK5A2Z/8L^(Q #('R\J[" MIZG!I^!%F8V06HX[LQG#*^="@R36V^$()R1$RDJ9W<(\5:( ]6Y9,A@$Z/0=%RU#\VN MY\XK=_!@'NFN:BVT^.ZO("0NZ8QIGH%YU,H'B1.6IY)CQ8Q*EU$T+PA;%1# M]-$"#!)UHNF/P[)A7[\E P@ M_&'7-)#U+\E2]&?*WPRJ^*C 08I;LZ#88&E') PPKSW0 CT80-UE AI8%J_* MF%UP*W W-<'"342#SS@&\9$ B"^.P^;HX1,8=F:C?D?V@QT@%\3Q2$$(T&_B MJ*I"#( 5,7B!+AS^B[E,IH?L3Q4>U:1T^_3I '4*]AAX=\(E>C)VYLLH*\S+ MR&_ $L%S1,.1FI#4^G_?,^])-VJ&"%.*\4(\N<(#LNSLW_P3_=.+ECQCOR*A MZ6J7A!4;6PJG!T\CGZ#ZF,&%,^"BXQK7LCO&5QI M28C0'O$]/A-CX8BW5XOG7*D7:Q(A,F+'988062K6*I(0.2"$6M0:DA Y($2C MV&A*0N2 $%JQ)+%K\T (J9IR0@BIFG)""*F:"-$LUN4=D0=" M:,6*]*SS0 BJFB0A\D (JIKD[+ \$$(KJE5)B/0(\?@FJT44>3 .FY/,^FIC MG#G;9("NKZK/A=>O-%_;S)&5*:4\,8<4^.T6^.>/TR@5U<9&RWNJ4U66!V?2 MGZJR>'"*I/(#4U,DE1,:,^<[3C>-RNG)\O)HQD93>=.)G)XH9VN"Q0_E&0;9 MC-=:6O"4N'%?"5@GMMU_I)FW[6;>\T=)KD4=OD0KO#VRF;KT!\[8T^VN]VY3 M[OM-&RM:+996"YGS8EYH88LF<>&;>A][TWB[=7I,D:>;XT5,\43$)*[ALT8; M.^>5NYYN$2\UE9[UKK) F8$2FZSWG0:N#*M1V7S[+5R=O55WE6LU&?SY:"1JG:OY, :^SL=KL[!3C+AZFS0O=.> MQ93NX,EJ]KSP]TN=I+6N]MBD[JY'WU%07&>J6_X4@$B@#8^A8#@(_\']X-<7 M!'N1$9DG/.G4!BIPLW++(*%+A5HE=1M3:70K*8>(MAZ)D>O:2N9 MG'M&V\7DZCR:TL[$)"VQ[09#+Z!&:>9L1U7CH\X M8.GZ4EG[NZ\U1I^VK;GQH9Q:N5"OI3J:][4&ZB5[YY"]J\U"LR'9>TOR4&D[ M41O/WFJIM&WYI$G:L%594YTW0!P+9BDP^!:^62GLT<2Z,T!R>2]K!H$)# M2[5&Y+6&\:48O68Q:FJIUJ&\5B%:D O+FEFR-[OSJ5S2=CIERFUE*;>L625[ M$4K.W65]+FF'(65F;T,R>XG5D ;W?F6.3W;>;&_GC58K5+54:Q!>1:Y$.9.\M9>]RH2G96S:8;6F#6375?+%,=FT':V]%?UDU MU7HBF81:[=[.1L35??H.A=R/B.T1[[U,/.6V&R=E,S%#S1)L)K4MO9( N>0Y MR7-;WZ:5LK^P93SW:M(D&\MSV;9)K8+G9.)B?8F+"^(1W34&V.G4)7?$V\K>ZLEV1DDDQC;F<104T>)R)K$,HDADQ@K M8&V9Q%ACU1>QB:M;Z#OIW:%IFYX/&8X[.;!)QIASJFPJ!:V9NAD657"IS)WGF4DTVI,A,2[XY-'7X[AWG* M?%*N6&7-^::LMYMGR9#IJ'7XC*J&+V#(;LYIQCZ[E^VW?!NJ:,5; :';V VCC[SR#:< M(5%ZKC,4+I5CI^=*9;V]'*49-E-%;4OC2+70:$CP*\G=V\G=M8(FAX[)KJ@M M[8J235&R*6I+FZ)2KUS,FL1;FX5"7\DG+O%\D7&2"2?96+(.Z)E'J9*WM?([ M&3R7?)D[OM3J%-C?)F'Y.-4VS4"I+ MI#W)I+EFTEI!37?J^*M@4IF$6J^GGVH03.:?\LZAFY=_2K]<;3,X=#-33T>! M^T ="IOT3%]YRRO7WLDLE(RSRSA[3+?)H4E2-+9?-!Y=MJ>F7[7W&@5"YIWR ML-W\1]=E]BE7#".S3SF3#YE]6EOV">#8Z3\H00?45S3O1")*IJ">CSQ6IB+= M=<8=BV2CPOY:$>I8!OM*/W]5377"R:M(#4@.WQP.KQ54+76$]*WG\'EDI_H"P6,P/HKN>LD]?VU7VB$&&'>("3+:BE;0R.K#T'UK6NS47;_7- MOQ?DCMACZE2;F2WPABA]G.WLTV.D-ST>7*/Z-QRU,W85ERV1@4..7*<[-GP/ M(E-=2@G7&?<'2A=F09N=L>]0>O0<-R31%$E$'B!1@;[$&Q$#IDE;T^*Z3H)M M?JB;MD__3]'I/ERZ",4CE@4C!5QB,2#,@3DJX+YPY#7IFX8R&KLCQR->09F8 M_H!^Y0ZG8]^2J6*,/:I.Z3YUPW#&MN\5%?J:@7Y'%,?MZS9=7!=/UL.Y=S[1 MAW@2+J$*W*,KQ:G:GD*7Y< 1$T*/W:3+GM*/]&$][Y669^H[Y[IA]NA:WK;. M6[OO/BBGCDN7TJ*OILK] SZ3J=&N>??O?^A_Q)$:%B4+J/W!!TJZD:5/WZ-^ MY6?&'K9CT&/\L"S")9Z0^@5J M$,#HB5.ZK$;.(O+?_XEN((PM[AB.Y;COQ>T?.3%^$AK>@WVRTW&)?KNC]^@; MW^O61)]Z?'OU9C$PK]X'!D09Q:]$3_9O)?)O.([B.\)VW*%NQ>X(_JLW_UX!UX'6VJ5_I1S@!9I?__=!.9@] MZJ037,D91#3Q_MAU1J2@G-#[FNYD7_=\%.)6#P1:>;M_LM]ZA\J$JBFG#XHD MT,Z=*=7B3I\:;8.ITM$]4#$VZ&&N,Z@V4:B!9PQ0\P1J7'<)JO("OLAV?(7J MG,F T%_#=ZGB#C\;/('^98K?U#V/:G2+O@N?0]7DB'2+REGDUN@(I27N!65$ M3\7IPN.Z=%=PZ4QTNA"X."S+F7C*6Q,6[HP]NB3OW7LD'6J40$J9K4XEU-)' M'GDO_A$]:6!JSM! 6H.QA%!P*$$ZO:_$+YCXX&]B4A:Q=OEG2H%H-)AD^*Y8 M%W^?RACZV>9V;6EE=81](^]SZ#MZ]/2$K2=^1G_@/5-1$WIL#ZH&KOKQQ>*C M>H>RR-@G*U8)R:8A?I#^\;&^8%2_O]3K6>K42T*LB1!JL2P)D0M"J,6&)BF1 M TI(W9030DC=E!=":$5-ZJ84*?'X:I7GV;$YB>2N5@_G;)/448)?_O=-]+7>5;5EI2#3=ED( ?: M<^5 +1?5S98#",#'.3V_U&_,$7_9SI@4S_]W;K>IL$%UX]E 6X7"R[I*%U(B MJ;%VUIO)HO*IG(-]IU'-QX,6FS\EI%PNE)JIMB=*UMYPUF8^[Q:P=K50@_SL MLQLF: ^1!J&Z1N&6??E9GTN"SVHK \F?>503WENO12D//%+UN>RT%_+ M^F!2[Z9M:)OOSHE=*S5\_I7CZY:H:Y2F\)-40=;-52N+*F:]L;2;A,N%>BW5 M>0J2QS>7Q_EUE?7&TAX7TBPT&_,\OH(VP^=WQ3V2;[>Q*IYAWY2*ZE*(&%G- MM;Y*4U42(@>$4(MU28A<$$(MRD+3/!""JB9)B#P0@AK 4C7E@A!4-4E*Y($2 M4C?EA!!2-^6%$%(WY8024C?EA! @$C+*D0=*/(1P)@FQJN;!QX7[UK?KQA-V MO=+ VEI D=([A!1:"^O%ZAP0XT;UTCRUM7!E-_BF\D[EV;Q33V1WH M=I^DQQ]K .Q<#W_(JR3[J^01S+VXZ3+=ADNMV%0W6M#3[;M=[37PTKVNLQ-7 M2P"SWC3&T"1C2,:8.ZS6$%!D)6NDLG\><]E@=OA[!:>RA0;C3+RFM. I,26C ME@,M$SN ?Z09F@9\:L*>]:ZR*/:NYV#?*;4P; 5X1+5<4+7YEMX76LA9 M4SB3-H8MXNQLMI(V:U<+I7*ZZ N2M25KI\W:CV7GMVJA66J^VS9^3FTPN(A- M;"9QR\5JNJ3-P:SOV3%T^0X ')L&C.JV^P7%=::ZY4\+RDB'#B\VWL7Q!\1- MMX-Y#0Y_YG='/=N$TXH53O9[2WWR9:%62=UHVGHN+V\UE^=@:70K*;N M]4HNEUR>*RZO%FJ-5*?6KYW+T_8.-HR JEHIIDO K$=1;USH?P7 13F(IN0H M])\Y0LKZ<@.9;S7_@$G$T2MLF M&]N=RGB6@5!,-\B2PZ1&NJ!W+]:U&6#OQ3PDQ;0-E^@>Z<+P^K_*Q89"EV"9 MCEU0'!<8XN^"TG.=H?)7K50LB3\JW;%+Z08C[ID43:$;D,2Z 96R6E"@SK^@ M^ []>N393_EZN:A<#<)U*A/=4T:N2?='CTKINB;=!ZS=CW[(M!7K*?DAQ>DI M?U6+]<@"":Q:_-DEAM.WZ7EW%6&*,3S*?/Z1.PA>! ]_^HBPRI#N/^[A,"Q>XPB0E ]/'M8:)<^SW)&2!KZR*B* M ,'WZ'%:#GVO(&BP*GA_*:* Z,_Q0T /NIOXHEP7NFGQE>RQH0)9L"SZ M+"H/>#LI0Z=+++8!CS[3)WW34%R]:^K L@J5$2J=^-Y^GTK0R47KI"#4&V@T MRE6!FHMN)3Q*^JD97D>2N916\!_;X:P6:,7'D3U%-92D<[@ZHM>Z&2^CAG^_ M-^D=:AKTK[N.AT=ZB6L'63EP'<]33O"1__G'_'>[P6NKI6+SE:*),.NZ6*HF M&]F1[XTR07DIU21=\D<7ZBLV)%WR1Y<&@FI(NN2-+N5B9>E4!4D7J< MRSM=I![+)UVD'LLG76K%VBM%T,TW7:1?F4^ZU(KE5PITG&^ZR'M_I71Y8I7J M@^'*S YAC<@URQ7XZN%)5GDF*4#SEHN-?*,N)IQ?+I!Z'U)UFR1;+X?I56M% M+=\PO4_DHU11>U?.*T_?_&P]F+Q:U/)>HJX?J+175QC8)>XK(O6L1]6=O M=)WHK%O()&FA^&;.)&M2%/7B5MD$*N_ 6$GQ1(YY6*=2:*?;B,9V5,YI+ MUI>LG\#ZU8*JIHAH)UE_NUF?U0GEC/67$WPAJFQ%312XWW=W),=?/B%L(M>5)_^<;$*_(%76'XP'U\6T9F+8*SE$!M9 MSPY>D=FH%AI:/6T=*GE)"J04R.<)9%-K2'&4XKAIA\C=R?P<8DKBV&BF"DR\ M4;FSK#AI>4-&7CFE64L3PSK[FN#G0UKG,R_&\-N,:'9L6X-%.0J39H[HF5D* M(?.=KR#'4"M4M13Q3',9<9/"(X5G1<)3JDCAD<*S\@Q>YCM/7W@JZ<)H2YLM MKYG 9T:QBZD'S7+&'B_VQK)=5&U4:Q MLE61H(5]79O*RZEM96-9E!J/DD6S9M$71.K7F-3)%7?_/])^V):L2AJDS%[S M/)N4*QBKLW0LR.Q:V5^"7*TV>G0Y6@8S3$3UX,P@&!(=J%$J5F)#>-1B/9CU MHE43)[8\=@B/5HG-N'GJ$)Y@Q$/RD W%); I/O,AOD7#&8YTE\VO@-$.]-MT M:SA])&M:/&U24'SX22D4D/34&!9*(7G3!BZ1T8 M)D,W#Z-J7%.W/$7W/,F[Q//$Q)+$J4@1X+8(,)UAT3V 7AQ\ MZ)K>R-*G[U&'?(C+LU8OEJM 1OHKWBM=AMD8<>BZR'-C#]LQB&5]6!952!?\ M;IDA1-]2UN9![."__Q-#[ L"-C AQ''?BVAGY,3X26AX4?3)#@,$U'OTC>]U M:Z)//0$WT2R613G+^R!@6D9)*-&3_5N)_!O.88Y.,'TD@;HR<$GOOV_^]^IL-[&B!/Y- M+VYWJ%NQJA+^JS?_7N&<%RH*NPX.;/&"^T;_]T$YF#WJI!/,0$^>4:GN1R)? M$16(>@Y\L+^?-.<) @N/_0;59TL60'4PFT7DPZ/"W]/KQ8#?X *]\6ADF3"F M"157^*FI2:RN!\.[0'/Q"4=B5!.JO_"SC+>B8,\NHX]A@_AB_Q'>-VA\V" U.'/@'G9]&_NG090X#V:/WDBVCQ]V;#Z7"P>S\7MT[C04 X9S.; ,/H-O>X=*E5_M$(/%E8P2 M[?LU$^+UCBG(&2%>[WR5G!'B]0*KYXP04C7EA!!2->6$$%(UY800:E'2(0]T MJ!6UI5""DA#2GWM=A*@62U(UY8$06E%]I?/+5T.(IU;U/A3J6]^NMPQZ>$5; M?@T#EN EKW*BTFHXY?DCE"K%6F6C.275F4D/757KV.U+ =RDNE_UG(: 2'+H MT8/BF?J4H]Q,ZY!<\"0N2'>,T2OD@CH.B]A@)EC!)*.-8X.7A#(VF/1_2_M, MVF<;NN4T!OVHJZ;Y2P5T39-]MD=^,VWZI\^\6%"LN1V@%[,"_%H&.'S8]F$E M3P3K4 OU>NK=QUE36'*VY&S*V6IINY!H,N+L'&P['8@NJ-_8?,:NU5+DZGQ8 M(FF[\9M/XV*J$&MJU@C 'UX$FI6!/[_(^%=T3]&5OUDSUZ:.Q8$ M@BA0-FIS,Q/XFPDA))GO&6;Z!N/TKX11,ZV561/\T?)"ZJW8Y*NXTQ\J -Z* M3:X\HI[B)E> 8_7BA>4.-2)FV^]%;'L!(E$$% EEH0L0(#O,PBC58S!*U(<+ M4)14]4605VJ*.$ISD%<#>HO3KP2[8D7>\ :'@X)$O!]Z%,0>Z#9]#\=[ )P' MFY+Q_O+\2&'4A5]?7EWMG%RT3I*A2.#L%&^@4T-@'F^BN.7 $-08E=7Z,UEC MV4CTF@DANZ]S0@C9?9T30LCNZYP00JJFG!!"JJ:<$$*JIIP00JJFG!"B_@ T MOR2$=.A>%R$>FG @"2&1(3:2$$\M77DHUI?KOHS-S'RETXHBD2$D,L2JD2'J MK&A\D65G"TY.U["L?FPB8E\B1"Q!!Y]#]T\)<>=:1#%<#S?*RS$=2AP) UZN1OFJT!ZH+26K7(S66#9&/2: M"2&'6>>##LVBG&6=!SK(9NJ<$$*3 I$+.C2*5=DYF@="2,V4$T)(DRD?='@( MME820CISKXL0#\'_2D)(E(>-),13"U >BO/ENL=B,Y-7Z;25/!_E@>J^^D:W MA4F4AS6A/%2*M*BY1'J2ZWV:4A\W6XQ+D(14F:&:_&;B[I)0&ZJ\%P V58O,%N W5%<(V4"(&'S!M MY8[^$?$6HL@,#+D!3P' %%S=\!5+[SAN,9]D/8*D$_%\04N@Y-9#291ET\M, MKEEV'[UF0LB^R)S0H52L+D45E)18GVJJ2T+D@! /831*0JP-3:(A)2(/A)!6 M4TX((5533@A1>P#B5A)"JJ;718AZ49.$R ,A))Q$NH1X>NG+\EC?6G8M'KM+ M5]AQ3?J80V+=$5@U/%*WO9W$YH M2KD]U.^1U9FE %]1*:J;W?"V-O@*R6HO MQ+^@U_IFL]K6X5^\A)O"NMVD?+2\Y#;IDGMT+]_J 1A4-EET&I%S=;^%< O)'CW3Y:_%\2!MI@;OA[ M!8>2"[/Q8::([Y:;A#.QHM("^RD.!5$.=$ELI_](0W,##_U53UG>3]1YBZ+PW< M;"9[U.O%4JK\D4?X%=DN.NL1*5T2;_'48BV>P!5!CV?I>5V:O,>S5%1?T.,I MEHD]GKRSPJ3J\'2TE\BFDKO;%EP?^>Z*XQP"45%'J$8PM[9>D?;)@- MSH_5M(VQ2U\5V2+]\% WV6IZ^'U%[]&/+WPGMK'"POC+BY&JJDB9F&'14P-! M''SHFM[(TJ?OD;U%KR8/'6OU8KD*/$%_Q2.09>CZC!>219X;>]B.02SKPS)7 M/]U2M =B&^7R?(49_/=_8O5S@=:!WE?'?2]BYI$3XR>AH1KJDQU6GH=T>:]; M$WWJ":7>+ ;5&^^#L'L9Q8H*1/5O)?)O.(2H8GVS_&OQUEGQRP?* M!#F9?6?T7E.+M3B)*VJQ7IVC] M*=RA;GV(ANGXK][\>X4=S%10=AUL1?8"A:G_^Z N_>KE#_\746U#('M5BJ)ONIF16=;[I(>RR?='F] M3>/YIDO]U?:0YYLN4H_EDRY-G/ HZ9(WNFC%IO3W5T>7)Q8O/A2MS.(,9/WT MTM10CHXPA>;T]5SRXC/;EW72L7J-O%ARHWLR^_L-=\23X9. ME_?AYMZ'3Y>+=?6QEXH-=9M41JIM[RP';UQ*]*=[PDCK4]O+*:COE-MT]G0EZE!>;;BOKFI=6;-QVUDUF/_+'',M*%D_CA8*:_)2WEM*.7=ALZJ=.5H34V&4#&9 MLU-+H^>0E1SFJZF,==XNY(]%/6;E@J:FVGZ;4;O=I@M*-CVLJQ<4J&G;"D%1 MFZ6MZM3=2#')O&E]-6)2SV$/^[/ODY*V77 .Z0I*^AWN/.ZR#_BG>T>,1R[J_P>ZZX?:6^G__N7%CT2W7+H-R:F/Y@=QQQMG(=] MT6W8]!WP:OK\H6.3*1],K1BZ1[]N&!!6A_9]G7?A\U/A* ;X*=Y)SR8Z\[^Q M9GW^-E?WB5> SG^//IF24%6&*!UBF>2.X%<7;DBA>U&\<:]G&B;P'-W5 MD%">A"_I5 @- M /] +U.02[H]+V&*/=VZCI<)/A!E&=6@ M[SK=L2$$VJ8A*D&$9%L-X"/?D'_K60(JAQ-K#HP=^&M$7.UT0Q2XU%D%2WZ)4BJ#W M^^U&=J@UB^HK;8W*70^!^DI[;G)&"+587IJVDX18%R'48E-.O\X#):1NR@DA MI&[*"R'48D-2(D5*/+&)K$;*J>5B.=^=.&MMO=E>*JOU3:>REMK4M'I:Q=]2%6[8EE,S#W(L M*F^/HH'E-*[ZK/'Y,?8_\\2ZHW)!U1II:^VL22Q9^\6AH,UG[6:ATIP?,K0V.H M'L**I#OBK>H*>A5"N=9-)KA5*\H6Y6=6DUHH-ZKI#FN2O)ESWER>+<@/;VJ% M:J,VSYL;[)^(BR&HI)*^R?88<&E?'_FRXIYPHU2;6NHW2M;$E4R]C:[)4YA: M2YAY*B=!+HJ]PK\?5:FK?((>E[,@6->*7(B9;FKO"6TQ!25V!%$F[^'_H\\S M'A.@Q(Z:OR 5$W:\4*8T!HKAV)[I05$P5IH'72[0(-.,?MQV[!U\ES&@>R/8 MK_!7K5@)>QN@"!X[CK#J'YX568KG$9^5OUMF4//.VW""F9VL#6CN36$K4&RU MGN\8MSL=UE/C#*%[*6B"^:L:;>[I$BIUALG^"FO0AP[5,G_"CZO1J:+XB:=V MV_ >I)YHNH"G1CJLV-;8^<#QP/<>=42)O5 S+4J\Y M)CP0S]?LXL99(P?.)\4.*CP1MI-*E#ZQ![ OQ3ZL+?QP<%24II%SJB[[@CLF M\VQ;"MMZ!,<$$V#IU[JD1W#*JDOH>8WGWE/,OQH*"C=XJ]\3-$TS>J!,T2P0 MXAF54RNJ[+7AT79_C?'#](6).J@:F?D[0P?&H:$,/$'N4E1%E6)E9D^/T4>E M.'<%*S%GQR,SQHIHZFC+8%^'/5-V-+V1X^D6?)J2D&Z>-^%!TQ7K;5J;PF)* MOQJE2I("F_]FES=1,4W"M/$3U1GGD-B@Z$3MAMN'5E1ZV-$3G=E'J5A+W(?0 M+G-:E[[ ,0WVARZT>(8KTA)79.$_HIPI9RT+.[96LY2QF+:_9 MK3D*$D ;ZM88#Z6SN,,2M?H2_!71.HQ7(;6^QV[LB@X:(,8QJ8;'T,C M,5MN]/8++TW; 0O?@EL9&OG11G4,0KI>"#' V__A0EI\IZZM6_=I!- >30 M MO-Y630 X./$Y>M$[/7^BQZ_>S:3+JXFU? J2#]N@E))2*4(IS6(3TW\M!&T+&CP8G8DR/,"[H>E"K'%T'Q I17=2YHO8C@#B9@D35$3N%GK4Q!KKJRK&C M,V?[DO[*!1%K]5V">"/*6_C"K B^8W! E_0'RA_*-]VRR%3YJ-NWRMO+;Q_? MX?5&/3^4RO0MV=,OF'E7T> MVP1_*E(33VF-^V/JY\//,WNA?^-/@6]= .0(_/ZA'=2X$$@D#)V! #O,;8 [8BZYG?P>\NT\?[E4=&WQ_QG]JAWW.D-#HLO[PI^ MAEV(H__V$70E]2%0K$F 9 -+B[KW5))M"#E:PM%'.6Y$Z,)$:M&65B5*\PRZ M(>8 9;_/8PM84RO%F0^.L&>ZE#&1:88<$8B?[/P])@C)XDG!=Y*A>Q":ITL$ M#@[5'Y2DJK:#L$%!Z&O'L>G2&*Q)8&.&O 1!(T6M+?L2QJPA/^P()+<7X-L'OB?!XY!0@CT=^-#?I&O!(JU"/_&[]7PW_159>#7^$? M"R"*(P+W&+%6QJ*/ IT1^F%F>SI T9 NUP+4W3:'8WHSNOID/@=#E> ONA=& M':$P.H[K,C ;B)T6E &"IOD39P'_N2%9-!]> 8E-CHM0!2P[2FK M<$:\H0M3+GT7LA&?Z34*3L/;F\O/[_#*)^P;(VOL*=0JH.<\@OR!;8^'L\M$ MZM.M(#T81\P< 4>M FUF.,.AZ:- ] A^AIJ*?\/_(E #<$@"1=;?ZFH:E2^ F*+%^IWQ-7[1'P9$, 6+D=L MQO1$_+T+9TUO'\A9=1,/&38.5B+DQW2$/',"@E8%_N':+J"H.,\HL1E&^*N6 M9-=$]/C\$P ICU_K(#4UCO@7=GJ!:+C]'E0AE7OJN$E/7R;JCS'1'"WV3 M8/'T+\R1J0=2Y;AFGWTDV"F/=/ /S"P>^(J^J@/RV"64,8F=]#'3"U*L=$'L M7\#&A*5-_5"4A-X(02OU:/8;_FP8Q,+\#PB(RV[O"?5E.%>$<'?\2Q%Y>4A! M%7!#'<*<-P,0/KO4KQ- GJ378U=A2*LAW8+3320L8\3(XJ.:@!V\%AR\[T , M*U3?LQH+F=1<2 -QNH_15&SO]E2!_(Y(LB73-=05Z!8(I-179JGBNA(*7V:] M/NJA_1K;K-( 34Y,%W%$U<7F:6%6%W-?"[THZGTL=(PFNNOJ$(3TO#%#^H2/ MF[@0FT36L=Q>3G"N0M[3@[= P$BX_LU"N5X5D0)>@0*\Z]@\2 J+(PR %L& M_E!313V)7T;L7BJQ\&$>F:"*E[MA&:H$ MG?I^ N452A_\ E=2]'9Q\?BH),%;(F&0V3N7OY5)!__!8S8TOTCQG5PXJ'#6 MHC#"8LUPA(:E>Y[9,]DUK0=YU"FGJ &9O"X<64\W746F5H/4:E6F5F5J-0>I MU8=T_YUNT2L:5&U0"A:M1N&5*R(LY VH3UA4]D)(<=!TR V%F,)#HSVTYU [ ML%NG",=#*^#@(TBO(%NR:]&-518OW,T!CD)JT M5-;,(=C" )0^I%8199/0'N$HF02S+$ J!V1OH(]E"=N&EYF1 M>X-0]=?CX3C+HI+)W$*6X44\QF#]F;_[N.B(,"VIF0;J --,8JDZ_Q6LW^$F M&>2J2.@46B!O+CB?$,?WJ/*C7HP>/ E/D*\![":[KS/)&Q*W3ZBXHE='-\<4 MN ?8WO3LV:$7F(,,R-'44R-=FWB KP[PZB"BEDEL?(!-^JCUJ>=-NEB7:4=( M5Z"G=4LP>("?QI^$+H'* RZTU^*(/!+2"*UQ)"LE]("RN"\"J-2S8QCJ]-CI M)652;NRRDQ)Q4]@PP\1F50IH'D=NH8S OTC-ZE-IDG_$\P*,>@ M6G@"$0,FE",&W.B^XY3IDIX./C3BV#L&'F)O)N9-;QV@0"'R1?@@?QKUB:TN M=Q/I33T%S0XA)X/K4>ZD,Q9_N)E2G9!7\Y1=$Y"88E^X&EC M7MH)IQ3/",S%#B,17B893,;D< M#X!@97$=7;>HGQD8##$K*F8T\+]@9.,IAD/,-E@\_270W:B>J-L'(ME M152V/Z#$[0?*,%&.Z9:AM *MKYF9%^G?A4EL^F2N9"'5> TX; \#9!!BP.. M$1.\7ACC8[,?%)$TB+8%-VET@HTH&7\V-?FPFN#)BZO2DUX1E&GC?(*51K(> M.O!/<.V%TR5DT8Y1#9'%*VPOL(_H0FPJ? ,KT,SYA^ MXUQW?>7HJ* <-$[M*DWDZ/?H3R\>%/^_0*@"LXS5*7U(DWM^><4S.V,1P7E.#I ML=E(Z";B5<=2.2B0;C>\0JZ+ET7EH-4Z9\8?^VA4T7K)CJ0P^SV(>Z+53RU7 M(JC--#%5SL,1,XN8%VB04D:, M],+-?8^]":\Z?A4D;:3 9D6A81]?FFA/HR\A+#S+1B2A%@\3F]&1:F%\@T^6 M8:.D,*<+)6O!^7"#DBHWWW%1N."Y+O4:N(<$78$Z?<18!"KXB"=VDI-P/I6. M;ATWA4G$_C1,UQ@/P6(RQ$PF9ACC83,3!TU8^ M=HLGBUY20L/Y?5(ZY& =* MW]!=%Q5Y$)584WI1=7/9IQH?A\;%=LD]P%@A8+6J\IWJ3)M6!U(O:LVJ$N3X)QORL5:&D MN9$W_UYP,;E@42\X]HPKM&XB(;A BC$'K"O&F$K<$$I(.^#0>JA(7,<2*H+Z MK4/3"]MSD9_HFNY,E"+0H+;(/2.;NZ0'\18O"$!0KY^V/7YG6SF-:B:Z%_])A'RXI MIC 2$E37<.1XK"- /-5W==OC,96@]-&=*=!TR=#TN9/=A^D%-J@(<*['=!MN MI =OY9/*S,4\^N;?4YX?[BGGXEQ9[2<[V/_\8V;)FY0_3#Y84)R^4')!<\;) M1>N$-\T&K&%BKRIF_ZD"-#'@-RQ0Q6NP"PF8 @)FSE2W6"\VNV3@67RZ7M^& M4<.4PVP/6(\8 ]NQG/ZT$'LYV%(P7; 'YI0[C; _&_KG47LO^"6+-ILN72BU MWLTYMF5]J:S?9,D^6'7)R#%9]PI5]*00'$\D1LYVBX40HH#78[(MQD%VZ<5X MA^6+,Z(=W6["D]FY3://Y4X,+\*A/S&Y8%L*S0(6R:*#5D"V^!D\YL@58HJ*E9DSQ.!5^# V-A*7QH=/!I*"#" TCTSV!LG> MFDSVRF1O#I*]S[T+^0VH<#,MR[L/(DMQ-RVK!1-HH(8GS=O?$>X=!?!X?A6Y)XD\< M]Q:S$2:DESIC-CYW,G!P3=248F]&30L&FK ;Z?4&VV J/'DI;(+S"IQCR(?C_\E=7>\JXC;ME$DG(&]"6%)H^HC(N*WDP>,AY?0%ZG[D%0#\=C-F(E M8^=,=R*(F(!1FG$.X$(/N9!L A6U'XXK*PZV)\.Z"Z>/[L( MG,"LUC_$0RE HB)8K"YN@<\6C'7U*+SMI^V&M2_2W M09HT>1!T8)6S!YINC%71TA9!$4$5L=:@AH_Q?Q@[$:D'?1A8MNRDF24LU)3I M1>I8"I&J&TRK8K^.(*:0%O%5$;$+YGV+# >XSL)M1:]U7KRQ")C+*D>(B=(O MOF6QV9D/A0()JXC$V%P>"Q3?"ZKZ9Q\@KF^S/\$C^"]@UYJI%&7J6.V.,'>>GZ'K9ZB)5 ML0AQI%O3/\*SBS(6B[X4 J:@+P!(!H/2#&LO9A @\NF2X8L-(.)2S+R18=F MJ'-ON%\;X#A0Q19)N(C #[ 7'A'VA+'8, ]0L0_,*'-6?\'"Z$S..D04E&7& M2M>2(VN8H!0&(!^>9(/10B*NZJ*B+[PBFZX:Y:1;: M![*PFO! -\V\/JB-$+% IOJ%VHR^#4L8 F7TY*QV'H)YQRR^E1<')AINBT>4 M@O!W3"]Y$7,3[7+17C0?K^)&'"=X].'8R&(,WO!2):8[$4B3A M&F'OO <$!^,HDACBFXK&O@PH+@%FY6]!4Y'7Q 7P$5!%QBJXH,$!7HM^Q0Y9$[8*BA@\#;6^Q<*F7>&Q( M4C $@UH0GKY;3BN(U<S2S]R32\Q+(%47G'G0EA@XOV*?5#Z6[) Q/A&G MRL]RP2&NK_^+[A_;@W%9D?9*.,@0CF?HF@.UZD( ; - MS"XW"'W/*[7X":.]I(]&%O8UT37>$7JAD!'\SG6@'0$1:%DUH'"QN,4:1\T, M,F-!YP S&=\K;]5W"M34^F9O*AX1G"I$:X%:L>!C]"!%:'?1"@85.>JP" MGWXI[$P2M25!WCU)ZD.#-W@-]7W@+1VJB7JF'YH4"5=R]#50_ Z>DS@%P-,3 MJH4+0&P!XXX@5"'F-%#%Z+ &6N(*^\X K]:?D/@-%RE@2GYP$>OJ,-X#EL6$ M! +/^VEE,BY(QM5E,DXFXW*5C*//# 0=]25H):$SHZ7>(.Z4NX6?$K._J&?4 M"<1=:# T)')B\.;U8FV%F!P,F\ EB>;*3)/E0B],5$I$P#5,&]I@&9Y&&%AF M_09!":@(OD7CQFB$.0("%GN3V+=F.8"]=;$MQ6*:KP.8-=W2Q",!6;_R@L1J M@LG'@Y("-S]2DXSX:BRTZ?F%Z'V/Z27$Q* /+_!_@?'",DT.&S1 ;RO+_(.J M$BTIUN#I4M-*Z3J3Z" 2\.S"2",TBGKX%*?C.9!!BWPTAN4C,HX&"6P:6"NS M08/G):\E./7(DKPP&83Y]PE[7%AV'*Z#A\IQIH0P)F>J$+&3KXLA*8#,B&4B MXY^E%**6B\]#X>&TA*"4.9H7!H+=,8NUR(!PCFRQ6ZX./$Q)4HL1C%(LZ0YS M0KY^BU8D]M9&ZT CB0)108[J@,>$> Y ?(A,X!WT6_ <( SCD^%JPM:Y4XR/ MZ-VY(&!'QSIWJ.-"_VTPYVB%"+1)%\NE:!#35M0@QN+/#K9+SO:MN>PL]/ L M1K&S8 (5!H!8PEWO,@0@+@^\==OSA@*_!Z40P#G](%*)H&/@OD^A031XU,CQ ML8;#@@)L/6Q"#MM2 D%G :B@6R-L3LZ[&: K9O>_;]JJJAD&T7OT'Q6C72&] M6KM1KNOMGDIJ1K?3((24WS"KGGT#"%IO?675,&A#T>.F/UK\ISW>_<._E*E0 MP5HY0EVKJ$37C#P26;6R%S0M,5%;]EBEA6QZPG3^A>G=%M1<907 MQ5&XG@=5V&X4V\&%'5/J[4I%)QHI-ZCRK]3;E4:IU&Z6>\VV5NT8I%,C=;W2 MG;L&&L'#PLN?ZM7+\6ADD6%>+@"E44PV4[#3B*T5FJ.HV;NG^_I*5/D""7_2 M7O:_[5]G9\=G!T?[E]3 .MW-[9*/3O?VORM79\JGH]/6Z>Y1 MZUBYO&I=[9_LGUY=!HM&Q1LH,]0\H,@L?>21]^(?T36"['.Y!PDPF.3$6C7U ML>^(7S M@[^)*:/2R)_11*4Y#0)#C!?.=::JB'^\62U6FG_G:5QS^,U&4N-\ M*F.ZP_U7BE5Q:00@(J-[:!TPNXJXCE9X.HV'K]*EC'I.[\2 '\/QU?FB?GP[ MP=5SL7]^=G%U]@F$[7R?_N?TJEVOJB6M]+P;Z0)M1KB2CNRP(NJ"]&&X#)B8 MY^..91I15_63Z0XC]Y;R]GRW=?91.=I3_F/>TR?;I^,AW9(A8NL7L/"],?.4 MVBK]_X!LT[YRVJK6+O.?W,'^H;O_[>/-[>[NV=&QI7='_5[_C6+K0[#:B/F^ M-:8^F./"VX^Z;_!:.M5=MUW2W&'EI&O62YI3&?XL?ZV5OE]/WOQ;T?[S3VP] M_[Y[-IM,Z6?P1"J!2VA#^58*+I%*LL(*]A OZ_=.)DR,%_!0-NQG$TAK% MQHSN^=I'?XDA3UJS@C>'"8 )3-#5_%6X8ZRQ6P:K7>C M9UZPVU5*\^C]Z7L>KFH["Z.?8:_H=-9H?R%HCY)8!.#JBI1%QO__>8 MZK2VVFR4&\^T,.*TCSY<='VQEVPRV2M;0':8CHG#,=N-DE9MID+M<.+F)E.W MN@74Q1R.[R3$<-IU3:O4GDEN?"P+NB_(#VTRX6LSA/\'@Q>K3V%&/CC*#(0J M?XL2@2CQ?W*%6T+835E4EJ4%,K_V\OQ:4^;79'XM5W7**8@VS^F5NMUZ3VU6 MVHV*UFM72H2T&Z34;'=+U4ZU5BHWJKH1R^DMC22GE\M++;W$UJNN-B_^#H\FK_8G]/.;_^>'RTJ[1V=\^N3Z^.3@^43T<7)RFGTY:,I65%25$/ M.&A"^>A 5R%@YB-V$0!1T!_VH:)R9-K*55 /" 6.1[:QNE*Z98=Y1M>"55"L M2"S9W%_1:28:",](@?IEKN]>H MT:X6 \Q#13YGZ1&4QL?G@G.Y^+]0[6[KK&&UJ)PAIF[L\Z;'AV*ZT/J SUC M=PM_$%=*7O):XJ7JH'UYHSD@<2@CEKF.L'C/=(< XR5RV\&X4Y[D%E(=27:? M@:)&G#9V1;^]ME''XXWGO>/)[W'X!PJD52?'?04U2,)(P#@SRBV M/=+%.60>,<8,S%FQ]$EH.V!;O8&6KSL6H%ATEV-+]$\QVER&W\<9$ +N>A?& M"",B=?!(W-2VJP'6_@T=%[QOFW'0(EH@,!UE@> \V2$I5PA$&?Z5BH #-=]D4)2P\CC:,+Y3(GLN&)047&5!4?"2< MG9P!JT% 7[B"H5BXJ+0\ADX/Y>8P.0>-@N!)^6O15V!H?8 6B MK?/(URD=>JBPQ0 F:NP"[CIKQ4%]A!U(!&*0+-?K,'(3V#HZ;Z=UZ"[E]^521I9)0B,KI M[!(8:!M<8MT0?Q:74E0NQVRVGOAPL!URKS.(D +K(80D#&N1*B@$)P :9 98 M,FA]L[N1X2J!\9<\/C1RE B!$RZ ]WR)AR?9>\K8XU-4H@AV(30E]LUTII$K M/3:=9>85V*MG6<+4CH&U)2_^AL2A\2(Z0.#/Z%$-&;:818S^]0A+CFRT1PZ' M0I5\HOM44EZI):L8XC#8_33$P\ )]&,;VU 1FM&9,-A!_F>=BC;:C"$J&FO^ MY-Y7<-9 :![\3?A4)"8C1C[,[<+V=/A+S#90V"WZCY#.6(N-%.+ B77 M<6/:(ICU\YCQPPQ3" "1[#O'NN/F$%JJ)OJ+U%*D7KK=1T7&ATSCL R7@_[> MAY.).#AOL*F(^"<3HNL09G/HEH]3'%FCJ3Z-BK>XA).U.O3XV@R&=#)P+-XE MRPT(^N@"J*_(D@0Z5.)ZD!<*7/6@*4!-;QR_1697D_P -IDTHF[GB.-PV'#3 M%[3<]KL^%?T@LUB1NE^9Q9)9K)QDL1ZR1B+Q%+#:(O@?.3=(YEDMZ"5ZDUXK MTS/ZE&:*C-5'%QFKE6)S:5%:9,N1AX-1#]%I<5KB9QQ _9YIC@D]@096'*MN5KKBX7K*>7"#VKFEVS-3(4&$?LEP('?(Q[U@D91-T]$&\RG M5?P^I+Z?NW^E##A@2TLR7V9Q1.[IE#MM']2\N1!-!/P#_W;L>6SX#P<36A)R M*$3PR$R/891U$X'8%J&K1< DY#9@46DE9>B3,HPA'I8HUX#8S5^-8@60 M\RT<\"2UXLO8!*(D@FAAYD2/NP<18#((GH6AIZ"0!>)-(]>DZX0)UCR4[^-0 MH?Y N:,VPI!-'HA,SV6C5@4.?%?W=3'F.HQZ\1"["?,B=(8NA4%]S @5(O-O M@IR36>32P -O,&-BHA/DZ*#XX)(HRS'.D1#*4K.%1T!S)D4\4;(XBZ.[_J M<+Y>D+GP(*R4,RY85:?LAEZ?A\X$\A^M;A9Y3")R%;/)3)$C+$#*$10:)$;IQ1S-?PZFGH"@ M).X=A^W#Q"24J6*9F8+RXI5QA.%>ZC#U;L1"7LDJE<_) MCBJX&:C?+OLM'!+4RF%NEX/R'X69P_!W4JFR MIJJ(FOOFWW^\?]8"Z'%*?Q&!\QB7C@:7OP=??Y5T\O/V6&W_/&OL]]_\N^_" MX,C_0QGE@_*#,GU?.3X^GT7X6-%I+:_K%N6_B#_;%76K M7M':E5ZSUFYV5:/=T(BNZS5=*ZOJVEJ>'DJ5)>/^<=CS*/@?V]P"2)Y5[F6I MCGV@M#Z.^I-J\N\I"WU2W]G;(_"OG3& 74+5WCVT3BC> (O,6;F@^(E5[KV; MH5&[T:N4RB6MWNZ0>JU=(4:OW2#51KNF-FH-5:VHG9H6:\V[,MJ'![L_!M^N MSH^OM=_:J?9S__=>_;X/E_;L)X_(YVFM_O6/>SW>;]^V3NK[=J,+GZS.?O+[ M05^W^]^O&[?:Y/2\,AQ^_W7[J]_6YI]Y>*T.RE=_/A^7S)OKG]]__/E]7=N9 MT$_./?-\4/E!.G^L\WWSQC[QZLCVYVO!_VN]W/R[2N!3\[MJ'D[+?T\ M'IY_NS5_-EK?+CN?CLVS2;LV__9]LWPYN-R]]/:GX\G9H*Y>?;O16NWZ_">' MQH_K<6O<\_?/]LY_7Y^5RI7:<;_=F/_D[<\OH]:1<[!W?5;94;MG'W<_JJ5) MNYEPGMKOR>]O?_K^_E [T5O69%7)-2OWWVK=.T MKKY_;:OJ_$/:[*D'1W_*+5([_ HFXMQ'R^5^N6(=_##VQ];O MZZO.P-#:>Y3Q$FA_M5\]/)P.3^UK\V;:WB?:[]NCZZ_PT3E"-=\T_T!!(8Y<^/G4_[ MG^_^'-P.'7H_7S^\H!]-(*NA M-7=N;X[VA].<7W<:/Z=7 WSJ MW+9V#\KEJX]>5;V^_'UV]-4Z^KU__I,^-8%;!F;_2#O;&_^Y-2]Z/>>G_VUP M?DU)D, NH_''R?Y.[42_'?[J?FF-KB_U?HT*?P*[],W/9S^:P\;T>GC4:1P? M=J]L]>,$/EJ>H];)S_OIA7[8*HVO3WZ-C>.?M8N+KVTM@;-N=@Y[O]MZSRMI MSI^#'V7CI^%Z= $)G#4EP\^_R_='/TH'[>,?![WA>;]ZB!^=6\#1B3-JN&?M MD](7;6C\ H#Z^P[]: (3UHY'[OVW$^WFVM1K/ZB(=X>7Y59;2]! Y5_FG[,O MQO=:Z?UO&].II_WS^ZO*YO^S4[O0-_9-P^[G[_X7W>_C+KTJ0G\ZC7O6Y?'=J]_?3FM:Q_U"W^O4J9/ M3>#7ZMAV?M;N]MHE_?/Y1>7;S]Y70K60EL"OYHZE=:[4P]K^E^,O_>]?=IHW M'[]\A8_.BV'75W];@X_[^P>CG?;!X:!\^>UF A^=X]=.H]1K[7ZW]DKC\DZO M6NO:DS]3NH $?KTTO_XP[''K>K]6/K_TG%&[=E2A3TW@5^_[[:=?5]>E4:EV M>OC3\;V.<_>GU2XG\.NI6^K=&-_&5[<[PX.?]=*GBG9!=58Y@0FKU M07E_YW3Z8]J^MW[==>A'$YCPT_36^7';-NO7I$[ZX]^5@X^[5&>5$SCK^_?C M"[O<:!S>CKMW#7-0&1S\V*%K3>"LO=ORR!A^VM-*NR?MJMO<W7SYZVO23=UO_M?L5/CI'+;WSL7U_29J]_;/JCNO=G]0ZHSY^ M5% KW[#+3RQGBGFE]5*Q5,ZP.H4[W_CBN4*5U3IE:ZX($L<^@!% ] $&^'=P M7$'*06U(0N2 $"I&%20ALB>$6JQ(W90'2DC=E!-"2-V4%T)(W;3N8L^GV:WK MVW4CK5J+EVKA]6[YV6UH_ RHVP2__.\;[%TWFIR$#6>]7F#@OW@[S=;/>SK,'5;W4MR:V26]?.K1M@9N]RI"0=KX;'#/;+H6V4LEB]#AG*H\!(II-,MR%:.M.[ M-YA;5&-*' #) PQX0*R[TRU6I;TEAE,&#)L+"^NO;;69E'*L"5-TKWUR61>A M,K9-U@4%&-[M2X[8W+Z^W&M_,1O'!Q_'VN'MY4>K=W2FJ[_TLZ]O8KU3+:]] MUHLV2Y5JI=+XQB"?;F^&SO'!#XL<[?]LO5&ZQ#"'NN7]]\U.^8W".K[_^\:\ M]]_;XV'7\?G?15?5V-OIZ_KH/4A]=??@U4\ZMM?/]:_=JN0JUBN59HPAB[^$ELCZLN95C* M\ MD6&OO[HY-^_)C1RU]N?YEUKEZ_7+L&D<4-71Z1[O_W9Z>U^<.VQ970/;_7]4>NFU+;[M^K7=@UL U4M5*N5 MU=D&4@RE&.9$#%._YY\HAO??RX?E,FD<74_OKW?N3HZT\>$>]!32ZUTM%6JU M]*_W/,42(H"_TN_8:+\C;0WTFIV/U&V#0,RH+DKR,>X[OK/_V;\L[8Z\^H_N MM_O[X;=^NPZV0*-0;JHR3"#%58KKVFR(!\3U>K\U/>H=W[JEFDL^:YV&JO8O M)U1V)")R[9*2;,"UK1&R/SR=$.+I@ZH[.RXRD;_($[9-=Z=P: M5%'&F\N-7DK=C.#2N,^$L65WST 269W?8A?'.-2'WXS!R7A?/]O9;=@']8/? M.D"<4.NBV6C(,(,492G*ZS8QGB?*OT:]4[MT^OWT^N9'U1P?7AXWKS]-J"B# MY5%:%C'7/7K_=!,NB6B\TZDT9N) "*P5V?W=9,\_S._/2#?/O6 J!3*' L MU-5EZD2*H13#[1##%00'GB2&]C>G=GSY9_1S?_BCO% ,%WG-[.V",R%+ =GH7L+]T&$^*,:BX=AD<=$]TC**=GO6N/H&N2 MH+PZI-6Y.OG2W2_=E,_.]WX/SU^OIY^,?GGYR>.$"U+[*RR$JRZJ7-B"F@(D96>4@4Z,R-;HF M"R+,A)XZMK$PF&FVG,;-\+1=N36KPT_?OC>_[M7W^[BP-_]JJB9C#U)ZI?2N MW7QXI/2.[O?WOG6^'%]>7T[^F%KU[WYLH_N_Y]^,N]MWRK M]ZV-M*\DE\EO[X^?MU )_?# WCDQZ:. MNS=Y&^&E[QBW _HWXGIP#&K]@P*5#OYTJS#+YZ'\7P#>O\E9OZ7,D>KPFERF M!1]W BL8XI,YW:4 2 %XD0!L@",ED-6M\)+;4'CU5V%];E&MZYSD2*:33)<9 MTVV@W[((!'6D3P$^;COML%=D=DE$YIQFU[B@G3,Y6]RUV&[\++N=[_;74JUQ M\$DK]Z<'N\>MMHKX:%JAJ4H8=2FT4FC7"J_ZH-!>7OB__^B'W[_ODWKS3+L\ M.:S\&4U : $XO5"O+P,>RKO#-V\RN&/2C3I_T@R79OBV*9-56 @-Y'$P&)] M-AV3B;M&_Z;15AS"J%E\<_AKV/+//[5ZJ(,8J-Q=075,'F*#.R1'J%'TU5<F/Y@=^S1\R>N4&?3QMU)QXA6POQ?VUBGOZ@]R>)^[]3^94/;_ZXU\?W'W[KMY6//_P MJ 7B3FV7AK;)3D5!HTB_*0,U@B9\F M\].2^>0=]] ==TSU]155UWM46R^^TF[O_NBC;]\__MJO?59O3W3CUWGY=$(7 MQ$+LU>:V H*S>P[Q2:(Q]T( #LZO/FFQ2XM=6NR9.>A#5Q^^1RE]A'W^9ZBW M+V\OKG>O=[Y_NBJKOP<_OU=;;0UQP-2"VBQ)AUR*MQ3O_!@K3Q+OLS&YU?=+ MUY?7TV/_ZX_/$U<;]K^">-=0O+7T$3\R,TP88I@L!M@&X*'L5-3F(!1)SUYR M^?9S^8;W6F/6MZ(Q*6E/Q$D'S&$ MQ*%BJ[BS7Z&1G0OG0H(,YS D$ 0X'Z.8SOYV_2 MULIL+OKR$F(IM5)J7[G4II^6>(S4EGIWOSN-G9IW;1Y]^?VE!5J9Z-U3(X4BG3%)?/EA_DVT#], MSBNO6,5GO>/7:FS*_-,F^Y()^:?EB/,[WTZL/_6[T>V7QI7U[>S&,?=ZU)VL M\@XRF6&6$BXE/$]^YU,EO#WZ6K^\')VV2K7&[I][=??L=\]&"0>XYD*UL4S" M-\KS-&W#&1+%U^\#0V4JC7Z9?Y/YMZRMDIF^VB,4U"O]GBP?A].>U,:F=?K] M3^GF;GQZ-Z%+KY)^6ZNQ85;+*GFEM$MIE]*>BR[ZQTK[W<7TWAN.[S_=FE^^ M3,R/OT]W_2%*>^TA:=_ F$IRSEWFVE?J9F4MZ[%S6>=DG%>LUE:9ID_08O=7 M7WN[0[5Q?/WE0CTX_?+UPB^56VT-%_*>I;8,$L%_5F MHU$9??I6N;JMG1Z,3OY\_5+J'O1!U"&I7RO4:LW-#JWL.L.AZ0\) /_"OI&8ALPKN3MJ>,3I?I..ETRKRH1W273O2:FVT"'DSXS:;@4P>%2Z8WER'J/ M.3)!-UKJ\I6K6Y7VSYIJDEM?%;?FW>:?Z=D]=P6XIPF5V" MWILWT%WBM4^;CL7U5?[L0=G7YZ@A<7; /OOW/=/7.I MI^F3[C?=&I-SXE["8@,'K\0\YW'-WZY=OQ[>&WSZTW_U(&+9628.)F?J&, M=%>Y@]"H?'AL-X&>H5;N_1\=^JW)K:C\MV[T9W3>HB'4MC]JCGH4;OO7TTO3[YK M_M?2^+)V6;T_U':^.1.H/*&< __W".9A1Z#HP9MRRCH['C'@ ">.V_6(_9C3 M.QO['BR6*O7$X[OX.'6FWOFWWO[TL'/P63M5OW7(@PHH(^99P?[_.#]_3BNG MC?JU?J7?&:7*7N7BVSKVOR;Z'WG>>('D:/VOAOGM;L>3:NMFY]#X-,RK MWDAWZ_=W^NF--]W_>GOC#?_<#]K-KP.X;FSG86WQ>'UBX@(PLNG\_^Q]:7/B MRI+V]_D5Q)F9B'LCP*-=HL]]3P2+V'<0VQ>%$"406M'"]NO?*@G/EOU/) M!'RZ"^#+5L#$&6BW&ZGZLM>MOWU'YLD4("-.Z9M4//X?I>@_\B!=,P:JO!,E M3FQ8M7HG5ZP5VL^_^T?]C7]%#X+3!3'%C#_97X6[_^CX,,U>'A\E%FQ@7V:0 M=VA@O5RFNI3:DZJX7%DVZ<\W59;,W**!W6'8^WD=<,>R'/N^XQGQ&-[OQ+-U MJ]L2IH4^876X.D763+^;O==@QN].0C.E^$QUUE^(NBYZJZZ;7K7[ZV\8R3B: MP#OYH>:ONR,<.?9T=B)['$"O#:C1D>]Z3EX+6 M1H4;B!N/8GS"W/W*@Z=8I9KNE)MML>IP;5<;S.?;\(OHS2LNK*N5YGF;#ZM& MJK;0:;#1*C-GAA*9DX1 )!G^7!K@>6;Y$79$1/;<(9E-EMB&8:U$Y$S@FQ I!3VS1AU"1^)P9OE7 MLU=\5O\KY)&_P; [F793[O=[/J&/ZYUEF>3[=G:&.L2];MAWEE.2@2]#(U!, MZ$GKTY1N)U3%U0/%Q''$U7]8^[?O4; M$O:[. +["8&':X_W]8SPQ+_NC&IT0*#H-IB*BF?#N?*/K#8?&RW$-CA8^-@S M()=RN-%&FABF:+'3P2*562LE%8(<'9^#YY,<>[II\G%G23$,W(Q98!CX3!CX M<(KS9S"@.!Y<\W?%@;C5BU9E/1R3HU8&P0#B.@R7Y(G3X,:_[S"Z\:2,C__B M04OL5=UMA;(/AZ[;Q:D[#Y(;+W8>B]*.-YDO?ETD*O5E&)+TLM]IEB34U0^%UDOY!6T MD.2^; CEI7J!42+')Q /[%F]X&G0$ .F3C@QP='"04574LV*DM2I^UG0 Q*P]^;"=T^+B9%R6N>-'5 M5\$<^""AZ;9BJWH4]E$"$)5+?/C $3WKKG#^:-E;<7"JK_[Y#_SG\#W5!(J' M4&'^]U3W75/9_HC48O_:@[E3/(1 U!GXT3P^-1;-Y1XT".)_48>.GOOD82D5 MF.;?KU'LPQ,NI01/M).ACN;BZ-__.A[ 3P1,J8[I>#\.,'#(O^*W?HIF_V?RY"W[ M:9G M03^4>R+G6ZKW$CTQ%RIT:PUBV6QNT_U+S=R$+,F\>3$@\M!&/3 '-@^ M''/-\7V9%TB"9R\\GF.X/EU77AM?]Q%^D>3C:P!SLYX_C^:KS MZJ#^5;;A.N.$/AR(GTR C0K@%Z-#']'8'@\A)A0+@E7@__N9&&55)5@:L(), M4QHG,RHMR!,%Y7XQ&J7QC,"D*68O4^7 +JR\.^66A*VZ^\ZXM)?A=Y$2@>ZM88M MV>& M+4_>3C9%*BR7UYJ8&N87LTQNH M%R)=.W[ZK37O%Y5JJ&4IV6P9+DVMJXYG, MG+Y=9>@>O2)!5AKL7$I8\[V*Q\QD]K1E:\V.\JU2L2AM<^M@*0PTLIYIR]QI MRXEL-R=-H&2D[B9%=-UFCAM0;9D_;6DW0X-;D[8F%/6%@VZ9W0;7(K.-O3 "-N(3Y\TK9FV M,^HK[8VA=+5@RF24AJG #IR1?6LJ%;,UIIPSMG-I6"3\_D9KSF3RC* Z6LCV M.\I2(08%-K#'8+HB7=C7,Y+2,YY?F0V)CK3TV=#LM.;4 MGF]86Z4K%@,Z-Y/@4\_(JEPDA(+.,[*1:BJ\O&KRH9J",W!&6%67 QM;I"T" M$#*]MF:+D36"3STCK6$S.ZX1U$B4!I0S$4,FNY (:'MGI"5FE%%I54]OC.TP MS86;;G_N@ QJ>F(I3"Z[",0EXQFY3II2MW,[E)DU:GIB*LMU5_3:HD/ !:60 M5;R"(TTG\*EG=*!9DNT1QW6F4FZ:[8I399A=5F'3,SJ@<6VC69DL4F)UJ?.; M'4.UMW!>J3.8,AA8!NW:05XJCNM.IC#@VT@'J#.@LJ(;Y7EGY+)&T^(]IE,I M*L0R@ZY@/[7K_MK([(;.Q"@.ZTQ]O!%T8[M&34\Z,#5R.:[#M[.&50[!3'## MR2@3/?6D Z7,C.%MO5R1N')_1V=HQ2LK\*GG]-425RO*Y"9&5W;J1IV>^+P\ M0W?VG31M+%BF:9=J.2DG <-V)'=<5=KHUIR3IF%Q.R@TQ)EM="5AK11G3BD# ME9 ZHX1 6KA]PBL:8HKK$XMAO]Q2.#BL,TJ8R:T8VHPB:8U5/$=*'IA37* MO#QIRF4TFNZWY":A;-PQ+\PM-R^W4=.389F#?''D<%6#X$I$=E(V&]RR%^5S M'H85.4&/CD4<1X%.A:FX/OAQ^.&84B >ON?@B(VJ,8L]^&01Z5?"P#E\$#/^ MZ),GCL%1*&;?ACAA\X%WZ-C^A61,2MZV-<*Q#Q3WVG[F$<4^>KX#GZF9SOK@ MJQY^3Z%(U(_8C4*EQ'[IONS=T^C%AZ;*Q'?,, 7=EO.%FB)&\(_OLL?W__[ MA['95_>5L1P^20[D@T!A0=R"(*@''DOB%B2!H>DVY("AZ58$ :'IU4-C6!+O MD\0[$WI^R5H_;]3".T9]21"^Z1%#%PE]^/_^8O_ZS='3Y$.:NFK6GO"'T?L1 M4+R$:$_!B^5Z'@._V"1NPR2$YP,^OA7DQ?ML'I6=^EUE)YD'EKEK94=I5D_5 M&0OYC)#Y>QU\M);G3$,U2/B*^4'7=G_3)#ODG5Q[W!^20Q=''KY5 M":5\Z"GH.3(I[[-D>\YQSJSO!?+>4)I>%W@K7069C>[+^QRXPQ_K$;.14W,J M-PV<<47*U1TG6P]J(,.T_^ 0XPK8(2AXCH4R0M"8!WHPSX4^%"3PQ(UJAD@: M&=\'\/^G/65S)N?.FK 93DMO28EJSQI]13'K P/M(<@('U'OA0&+99I@/[!LVS7W#=R03GK-5S&";3+@*VHA,QG5F@SGP M$EX\EW? U&\(U6[I9.05)F'/C[[M$Z5%WR:Z&:<\'P7SM%QOR]');R:99G]Y[NF^ DS/:N?%Y[X_F'1=V\OZ MKM[EA^(BCC@])5'>7"QY8C\[,'*Y9KEF*E-WILVN#%[FL)"W.:'&B4O;Z4YJ M\IPK\6TY/K=-)WF.Q2$D;.0XCO16OL/Y07&K5;6EN*Q,]$)[%BX6VK49"KM0 MZL16[+N20E?X8+SE[*:&C!P%AM+)M/":D=]!8"CG^-'Y9_<2&U_? I.^^B!_ ME7K[U6#IMG:[D'TVM:+C3*-R$O'K_:YC3L^ 55@LM^CL4O2,5&@Z,T[5I@2Y MEKGH0B$FR:4OMZGUU:W@NYCZ)]Q_<#NF?EL[6>\R=;,N+XEF7JR+5'6SW"[J MR\EHCDXAHRN&V"1)?OR&U;7)]X&JF-?8R[KVX&_(X[IVQ/;:\_)B?.;:$W,[ MP'I7FV#OPEV_2\W39*TC2%QF6:P&3-CUTC.9C_:ZD@+%XY@/1J#/X6DW.#&W M@T!WM9GV+@2JUK:[$>>[-9%;KOHN*/0[;'<-$0@ROS1U[IKI>PE'G=T>4_>L M#P>F<-H 3CCZ_+VR=V$3O:L.B<:TV"%T9[@M=L7>> /9D1 %H+@D2YW>$X5- M&ILTS@3ZU)VQ=YGT@JG.\XP7K A%ZRE=6C>L=0>9-!>9-,&\9M)W&&AZ1D** MGN/[:'=,^Z"++;$G]S5V[W&*SD5I1V1WKH.-%Z?>7(M@O&Z\324_FVY:@YY49*O;<#:O]6EG!HT7 M7?=$)].O&N^MQS#@,YLN0+-MSQ)@XP+;!_Z/__CATQ=%7^4?4$%V4[?!H4A[ M5*D'U6]'3WHV+O@Q?#@)[3ITL==TL]OV'TTRK@A*?S\M@(%U[EOHW'4S0%[4 MN?MW)3O !XJGSJ,DA2E8 =-QT14'F)EB9HK=RL\Z^1';8,:>YG]:H!CSM#-< M=5GG>&XL5D:);D9 ^_UDDN\:>YM4.>;S/GDM^,4_/ MN# K<=Z*K);Y^4BISY ]SN =V$FT@6FBW<[0)8RHT&F2$E[S=S 68"S YQ!NF?R\#PN49;[A MS0S/J/J&W.D0-7MHMA$61.6V!"[]%6(?Z#;FQ],#SLE>//:P<+XQ/D+PJ83E M,2%F#TW^N1JB:7E:D_NIC3@@.T":A5V"8=;H!FB4TD"<6;'9Y.,V!1KCG\.F^1MV@Z88;=%A/Q&G6:6Z49FG9%)-@Z'"*^6 M\\-&_.V-&*=S? Z]>-6(/8%K]/+-E2"2U*M%6&X] MCA&1B0!XP \.,0OLYWR+3>&K)_LG_G7?%.!@-R]'0%5IX653LXE#=&N3$/#D MP"/;,YGDXIK=)[#Q;VQZW\+TKG[FX>*F=^&%^]>F1V^ZL^68\ZM&:FUQ=&73 MJV:--3*]*"K O&9[]QD3B"I()?2(R203-L '/?#&*DZRN!,N$1EOP[&=IQ[) MR_A6F8B;#FCQ(K'!I\"%0K<5 M;UL.@.5#($-#\)PHG>S@S9VKO"0'=7-LVF.Q.Q FOJDU_:X M_LST@+0&$AT;:'J0^-=^G^;#HL77'B-VZ&YF7G DZ#;X%43*O6N7C:T>HB$< M.WS6&5@$@K'+S?HS05JV)P-J['>(#LHRB>I3DKABR#? C1OE67_,?82 M>CP'#:E(%D/"=0:&(HU3#;;-E2VGC4 #Q87KJP. MH2+L)_YV.C\-K7;JA!,37(<8_<^E3N5<86#?AMA DWPUSD M2'.NUPCMU1IV91_J85^[8A*;\#*!']C/NN]4_EN*OWPW M!Q(K_O<:]RT>=OF3F;AU'_E9C:ZLXNLJIM/?GD[?PL ^C$[G]94^!1&9C@B9 M+S?2 M.9A<&(6.KI!B7Z-:7'?KA;3+V#4HN*9\,9]%O ZZ(^1H;X2*V)1VI- M\I9?''5)7UKRY$)MCZ>!JD-J'57W)!Z8RZ5[8FN^6VO^4L[QQUCS^SWD2UAS MVRH/YZ,,52:J[2S4[/6J(!ORJ\#8C8[U MQI#M"93])ZI7"Z,CX'@=HSC8GSF M!L=Z8T#PN13G92!8CSQJ9#>)0$I1:9)G37E2&F80$$0DYP*; 9^JU(/H#DTP M32BP9\H,Q$%_/^%HC[L @:,:"2<,?+2O@WJ#?;(;RDV_]B"O?C#E>H']KR[: M[Z*_5R]D\L6>;AG_OR8/[-GSQ0[7;JU(,,8.C4V MP0;L2'68^6@WFG@'>SZ0QDS,&1NA-0%>4XN8M-_\R11?"AQ6"G5_[(ZLDFA- M5]56OK6>F$O(J:."DA21Y!DA21/8Q<8X@?WLR^+$^[WLS\2)>JVR$C;=PESJ M\CEM5PXF>LU>(YS@(IP@:2))OWIX^M8]\,ON*7P/4+NV05^6Z5Q[=#<%5U>A M-7NC/$&M,X"U4FE"-MW52FJ.AL$BVRHI,MV6J:A4)H4NY. AL<%9#MC@OT&J MP]WRDW<8_-88!&).%$4)&*7^8BRR? _,D,''#(7GV62:>JT^_AV&<' J]0TX M;E]]W/@, 5;\;SGNKWR&0'5,]-?_]Q?_UUL6.Y(@/IW3AD^?&K7C'UCX5U.W M06H>48:X9X'C1E][-@3X,7P2"2$4Q!OKJ8GB@_AH/_QK MQ'T2B@\IC&DZ:__'7?.$9\&-#O"!XJGSJ);!%*R Z;@6L'&%[SO'R,LF2-Z? MN_-1E0OV7HH<'U:&CP\ ,I>:HT9?RVQT_['-P;8R]C3_T[+VY5/J /DULB%F M*FO5<$D)S-?=7&@VGN"+S.G*<.A(77J2B;L9'K#PH==E$@ MJEI;IN+"3LFT0.*-'@P)]T&$KEP)X:,A(<,6?'92JY6EY2@_;+;XH#XA/P$2 MEJY2SKE$'AC;KB2Z[KC,$.(:00(JVY3D7PV1WMF>3A'8D *:$>M1II9NZWZ MI+S"M9MP'MH-Y5'>$=O9FQ1$MLP3@WH*;K5.N42.A^F^D5N4)NEEM\1TPD\ MMW)FTN_5I/Z R%GN>C:S^6IUU);IJ 04E63)UU+&,1)@)+AV1NH=D9RW(4&F MV5H'Z3!;,(J:2IOY,#?/H%Y=&@FFJLNWM4PW9Z3<$CDLM;I6LS!#2(!VAY*7 MN+_DE@(^73@=?L1[8!,#H"@8=NR^7-'>:\\++O9]4:[5!=%]!A!AZPG:+GHM=<9-E\ML^.=UF+@^N*S9=*M7;@"=2U=E:VHPFV\9TC<:(;J4G M\)WT&'MP??#K8\^?L+M?8@^?7953"XH)B>9"9"L_A;(3?75/_^!_QR^IYI \1 * MS/^>ZKYK*ML?D5;L7WNP>(I_H%&VFP4_VB>[T2B<=Y21]]>3YSYY6$J%E/UY M0MQI3M\EP&*O T^4$UVE^#@71__^U_$ ?KIO*=4Q'>_' >F.9FP_$U0$>C.0 MFGA ,5**!M_X0S'7RM;?#X]//] '$/WQ")9TI'X$G-G_31S]C.;A1$Z6LDD= M3=4>8U,FT%#:8?2UPV?>/A0)4@@4\ M/Q& ^E?\UD_1[/],GKQE/RT3QYS"/XI]L=-ME1N)GI@K-9JU9K$L=I.)R\M(_:NQ/48,HAI5Q_U'($CR M?R?B<3P.]/J+S:OC^5?9ALN+$_J0K/C)!-BH 'XQ.C*54"R(2H'_[V="DTF! MY2<\)\BL *8RP[&$G%9)1>8IGE48GJ)IDMD+4#F0B&ZGE,K92YHC!HM6ML>/ MQPN)R$"BPS]OVK&9YHUD> MC,85Q\S.4Y!#G?947U<&AE#*6UH$TEJ\CU] M%A#!>,VCEB=CVF;Z W.\8A4X3_K"<8G\>L)D8,O3,CDNY."QJAV&[4\&9, R*'/4=.*,:"69">H-T>Y M(GK[Z9A,A^^"";<;BM9FN])7JJ%9!?30TS&IFTJIZZ[;6X*:#55%W6V847,M MLZ=C&K;[J?:L2NRD+JBZ;%!61TXY UNRSUO23+5K#\;EFJ&7;+^1[56%-(]: MDN3)ZXF17*8:PXE1M6>K(9FJ"%QG+7.GKS6QN.R4L[O%=FVOA39L M>:)0IFRR?950="*U4GHAE:% N3,= M=7OS84NI MU-IVC,6.%I5Q2NMGY\-E$8*)<-I/,36;MATM9TEA;:&L)^:L,ZW/8,M3**L& MA*:0UE+4A>U46VML9;M#+4]TM+#([5KB3I*-+FV+XW'0;!2T#&QYJJ-RJ=>P M+3H<2MQLF@']R;PRX]NHZ8F.KKJECJRE0WLQ7\.6)S,Z@ M#H>^NZT:5$TJ*!\6SAMJM18'8E(JL&,XDQIC/F90$50\V/>E :3D2=HKH MN&**-BKM5':Y\MVHZ6D/K/F\6IE4UAUB:74';I$I!>B&+)(\[4%I34-2S>4# MTPBLT9-3]2OE$JGLQ8QGQ,6T58'^7JWL$M'3SWIK#9H%D>*-.2, M9;V\4^NC"IQ H>H@ZQ-3J6@PZ5VF5TXOS3;RZT\Z.^XUZE:C-9F( M^J;'+7C;[?FKJ.E)9V5CY9DM=[4QJLM.U5^ZT[E=@T^E3_O*UM)R?=YI#"6J M1<\LLA&6&VH&-3VQ%S(DO(Q2YT<$-YRR&B@WRX5YU/3$8.J=19^R=H.1E*HH MF4U:6F_6=-3TS$HUEHA>R9EQHF48*]*>5 OM,.KLH\E$/N&CGQ5'EJ ZF(KK M@Q^''XZI%G)+]BX)(N=J3.H/+FKD REAX!P^B!V@Z),G?M)1<&K?ACAQ;@+O MT+'#F:Z8K/UV (UA'\A7MVJ.G)"C5SKP-9KIK _>_.'W%'KTC]C17,.I^Z6# MMW?@HQ*Q>2OVJ>NF+\T%<6BG0./\D M=30#NX/HBV(^)AUB%8A"^E"!^"A_RKX>ZKXV%T_/DI%-ZF M;_2K06)3^!138'[;%+@'*OW\^.6G%H[X4U/)Q?>%1TC35-G& M\K^,_*D'^K;7RXRJAE9H*M$MAE@'OB5G.G,H#S.H.V10PHE=O";U^"*\PW5X M[S+]H]#Q'?.?^+ZX>T&]#Q3NVS$M&AK[P/-W+>A,="P7"_I7@MZSU3N6=$YQ M]1/_'XOZ/5SUCJ6?!YJNZMC0WV+H_'V+^EG-B'>RU%^<"/S<@K$G:I!53,56 M04()$GF@1H4S8['39#+^@2(H\L,T_*;*XSZ=ED],@?A\F5_UWN:,+S>UG[72 MR)\E7 _E6F(+0Y7.'!M5;WE2Z#4.'49^X[ZRJZ7+=DB S8*@VBTI4QD),R7W MI&YBN5%X;[&U7USFO"Q2>3\8\V5)$8;S3%K/I(,B*E-!_?4/F4X*K)!DN-=* M]F/+^?.DD2N#Y4=44HPS/[X" KRU*VR%@A=,K#\H[/X6^Q-I)3$"6Q#7KB4$E6T(R$"L%12H$^O*O[W MG2H_AH#+$8'H,-)-(Z6=P9 M2S*<2ZDA5Y[[PZ%$4+ M3JDSC0. O[ASX6HF93];?EZ;C@;W*NOC1=^-]Q%I6'6OUB=JM MEJ50[8V@(^?Z#!?=^\&\M)@]4Y;?"PI=,X3Y/$[4?>'BW@2(+U*^T[CM+<+# MS:=]??2*]]U%?H5\I=N;A#M(=L)Z?_\;=;>. R.9Z2+T@^C.R)[S MPILC4CEY3BH[ ["APK0!=Y*5T',0CM =69V])2(D)ZAGIN,8E9ZZT'#H+04 ML1HU8 ],=#N<\.L;F[%=XEGXDFE(>%W&FO]9<9I;5ORO';JYPFIK].?TJFM7 M=:.:#^W>TAS**P6MMBC0\])R^R&AGJO%=1H@0.D]CO5Q$9QOAA*W56T"[U9< M/%!S/5G?WHPP-U:9 :O_Y7DAUO^GP1NL_-]!TECY7XP-W(T!W'0H\X633.U@ MMNN/2PPG BHOTLT4O2WT?_\$,^3[Y8CNUQS?/^,"%4&N-!(76I^PEJG,RBOG M2=?-R'QT=HE+DA1.W<)X6#*K><.5^HK@ MM1%0,"\#Q=VGQ?S]QC)(% [#?I]\F(N70?KSPU$-G_ ,:^Y-B>X\;?6[H[K1 M8->7+8/$-)CF%BC>0K*L33'E2PZ?R\UD 1U]HH@DS3-)2L ;F%\IK0B70;K$ M,>C/,/^//T9=+AG4@C,;74GI-D)=K0VYKHS,'Y=!^FJ;M[@,TM5M_O5$J 7P M^F KDU5B,,O[B[!;KR_K%[9_7B'5Q+I#+A;K=S4Y(HBI5.+,M M$1E:NG 9P_HHZ"LY=>6)1=.?K38+FP3YR'R9O_ZAA23WZOI]9VE0N S2&=#Z MCH6//BBH_P=UD>@G<7WZCWU_DN^U9^Q"ZXK%5:KF968;F2MEKET7B7 =9YJ2 M6%("+!-V0FVYRU9F]3DB MG-73PBJ;*2YTM(:B"%N23.,5%(/+URJVA-=0K.:X)-,G+Z/>7"QY8C\[,'*Y M9KEF*E-WIOWA'3I_NO1M.H5\9[4*J\1VZ[ +SYJD@O0:+GTH./7&M>_^LL^> M1ZW$H^#36O$\!7*:.XTE^NAM:GU4;_%O&WNS%ZO-F$LY)P5A)6D:SX#,;K=FC=MH,K90HJO+&I?+^[:K)>-:6K:- ;5 M)=^W2]Z4:LXN6S]^-*'I0I?N\41NL]$6H1F&J^I,)NGHY!V9) 0BR?"79R+? M:D$]<\7AYYO6DQGYP!+RWPTQ?K/>Y&? Q]05@XN0V1XP1'X41K^>QI=FTV$9X@-@WE3R/$& MM+AP/?L/BH/NAG,&-+(5DZ :M5$M)78'9?6#ZV"_6,^^/9$(*QMF:U)W-VD9 MZW6[L1A'@!$5M*?Y),<2YPK:8\C D/'KFRYO"C%NC&L0'$&$ Q44C('EU(HC M$Y3%\87KWP>F/J_L)D*!J X&E45#88-4*A.9.\JWHY-IBGQC;/+_ @6*]6:B M;[@;']^-(UM"EP0 +_Y$M^%[@Q\T]Z2GC_F,>_/JS4%"4='14<7>0BM/V$X MWZYX\&,[H:0/$0-L[_GNJ^:RK;'Y%A[%]U $**?Z 1KECPHSE P!3/WWY%((C_ M11TZ>NZ3AZ548)I_OQ;_/SSA4H)_,G$,4(R4HL$W_E#,M;+U]\/CTP^/:\N/QS6$CE2.@#/[OXFC MG]$\G,C)4C:IHZG:+STI$VC!C_W7#I]%Z\;CAXX?^7@_/& JZ)Z,9W+:BSEP MW!\4^< ]%3%#/O#LB90_6I4CRZ./%C8E,??0DO/?O6;N[#J'?H80#U<6,W[L M.N[O_B-HO$CKD%GFT H656#5+A"';*_A6_]5,T^S^3)V_93\L$KJKPCV)?['1;Y4:B)^9* MC6:M62R+W?U65[F1@S@UB2<%TUG[LD!0;)JX\#B.H?D4ZEX;UZ/W MXD<2A]U.H'Y'PWGM>_[C@#]_3,]7FU<[^J^R#=<7)_0A9?/__4Q,4#J",E4G M#%)&56;2!"=ND15VE)@D\H.G'Y;YDY; M5M.0:V_X8D^BRE[*\_+>T@G0%>TG+1T U7!'+9:$E9I.H73]R9)JR\)IRX#8 M%BB#),I&*F]J(5L=DNLV*KQ[TI+J-*A:@6T+1G6EY3N[;'I6[J/J]-SSEAUQ M$@H5G1-$93CE**^5IZ0@*M)U\M").Q+(G1.LC27HY\JE=FF4%:/CHB=-24EU MG;E=)L7<>#TO#8I2D3*CU(*3IHM*"-2,+"XE#@SGXZQ0G!F--:+Z)TV7IC2< MKNSLVM!+\+6+G)4SM#9T"4Z;RKMU?F.%8"@6N_.@V)-K.Z8*GWI&IGU+:E=I M9=,S4IVM4:?JOAO ^2?/")5WVT,[SS@="7 4.=ADIT*G R?KC%3Y0: .QZJA M23LG)%K<^/MBF:WGS5R M:\>J<<&,:7;6T$\[;9KGVQMWN9&S8HXJU#,TK>C3]DRFSDA+-EN53"HH+@EE M4I&'%;V8KJM4N*"3MP1EI*K]^J9WMNU=CF%6!U M>-XL^7 &SDBKN553EF#+!2DUYIULF,^%"P'.P!EI54>I?C&@9AECX!?+U5;8 M!!Z4%G5&6G1[L&@W>_I8;/(>6%FE;([4VZ@I_;RIIY-FD9V6\X;.U^06E9$: MRSSLP!G!;EE%K-;+VD1:%@K5>HIL!&,;0N49P:K;@DZ'G;9C*(X.2BM+ZEFH MZ1G!KD=&I3^C)FVCZ0>ZOA'X<%-;R_09P1)$WA\5NJ6 Z/JBW&6+S?K&: M@+#"BYM<=R=51:Z\8:V<'\ZR5=B!,^JR+HUL,&BT:7$YMH1ASJKMJD%&IL\! M-K,K"OUKZFS1+5?6J.E)!YA64F*&H:*OM^E, M6#-RPUR#GME.:^2U4=.38>E3D1_41EO9".FEW9'$[MBMM&7FC!DV4G)ELAV8 M90F,I?6@F6VTQ4P&-3WI:VG"J*8]6:5%7:Y9KMU6>^/!##4]Z:N67G%D-9?3 MB6Z;E(NL6"T".GKJ:5^]LF_5[0U'<,*TS&A.69MM8%_/X$"SJ9]+7F;>WLE$T-Q66>Z;*U=KZDS&:HZ4D'ZD)52;6=3%/<^HNV MD&[;3"F$3SVW;/3A&K2PNT-BRVR]XC3P%R2S1DU/.J"S9E.FQ=1.I )ZWB) M9S((HJ>>44)[Q.QZD[)HU4QNTMCT>6TY0TT/-">*2CQZ^G'(%WKYIN+ZX,?A MAV-^CQSCO5.,W$,U=BL/09+("U?"P#E\$+O@T2=///6CJ/&^#7'B7@?>H6/[ M%Y*QA_"V1$J.?:"$US8DCGS>H^<[\)D:=)H.P:/#[RD4(/\1QS76<)Y^&4_8 MQXNB%Q^:*A/?,<, 7#B.\'),G'S'ULAQ4.B/]A.H!_[5BCM8$)\D"/)!>+74 M"!;$9PD"F@26Q"U(@GK :\0MR %#TZT( D(3@R7Q<9)XY_F?7]+6S\VC.0G" M?TIBS:\8XTWG$D&O"7WX__YB__K-X=/D0YI\GH%SS5."[]YA&P'%2XCV%$Q? M.E+VN'F#C>16C>0DN2R6W.F_Y]6?^EWU)YD'EKEK]8_/2TX^1LJ75?1K"ODD M>?+>A$Q]!(I=LW[=Z1B/4B?/C#G**4"\SD]HGF,E'!>@$]OV+(%2#%?1G0L? MIOC\52[.>D]B^L$R/BZA6/CTJWC>OM)%@_ZB!0"; MP7[8?(WJ=R_B/A]NF3_Y\/7K^]Z0N:3R_BT/$?3 M@Q=J^#3#=%=3G9IAZ(7=I#G=94F11TF.].5KA5W:=\-F_?EF_6IL_'N9-?7$ MK"F9\X/B5JMJ2W%9F>B%]BQ<++3?KP/XJEG7%[5:9\R:H:1H/2W?HI7\*(>R MG+F__N&2)/6&P_'WZ:V_+O*CRO^)P$EX ,I/U4V0L!]I"_H<_:8B5][UG)6. MHK23[5E?_L='DQQ,ZJ_AW%S=H;N&/__\*,I[/9E/"N)_.J9@H[@=H_AT[_XS MC>+&??W'NUNXMT@_#URXFNKQU;F0."44RX%CV44?X%# U_(9+K3^89(T,]XTE085X&"W.I]T*#0@$^'6BM$=&EK/8HSU#Z,IN!T #9%,GQ;\"&+Q4B MB@HWIJ([E1/JT:7*.#J$'48<';H5_A-=[I)]?O'YN< 0L6!-2;-VQ*"D=KV6 M85HK,R-'96S>>*$Y#@QA.\>!H>N0F3?;N<+E677 DRE"J:8+':J;5<)4MB@!%\: >)9NQUMBCI90/3#5@X2FJ!%4X"#1 M5_ $;W(>;C!P=%O8^@DQ)!^! H"^HKA!26.A[L\1,#2U/)@$K]U482MEBV]/ M)Y2QG#"=9F!D3$%NRU%=,I(_O:,"!Y0PC'R;XS7OA!$T)R3UQ5-O&HZ=BK)5 MUXKG*9![>&"EF"&.K=R!SW63@[YVO.4&(LD7(@B6IU@1.VC:@]A8.S]M]5R, MI=9NIRM*HT9P(NWUZF-N5]M%Q;4A&: NO[OTW33_NYK[5<,N-V#N%XJUO-O< MU\IR2??[% '6V4JYSKL+DVTC<^>@N=,7VS"ZGTC+(]=!]RIYP \28(."5Q]^ MVAC3_^^ZKXXC)U>,G!SG)S:U0GQ+FCW+.7[@9^QI7O=5*):SN^V9,'""DN5: MAC[9M%?N,!<,G#:Z701Q)0['33!@?(]$G-L"C MO8_T!8$P52ZJ/PQXC1?BW\W%RQ9_#A**GYY_'F*)\IVL$R=26"C4L< M=?Z6Z'A#LK^_-)W[.;&,=?OKZ?9E8R2W?_#X?H($&35>\U%]#Z"OT!4^.#R MV?[7# _<0/3TPC&!LJUZ0/%!'L3_+=L' ^\\VO<9>B^5NJE*WQOWI"UA"TVM MZM7SE3:Z%Y3^ZQ]!.*V A(_F8(SXFA&!&\"("XFIWQ+ZOCC.X2R13R8^!^O4 MP;F 9J--+I715*I)G#\*)+($ M+D7#][JC 3$0%\NR2PY:9"J#K!QQ%N%RQXKO)P#40N=P].DA-R3>RW"".? 2 M:NAYT?F<:),#AX6PRX?#0E^%'>W-/@\T (U\*L;6G[&G363Z+Y9IF(P9.4V5 M-8HH%GB.F/B:OFVO99)%M(D6&!PHPJCQ30)%WRIUY+]D,VRU6K4'3 MR V58F^I4<-%-4(2E%'"7NRD](W2L&C6+L2TOB5 ?G$TQ.&D3R9,D8$V#XE? M+Q*D1;HIIYFE(DK59LNHV4NJ.=,AK,4U@-G3(\DXJH2-'4>5;HS-=-W8+@O]<@B6;,IN(V./PDLXNO0SO(=%ONX-72C%JQ MG9\!RZ(H[S)J1JR*J9(49'O-F6(C9A15_V72;[AE#4>.,%3@R-'=DZM?0T6Z M69BU:OVL*5$+;20/6LIXXD50 7D5RYT>[O[:L2$X85X(GIPPPB$B[#7>=(CH MMC#N&G0(F6SMI\6>@;F9;)-"K:SOC.6*K!8*M706&-!]C,H""\0;8 Z'BK#1 MXU#1M=G,J:6_N.O5)MO+:C.#3!Y5"#XMO/#](D:'#454 MF0_8(8X8?0DW\";GX0:C2#> H)_.E7*P,V@L SV8YT(?R@QX!SC=O@:F*S^L M"=M,AC84<[>RC9(53#K038S*_S("OE *8\EG8LFMA9EN $L^G8W]-I;0"Z)B MZFJ^0*3J=+/+J-E-OY!!6(+2DS9 MO>CA7AENKKW1<).3>N &>RE8U=8RI$ MM^>374N8TV,>N@UT7,B1(7!-(HP5W^5DV0U@Q85##'^$%8V^,[!%(>@0W5*[ MMVB(H-_R(ZR(2ECSPN6.[-^0(< 9@WHZ/5SY :9Q<,&'D_5Y_.I[ B3>M\>I M/S?+PO:P4(!@T(58T-3> ZU])[M272[M&6$JWYFIJY6XDB&TQO6T+WZX_[M9 M#H83G 9TXT3MC^"DY,P(LD&.IE)5S]8<:3FHUE(1G""F1N"4H)\I0:$/&9QN MO[ YA*-B>%\>IP/=I*=\G1R@\@$FGFS&OW@N1B%#?F,H#>"3ICJ2QOQ%6O:&QE-9#N[;JIU:!5]Z!1YZ%- MG_$%1#\[-<;]M$\H \CCN\3NS_>Y"O^YFTUQ)&&2^KHN/M;J^W#CO_U"W7IJNVT0@;5TK/Y.IJ.XQ>;F%^K8IZV,F;A31!QO@J;H?)>'Z M@:,:"<=%DQ%?R>[NST!%?YTK'NR3;B> Y9K.%H#]%QX;N:9BXP )WH?%R1^W MGXCWB7F]!YAN:MT(0B0;2J@,/[ #?84N;XX^SD($F>8<"]WH'/449>SYL)D9 M(BEU$=0T8V@Z _6=:L'/]XENOB>7.9>3JQJYQ*+4M*ODL"&\XLW#CP:,_3"@^GV&" MPTGW?&[C%D#X^C-PVX[[=?*""P=K?UN*7DHRYD8UM1@1.BDLS*!0YZU^1J:) MF.6QZ=,C&OBF>XP=7_I\UPU@QW72>]^)'3[;K%4Y/R\0H+L0@EQAIM?7:X0= M7(0=U.6NV[CM>""B8/J^@C9B8!$=0\&_Z =T%G\%I]+^^%T][#%_UPR'6\M] MNBV/]\)4#&$I^I_XT[([P \\70V@7PO_ !W=IQ\:,U[W%WWZM M1+F7"%Y""1(3 )]CH_@;JLH433D.OV$7^DN'WZZ+P1E?;FK'H)O+A;K=S4Y( MHBI5.+,M$1E:REP'=,]@Z&Q;7)L\WZD8*5));[>!SD+969 ?CYQ3@9=HC?F+U"0]29.N'$!+<( MO/_S^2EVGS\A]X+#M$QP!!$.5% P!I93*XY,4!;'M\/D_-Z(6N69I6T,>D&? M73-ZIM1IRW14Q9SFDFGF#>XP#L1AW/EHW'E+QAS&G;OU("M\9;AH%9L#B>O( MGEDB9U2)C7"'>[L'>0=AN/<4%.F&KFL"=+A%\;8Q_T-UEQ*Z'8L)SL$/7&GI MOH^CX4I+-Z8#-Q9,PH;P&8: KV&[JYA(&?(<#Y*+A*OH..R!W0\<]K@U]^.3 M\Y<.@-"">- YW;YBUN!-GO:4),X>0>JS5U*W2PR,AV5CZ9Y'-/ H()C&G<& M*A?.3/HUJ#B@;[!T<#;J>YFR%00?GCW/T?W/NUC)LN0$*Q9S_C M$WY$R] \)YS'OYHH,0N?VOOX3?]O!9@W,/J[0<<+4ZY'PZ\ARSX4X3D#DNG= MRC=UL]\TCS1>)9?Q941P(78%79:L=.* M(V'W1-B&&)P7.RF(.;"G.Z]$)/MF@PWY$>:F"(+Z]#O3@.3GB&(0=3N#>=Z[R!( M]I[=ZX9CIR(R=W11KCT]6^7JJZ;W?-4DAJLP/WY_;"$J8NA+-';X:'KL4.&IQL]>1 M8%O"MH3=\_MRSZ-UN:E)/LB@1;FY7Y++]J$:3L'QGF[+U/:+\?:,\S[(DZ8? M.LQ<5"H5@6$6&:$A9&0ZJDW-)86WI,[=@?_^@53GR9[,)8G.]T3B[PN[-S#Z M6^OD8Z25NB $B-OI"KL%16X:\V:MV4FJLM,7ZP> MWVW'6UK[*]6B"U9=#T54@FVT??AAMVUJK5 M!KVJ((7>>K9LLJRPV[81W* KTHCO$(1"-71,X/M/KN==*YZG7. >CN^)I=\7 M.&]@]'>#DA.CF(#?P,)%:MXJY";BV;:&Z;S:H:K@2" MSLA,7',9GZG" ($C;>\,/D<]N8@BB19L!];E+9C.P%\H>*A>%)"AT^8>8J9G9L0*@_PGG%>"M #'55__\!_YS^)YJ L5# MQC'_>ZK[KJEL?T2JL7_MP1 H_H%&>F7!C_:=B^9S;SL$\;^H0T?/??*PE I, M\^_7F.CA"9=2A"=R9]BCN3CZ][^.!_#3Q4JICNEX/PX <#1C^YF@(BR8@=3$ M XJ14C3XQA^*N5:V_GYX?/J!/F#+CT<,H9$\20+.[/\FCGY&\W B)TO9I(ZF M:@\]*1-H4$WBKQT^\V+=V7_H^'I40]$#IH)N[[_"%IV%!2&-IM# M%.?8=5!^;0?/I_K<#"H109$U3>&F0.-DFN TF0$4*T\HP,BLHDUY&I J]-K^ MBM_Z*9K]+$7_:4J^V!<[W5:YD>B)N5*C66L6RV(WF2@W<@^/&?CQN!H(!P.G M<("Z[B/2R3Q%,1QQX3$=P_8972&IG[KRVH"C8<0YNX&3>!Q-XN=P'L<=\\A& M:,$>JA]"C)\=$?9FBJWOHB=!G8RN;XA^R=C3E@?7%3N(?FUJ9R8]K_NJZ?BA M!WJP5UG348T]09[(?G=9XINY?,;0V7EKHZAS9?"!VK37'8IZH%_MM@C7)-_5[40/J',;POQ,!WXR M5IFRK3XD_@47_40N9@C_3JP5']T8ZGBN SL?I\7D(2JL$66 ZLKV_B[))=, M4 0A/"1Z/[\?$3+^;S]A*3,;! X4N^XC0$E YV?J6(B+H-"'!2S'VR;^5>]D MZO]&-WV$T3Q!.-. AU@(N@H!?16@#!P(F/<-D+0Z&4>-*/8QX3?LW3?1S^JGAXMY@FHQDI$D70U M-!7/W*))0=\#*[19A[;QG#7L-Z)3GA>Z\8.\A*;H)M3H\S.$AGXT$[D#B2C@4?#B6$HF8"H,07H9MW$'.HSFO;(P;51XVA4 M*:!INJJC@:(OPQ5"C^;-WT+I6'XD!2<,HOFPD1Q0[M0D-(UM8J($\!TZVNGT M$M!6%56'*K&GDO_W!(\N#T]9!>I34SM&(@A,73AR'8X/NN:9>,,5THL6A"XX M8O\4BHA1*ERR879%6.6@NVQW6,/-9>(P@VZ'8)H)7FDGHV;D;0$7]9#HAI:% M"E-#/3Z:CL3/^4@<)N33UA+)!TU-A,AA00SR'Z=_F_4S9K=IFV)*&;/;=MV6 MY_7,YT_H"W0-!<5U]=Q102F.\CZ.Z$*.X5O7A%Z$>0!"FG( /62^Y_R^Z-9H M)RI4#AVO&'.+F4P+ L$RU*$Q07BRH6,0I2U ,+$4 ^+B89QQTH+OAY8;PUPP M5R".1%>'63Q58*68831%"/,?)RR)%M_XTDOX8,='CS:C=1C.[;X;\+^J ^TT!G>X MR'@)]##P\MPEHR.J=H 60+@LPP= 1=U%,!Y],PG7 +CP>N@URN;X(8>WQ[V- MF U:J-#ZX,>K"5RL5",%!PA;H3@#G)NHX9-5+S&!RP;L_;/1GJ@'(AGHZD\G M6IO_3LSA"K1"RY2B!B&4%]2WT R0SFVA+D1D0?/@&A^<66 ?WW*=]:8+9DC0 MG8-F1!BZC?\]75BVE=((+LMLW1B0?'ZXRG59>]*^ V3;#_,6$.VY JAS'6A' M)]90G#XB=@BC(%N+E3$7M1(W0 TCHMI$= ?^>3V/#$X':_\(,(ZN;(B(CAM" MHKS/Y4*6H<:O@GKJA)YZ0(R]]< __'S2$=.*GA3Q28AGWN- 'A(9^/V]SB>/ M=3PQA\#FP^>A",#C^&)[C7A?1-!BR5Q'^_T[2E7&I' M.S(;&.KT'K3_\5*WZ(>CD=Z..2#A^OH4^1-002.6#QT84X=]G4*78@[5)059 MNK6O8A OAM$R#]44S[U% P#XF?$Y&$ M70FN; &/W?(>N[5G%RH*44\/N@NUWH%X?Z![,#T/QFH@RH5T5=%X:J0J$8C6V)$BF_=!%$!TM&*=]A)C_ MR*\2:R_(3ITY@%PW0+VD[5B D>,)GH?PH&O?0PQ M/!HA7)7BG96(P@-H9FAI_+E8.1-3G\6QK.,P1/0>58F=FXEB&RCXH6X1G42. MO[-W+PX-G[_UY])UX'4H3A"?P(+?.5HK]_'IAT09LG[=4T,+,O=HCH[H\<_ M2?R,Y!'1W#-_)'W()P^#C:C]8>:.YEL+O4ANRG0!GPFF3X6OF+YSC*H).[0F ML#5\F@9YJA-';HX6_2A&%>[#*&KT6C2]CTPZ$BO:@PVT\*=0G[H"Z!R:/8.H MC$8"S>1)QY%@705BYA1Q>?_(B8?(F8J:1Z$J^$P5DGP]6$,-G.LVPG#D1SU. M'-+^.01?QXL"7\C5\5"?D5[&W8)B-I]I)YQM;P;0!:90MV:*;ONQ:?T<7[1= M%"T_%E#L^)W03/8AM[D":=<$ '3^;JY$$_[HC;D.VMM .H#F:"^^+>)N!P$ M1'HLV.S\\@)^>BZ14EK16;_(#;61MXKT%%G2Z[*(PJ(V0(%$%"F!7\[#7R*I MTR2*@U)TU&64;?>1.Z6O0MY^G0]MJ,TFF)Y% QW)]-$.]DYS-&_QG$"S6<]U M=?X$,9#85?B<>!E'\Q^8>_ )_9_&]'RJ$51&0D70=#C8\)#(P?\H*(KPJ&4Q M24719"5A*C.D.Y&#O#_B$'W_F&CK,<(J*T4WXY@MG#1S&PO\IXW_A'9H#K%# MBK3KISH''H#\H!IVP:X0^D,)G71!^3]%<%LC>? M2*'^Y_IWE!+O2/N4]N/ZN=#[N7BB'K.:B)C]-!3/DPEY.*/;N4%+I"86[[,Z M-66Z[;_^87@V21"G96"C6;SPE+SE^L0+3LG&T^;K,3NRQ%2@Z:18*+5K7N:O M?UB6/#LE2;0P(EN$CBG4]P\$EEM*9_D%OCVBDH_\6MV?1U[U,\2&<#,-5<3" MH,]B^\\6;%LQMSOXM2,LV#=,/MHZ! _;L:#?L$>)" ]I)_XA7L0]!ZTQ"#O\_5+M M(Q#30I1E_>A@1;U+HC9/PP,_YT0_AL.C-?FLWW3R.\Z@@3#%X0P:G$'S^QDT M1S-$DON$Q4-.#4V00)T2E"RP B,S/$W("C\1X.<,2$])7N6GDWW^B7)($VYX MDI6NYS].F,.IL2ZW);BU3I\^D"ZMRS6QU2#',AM5T2*CB0$,M3YY9=4J# M=)VG1J*2TUVMSN76 =F6(1EYWG+LC/(K=K(-)(7-AFNA."2;TAJV/'E[1>T0 MK%!W:6,[V!93VZQ465HSV/+D[45FW.P,^47)T)<:(%,5RA.TMLR%5228($, MM+0F,PI+RA-(H&1"I:8DH[(,H,GGSP[K.VE(5/B=2%FNMJHLLV0CW4:AKQ-- M&8.!->4WLL&ENJQC[Q92)=(4[GG+_\_>=S8GKFR+?G^_@II[3]7>K\!7(C/[ MW5U%-@9,-I@O*B&U0)9 H$#PKW^]NEN!8(\]8QMLZ]39'AND#BOURIT;;1^+ M=]VEK16O8PFYF"_/]$4>X_]HS'3NQA*=_CTJK[C[3+Y5BW.E80<_>30F&IN% M$G?+C[3TLI)9F^:D,E>G^,GLX9./74'IWM3+!A>3Q%ZO?U>=%U#^%%87BE6= M5="#J,VSJ6)9:J^=-*:IY/$Z%6F;&.J-(?RK)0OY+3.*>I+#FNSF-FOSXB>3AT\6F]EN M6Q5JD_*.K\AW$_ST71_&S!T^J=VOA8H=MY,#=;00[I*/N];]IG.*HEN5Y/TV M%K\>:&)M5$LG5'QT9::G*'HE\HW!@Y;;#5 R,XQ5UOW,P( QC]99EMO.CD?W MM<%P9=Y/A=A\5Y[ F)G#)^=UJ["K3^?.H+7;=+EI:M:9Y("?CG:4K=\X-2[N M)+FA-BK5JHOK5GPV%3+'.TH]UNS1;:VF#^;5TE8W,^-.T\[C)X]YM)]KWAF/ MQ=W 23VF*DETF^ QCC+'.S(3W=7MJ'E3+0]O4Y-D\E%>KC W9X]G;_/2=;I> M;/):?#--;S/3<:8C;/"31[/'=L@0$]?% K3X<..L,JD@Y#-;<\>R;74,H3K?Q=CF&C-CTCDO.[&MX\EC>:TMUN'RX M4;1Z;JUFE9ZR:JPW^$EW=JPR,DY'#LPHYB]Q[0M( ?-?M'S7"2P[:#*Y M'B3VGN>5/AS U8'@"VKL!*.@--_DSUPLSQI_Y-EC6'TBCPLI(?," 17#;-,= M,E.1)-3B[6&]%:Q%@-I)=T-LG!\^/CP^Y+26]K#0-HC;#CH;;-KPW*?WP+P1 MB";"TNS;U656:UWWRI.*%K.7Z>F/?Q/9Y(L],N\5=B1;[$DS)#LZ:BG' <=; M9!,;YCB@GBQ,'E*B*&X&:,RU[%1[:#N%]PJH_VE<+DIRDEC8E\01:):6 =@% M!\I?Q&-K.!8F/>OOGP3H+,>!F>&THHV$WI86^NG^$EPI6*W,'@/;3:(VG^O! M("8RI-"Z'U#[F'RR9T8'BN+8,YQG^V:IZ6N;[KI<^X\:?[]=MY?.726>[:$= M,%$#4T*H!.Z9 A% MTZ4@ HNF$!%OAXC7=E[ZE=;Z@0U&7K'K=]4//W;+1]F:KX0!-J/@P__]$?_Q MNRR8N.+>MPO504.15U>,NYXF6M2:X*/N!4B3MZ&'9\_D[T@.[]^,[2W( 1R/ M^S002K]0^OV>]-OOM\0OMQ'2&^$,[99>S0[@I0Q%X3N*PL]-&_'?%9&_\'2> MNREP_ZFX7N3-I.2YM_A;G;7>P"X^][[_^RUV0GU>9]C*RUOGO77SS-^(=+ZJ MI_!Q=*MJ&M91-K7?-M.6C%I_$AM*7(PK:-R4S^7D&.29P7WW?#29S9UHG?DV MI]BY:3CDW3]U"GUGUGU)!/Y]6;=?*QK57F^IEV.3M-3D-IPU-"'Q$^Z1YZ+) M7/89UGTS)>-#27?P3$W0%["\/E (??5-_BJ>]L6DT9LK$B\HR?(ET:8X4.-= MOK[2XEQM54#I^P)WO:%)P,E,ZMTTB*].Q-^%4[\1H[ZYVO J1DVE2_&A5KFQ MN?FJA3(E6TKI\H;FX*=2_$?H"^?6?O.OSWD-O15O;_&92O5*2;Y3%ZW'L.H'UFH?^1D@1O88_3FO^.W2- MA(+B/=2C"X3+>>7$FZE1;R(G%LUX8U+6)EH9+6-;JW9KCBMW4#*8)B40S\F) M2X^'NYHQ*3YXIO @]+Z\2LZ=\>Z@]PWFG'MC%V/H?4!HYQ;93YMZN_MZKLO/ MM%PYW6AU8_8L+8\1%!+3P$XJ=2R60K?,MV?A"]C7Q7#P!T1XGN?@"3=I+W?7 M[?*\:\BQ9&6PJ*V@N06-[Z33SSE6]^YN.^Q,]"X%BZDWX)F?H*OLWN9(CQZRN0CL M[LR=92N!9N 6!B"M+B<=);UNE3IIH@CM^X.E_[8!O5: MT+IW'T#73%*]0%M"/S4ZM#" AKH$[F@KD7M@D,QZY.(G'>C3J:MS%=H1G MS MP=M- CU/3<2N6J"=,$VTI'?$1.8&^0J3+L_]YZFNE[9ADW9R]&H&PR3%S,]U M?L1P0B*9QRTD][ZR9M!Z%]II7T4JK"=\L,.\/5.MP!T8^XTE9*1 1U=R*6:< M^R?8WC+._P/-XMP6\]#F%^@&#\8ZRKEMZKP>=M#A&UN/])X+%>_"UG='5RU$ M&<1HGUI$)]CK!/$$S+QI5+]+!G '(KTW7<20-09W:"%=9^TJZ(HHE @TK1.X MC7IH@4YY-+%_B4Q@/^CT"8O;0]X3[/"+MT^\02O:R26;%JMCMWY^R,4Y;KL MJZ7LB="6 I*SL(.?%=*D^+AIP(W()UOU46:K[=:E2:V]4YL]^]VZ\/OMT;BK MYW5C_TWX\H7G\5?L#T &2>2N4M^TX)9JT%=-F+B5]^T M><9EHR7DEPM%3,@O%XJ6U#)%LPOF?#.72R=\MEXYGKC*774I_ G[/54]WJ<_QS8KK MG]<-/R6Q)/Z$6.)?B5C<^"MU0G<#E6-O1#WOFYF5_07MN"UW?C.U+!257UM4 MWL,]G.4%=!I_[VY-7T>*OI,M>VFT\=X$<8:4U1?2PQ$P/HI GC?>WII 3F=2 MO9H^COMY72Q1A*?E!Y0F'"="GK40X25B\-)$P8<(QT\.HY#20DK[*!B%NBO1 M74->"WGM8Y3@D-(NG](^0&#]GOY]9O?,;QO<13<]]XVLJ?-K2&_LD7C3EKF7 M8&D>_PS1?A+M\1#M9]=2STG29]<_0TEV'K2?61D,)=G[NDK/VM/F>%.N!A;) MO^$Y?(']<)]4U6,6DF+J-D8U\Y_7Y!^AOQBO'#%V+6B[=#N;+M;2XZP]/:GF M_^Z2Z9\P$ :B.1?U/I:/0IZ#5E]7V+QT3"0-1 MR0QNY?%RD.ZOT&UR)CWFC:Y;>J)4!_(,'] M*-\D43"!E0D*1[7CA5T!+:09WI=&WG8?9&E*%=.8XW=LV--0M6?NN+\>MK]; MHKT1W5>/GF5CQ4H-/H\JXZJF*N6FK!HEK97P_L^;J?H7MK$S""UF M%5RZT/KU 9NZMK=:W' ZVKS97JP[C?J(6X8'[->BU4QXP'[L 7O<6N<=SM2T MJ;5N%3[3YJKS-"I76B,EEONP,S6]O).OEU59UE;C3?ZF/]J4&X_0C#3[X]_$ M<2_2+\K.__G,&3N>S5EX.SW^HF3*2SMR_;90.6SG\1*A4O@\6OMH,]VB>V1T M.-1OE@NWB26RFQ\F8>X'J:[Q<)L6N-9HNZLT.G-]I$/#,1YK[>]TB\.9@Y=O MH:)?(B->XN'^B?APD3=BIMQ/JX.>DXKWROG'[&XX_3#K^>;.THWQ0!C,9TGM M6A+6LT1LPUIWAGSX27*WODBEP7=7 C[$LDBU.Q5;6"7JY=ZUI*T*=T:W=?]A M\@;=3;.]FE'FM:H36PQ;G-+5TQO6:#01RINS%7%\\W/_0UA/K>=;1K9YF^;4 M^^+('O90*Q/[,-83E_B +Z2STX$3&_2V_:1TWQU!E^[LNSK*+X3UOE8@N?A] M@G,7><07/X]]T4IVLV)V8.3*J'XW+O>L[?6FNODHH;-NB+OAHK#A!SO-O'D4 M!_9]9I<7,L3.CW]#3^)79]=+U H^$;=NLN/=7;&CQLNJ56RU'W95^.RU7>F ^[J0SJ8&XE%WF$W!K&TK]M+%W51ES!22;S7)I#=P^" M)'187)+4PGS/BZ/5C]Q6+GT M1:-9%VENECZ/ ENN"5:7KPCI9V)E.-@IF7XA M:5UO.278]27N3W&[OFG<3A/<,)\M MSY.U_G"T_DH'Y(51W[DLQ6\/AD\27?M:)^R'V),/PW)#N47=J3:L[#+EY$3@ MDP\?EBF8T2J:G=VD'*[>BR>3^8&5:\6G^%#%]F0B/%2_94RQ'ENDC*JP77%. M\F; 29E4+6]^)5_KA5'?GQFB_T,NT]Z[K>OW5QJX[-OMED4^\>\#YZ_X')J? MN#!L_Q:PX-UA'K3ACF_#_.EVW0I<5'8\G&TL?W)7:>1:T?'4%>[P@7X6#>X,U>+[MEG U)WG[6J"=LAI?UC C(OB_Y> W,XOY'!$YDJO][ MBCW.MIH&LJR(/<.$S7.'N=DNR;+3Y=;!QZ,J'?^]]^>KU )S5KXVRW>%H58L MMFH-79274V5Z>%C6%MB"M@USUS9T5=KU\>@%W9 T=CI.A&GB83//I$N9%[*JS+G9^1! ^2)=X(-MTT'N)" #KT[UPB>A4;4R9TG&'X!__>CL+RHPW M/&W4!99,]L]X_"KQ[,J]=414*[(6=0?)$='&=($BNK%!9L10,%XM.QIQ+$RF MY M%-2V8(&*L1$705@+"Q&IHQ(#["S$FL>J'(A/1PD]@A1564#3F&&@[$+M\YA\K M@F!@0F\1S/O2+&*+&H:9BJ< JK14+$#HUS,5*WLF" TR!=HND42F=FRL\6*= M#D-8CI))\*F#O\/;VD26IB$[DFU%YN(N,A/7R%V(A=4UV _""J4-.W2?Q$,@ M:;; XG1*)@ON)4IWA]\W(PK6VPP3EBKI#@B" &BP2DB>M&;J&_\.@4UGA. MO"U,$A:B7XL4FOZZKJC<^6"I4A%5\PXHL:54U 7>C"KJM86%905 V:*RQA,Q MY9FJ*$UK4RJWI+8SU6NCDMCN4"-(76!^R=O//"? 8_PG$$@ E,B=RY\>7"(! MP+R[J$H]NR>R0BI!,.W*2%$70+= FL!_-N8]%9C+1$M,A6AAN_)*G(.12.EO M8SBZ')D H8+)B ? (L)".H@#/):%L*3#=+L45?(-MM,6EH)Y28SHJDC5OB@0 MLPCDC:6*OJ//,&MZ@NP-0HL(6*I8'"Y%4%!4##7;HJ)0P78OVABF1EARCGG# M,6&=BK\Y+$+66&#A?>$EFPC%;!4O8(9_B*8TV\$VL02SU4_<@R0W@3S5,JI0$Q4O@,V+<"FBSJ5"C3 M%1;A%$?6/R=E$/S-.%QDAC5160-JLZ0CT01[9O:/K%I+7=S])&K3@?85SUPE M4OLJ>B*-_WY2'=\;+"9AVOSGN>C5VU[K^UPG7#Q+,G-\/2_\_#\OLB<"$&.0 MB!-]?(IB]*IC4<$S_A3UC;BSV/8RN2NO+?1/KQ%P@I 6AR'[GTC@=]_ ""QG M+FYC 5 QA3NF(\7^R5YS/S.IO<,^_,65RP&-.LY?I?=1G.2O,JDC++\+AR4X M7^R+$2PQ\$'Y7_U6\>E3X#F+OD_8#!\!$++:D_KBOP'M$2].FH H,GU9O!I*EK]?OR ML+CHCY==O=DJ=_"3J<,GF]-J>IZQZ@/-N1U8US,YQ_6K\&3V\,GQO7ZO).=- MQ,5N4V;NL986'N[A29X_?)2[77+75:>XTH9J.3?HC.]*MT)>2 C2!X_6>SW"^CQ6I4XL7[?:XTR]\7N%)X\VKP9ZV9$ M89?J<,/N7+RM"D,9"1W\Y-'F$PVEF)](A?L!ND8K8]Q)9*7>!C^9/GRRUT\L M@2E[*TP[U7JK5EYILYM>*[W)B")KZ[;_9*V> MT?6RRLG:KA9+M(>/R[PFP8Z.P#03TS?K9#D[TAR1$V?CPE V+9C] $P"ETRD MQ%1*$B8IE!.2W"0MY$24$7)R/"/R4E*.QX^ 4+8GM^E>/CX9##4G/M26J=VT MNCG%?%RRI^\:JUB5&V+NFC4FN_DN/CW%?,UVKE8K5YQ,>;X<93><59(?&M-3 MS,<;\;YJI3(EKE[9-N2Z1W;17U;)83*>M6=QIC-;34\R'^%2E M'QOK@[+S**6D+9]0L]O-*>;+=N,-3EE4)6WNW+?2B[6.<5\'7DUZF:&!:[<2O?1L)D<-#>5SBGF*XUC7+TSVL8Y M5+J7U79-NY=K^5/,5\>JC)[A!R,-_:N7*_+9F8TSBT2RN84\VDWJ]QUQ5PURVBUT52C ME(_;L\XIYBL:C<52B-W7!\4Y=S.LS*OY975ZBOFNYX]S-?V(9"W==BK%MM:] M+4ZFIYBOWC%6!6/5*)>K_'J]K23-;/?Q)//)HK:M=E:)$3>4Y1NCL"UFI_ST MF/F 3\V'22.VR\ZT>2Z_%C_QD?['--2TSUM+$W?7XKC*YV\J80K/' *W8NJ4^3!^VW#SV,-A)VUON?@-C M)HZV5,G;]^E=6>2*FU+BMCD>U0P%8PE>?$I6[.)KM^99V&;)8C,"VVI?'FIEX>:NG*#/&U[*2@96#V M8PKM5)W6+)T9#M*=SHWTT)=+NW6>!O,.&+DL%1.SVYJDQ=55:SG/];?H'L8\ M9N1A>YH?Y%9=+3::WF9'^6QV6"19-T=@0HJVT+,WRIR;"[4$JJX'#XH"^M/1 MD_5DNS-@30WK"N2/-L^@%+,75;;0YWH[QZ4MCS MXT>EO^IH36[.)<:ME7-3VJ+I*6D[;U=[B,P]YNX2 M]TLTJ#\6[E/S2G:1VTZ%]/&3LAA7)FFET2MC1;-\6TPGS:$(C1/==1X8D:Y+ MB;N/.:N44UAS\YK=6W6Z*6U9S!-74?S8L?3,TT"*3\SQK#OJLFS]>-#6KQ$# M/\K(JPT"QP:8S(PO#]4S)HBU&3+1R5--UDYEH:9C$:0; M7?@ M5))A8F,940'&&^(A<^9+H#/FNSU#R.)T1$%DJ2#,L0<0B?H?+L4=^\3SO./O M3$?4X051QJL&OB-^%@I+B!R(%J:8Y=(TMNII738@,@^3/A.R:O( MD*![GU> W,6UJ.J,0(B3,\@8T8B%),>D7 -/2SJ>1U54ZEEE/RW0Z*)60\@=#0\EE]X8G4.9&AB8J',]]Z!DIZ$=^SH$"=Q0R9Y M0@#YA=SPQ6V3.)>1W%IT@9A@0P6([A!7TG',=G<=SRIKFV\/5&3RMY)\+Z[R M[Q6S?;5DH1YQ@A-8OA4A!(\/'49-QTA]FJ,#+!L\G>8,7A!H#0Z'>1.D%X4@ M"]S]16C)<"P\B/4W]=._+&TB CP33*_)'CH).K9<_W4Q!$**1KN!]0+2C[9 M&DA1C)YQ6>>JSD)>!T#XQMX3 4CS;'3^I9WF P_=*C&TBH\1X5(7#KV(?I,V^M$IR.V9$'ER^_4#?HEO_# M+"SNV?+/$!$?A C^*OEL%5:(B(]"!!=BXC(P$"B% V70HB0MET(9@(9=.%("*439>"""R;GNWA&&+B=9AX9>.57_K[ M/F[7V5?L^EVE\,=N^:@0X)4PD P=/OS?'SP4+_\60%*)JTS:S?#U2M:6VPCF M U6.N+G#[PBQ[*_SGO_?9&^2_=()-UK# K1\E(6UN7CB__W/Y-^#VKJ0/<[* M'MFC'3^'6HK)XY_[> TR0OQW^8#GK[+93\T'^^4;DY <_I <SE,(7D\,>'1>93DT/?L$7]+=2CL_8*^=4N:;K,SS>E][-O^$A%_ ,#XD^B MXB$@W*AT"(D+X8U]L?\6=)XZ_Z;.T$R/^Z8;#ZGX"R$SI.*0BC\_,EF0Y--N M_!,X79M'51.?P3B^".*DZN_YS.!C(/SW&ZKU9][7+_N6OKJM\*!7$NIJME$M M./%KK5?0E5I+Y!_$5F>_JW#>$EI*L&#%:]8K6K/\0H9_RG[YT%X_7\)-3<), M%>"E@Y; 7BE+8>?]>NTV5R).JKW1O&=H82)Y@']Z2%8+ U5<%9/T4I-VI\<+ M/&EY=3-L8*FYG7#98251CO5SV^Y0&2N3SM[-P['$:WH.GP2:MY*2:DFZ 8OQ M&A G?O@%TRC!:\-4O%PO+A[ORNG!5BU!YX/$CW\3Z6@NF7Z?'L0?+KS>1UWX MBI+I O;U"LG$:F5#H@R),B3*D"@_E"C/&['[%CKK>U>IEW2J7=]Q$N,6DM&B3[FU\_ 4:U^>,H9%@H%LN?;H\ M^LNXIU\V);!LD@T':LL_M="]T+U>H"#^#*9P7;M;%DMB++X.>3\[1GU6WCIIO6 M6NF,?"L)K=AX_#'ZW/#^06G9M5%\@,;;FYB."HME$7H.OZ-E_<5-RV\49/[J MF_Q5?Z-W%W$A ;\C 3];W(8$'!+PI\;M=R'@9]MI7#0! M[UU\>R'X"#O]HK#S2M@5ZEL@(NST>RF("#O]7@@F0MET(8@(.]9="B+";IH7 M@HE0-ET((D+9="F("&73A6 BE$T7@HA0-ET*(L).OV^+B<^6#>$_^'5:F8:= M?B^GTV\\[/1[:>QQT??=TC%8>O?S^&%#5O_AJU_ MP]:_SY2BQ[]9Z]_^@U'--8TU7RYN>:UU;ST.[-3F+)WHS'G%RL9&2YY#SJTF MRR,GF^ML:.O?>#J:Y>-AZ]]OUM#R O;U/?=]?@ MWD;=ZNU&M[V.7=AR\\6RG*I5N^-U]SR-?^W[AW[:G-^-N7BMK\SO*G,I]^@V M_OVEOO4Y0VIAX]^P\6_8^/?#!?%G,(0;K4FE*2GK\B M7!>,=OV^6^M\3*.X M73>O%&>UFYJV0MV.N4UPTS6WH8U_W]OP/;>4"AM+AHU2PT:I(3V']!S2\]>C MY[#Q[V^HB&^CSPEI8[:KH)F@Q97$>#Y,;+AEX_?O-'R-/K=VQ.KMU$R7N&&K MW[D9->;#0L]M_/M.EO47-RV_48CYJV\R;/S[=7'[7=I.AGU3ORAN0P(."?A3 MX_:[$/ G;_S[Z2)GSU=@JB+9O8J^.]LX_%-SA >VF*>0XXA;:]1K)0HOCX[96Z*\Y],@[+R"[D+ M*+!:>!L 33R=MY@3:2H=HQYS&H:*-/&.[\737$5=%SI"5LC]^#>>"6MMOYDP M"6O(/E->VA]Q_F@WL_+9/LH/XL96K.=ONI7!=1YS/DE0>X[U/V?PBI9]Z7Z4 M*JS]"FN_OGGM5YBH'B:JAX47(3V?'<T_EQSF0_?! MB"T%D9OG^FJI$"L,X@\;+#E>9G+_CRUBTOC7?>S6F6.42O1O@*RZ<$3ZWH58 MDWOKW$-^R3')4@5>(-A/"'W#IX6$8,[*UV;YKC#4BL56K:&+\G*J3 \QT3:- M)>;$75L7%W9^(4/[FR600-O056G7Q[,5=$/2& (F0FXMK1XY?9P?($G7E>Z= M.I'BF!(01M42#VR;#GH',4*XB(][K'3B&BSX_:=J8TZ4CJ]-^_&ON],(9K*( MM\T@K-]0'*@+C%'[9SQ^E7AV&WN+0NZB(J*)\%I$FSI6),.RHQ$=659$E"1G M[NCD&QDM3A C(^^+?B&I% MECJ6N')$Q2!%YEJ5T%6D*:J8V(!/$1G=1$O,H199FS3#.\+/VT8$UD_FP-]8 M> "0&T@^F![/(!ESK.C@=QP+BQ4RNV6;(F HIJL+%)DC>V;($;BKD7RK&+IN M;.!99.$%B_1=I#C@@5ICE!B*OP?(EWY';B%>PIXT0[*CHY;R)-,,R/H:JH+Z M(&>.N:=AU]JY;3,[Y^J269,>:A4]MWPW[E$7,78K)G?UO#3RWX0O7RB;B"QU M1V#'L(2Q)BXM]-/]);BH-!Z;+6@N;F,$/PMW63$=*?9/T;$-]P-RFM)/V,%- MGPFGX53R\%OD-,?'*(- O1=)%WS;ZYU>J8?I+Q#_UE6I4/:#F?P-TF#^Z M7HW1P[E]&D6JV)E$25P@&_.RYJNR;V#ZTP/@W-O\^% @D[>7E45]X-%X1N,^ M<$XD/(?#D]IS8=??+=&><\(E+N\9YH]H]AUSE>XY)6U5*XKFC3)5Z\G\G@K)2\VED\S+##3GW'KZ"Z7V]2V M=5Z+&77%CE>=>*Z=Q]QZR**N/SX;YWG7+1^D'5A23-W&*.'\O";_",O'9$*Y M'6X%K:ZB17J06?15IW-26_I=1 <\6@N D+[GT6(?_?@WLR=^&#'_6>W*A6@5 M%<=YISU;&+,>K7'RD->2 %C)MZ',<]]%#60:*&9H(Q:0=R*\(!%C-A:@#$B(R-;T) I9+'1,<"9W* MOEB,+&> 1* %92 .C G$77,,UNSM!O[#V]4=F4:165087 G;)5I8Z" Z/%CB MK5FBCF &$]DJS3N!"6@\-TI6 9%O%GRFJWLZ_FT24L6[Q]:":2O;<%8V%=1?*!R+J[(W^M>%7X M2"&(GF&&G\ZPO4+A15B&#!T$#HU]XST024N!*AES:NI G-Q$,SR#ND;LBRO* M< ?L]=ZI(;4Y!/QAC2VSI%I+ ^.KI32,Q11\US+MY/Q4FHB:XOMFMB7-M6)7 M+CG&.*%Q DM?4A<.?MU^YCD!'N,_05*)#R- (\ F!LD)G^XEP6HT0)G+ \F8<2=1-&Z(D I]D2TS062%$JO_S= M;S#%(A ]^ 2I@533BZ9__(F)9U3G%INK@$+ M)\4S5XG4?NI$(NTE%[CAQ<"X>X/%)*3K_SRG\[UM@/(7L:AD]CCN"#__SUY4 MU5-3('?#,'^Z<;0 Q!@DXD1OF:(8#=J*"I[QIZAOQ)W%MI?)727<"-U/+Q27 M(&S&8!PA"?("PF :B_O@[VVG_KA?OB+X#%#LVTL?\;YJ_0^BI/\ M529UA.5WD3:)@(TE1F8FB.O_ZK>*3PN?Y_Q_),L(V*5(4VE\@2,&8\ZG^> 0 MU*<@>,!8KG3G[F/.*N44UMR\9O=6G6Y*6Q;S1&HGCF7\,T\GGY[CV9/A_<\" MK%J *@4 OHK4%*I2O4"X&5A#,:EX7#HF!JJ;J:9:1)Q9%I6L1^*8J#!$Q.*/ M-JH]BV D05B5?8L%<[#RDDE.W=A@M8X*93(I-DOP0E4X(%1%)?0AB1962?"3 M= X=5 Y[3^)/GIO_*M)U 40T\".9K0:*0R<[HM:(IFIA M_'IS,9F/=5>'+@&)>.G!LX8IHXI#/,%81JF6! _C,0-+/3RA\-2@HTE,G9WB MD\F$XX:HQBK1=3V;AFC ->74&)C2+ Q'IL#CLX<>=TBFNJF_;#AK T=A<."%3"";(W""U.'7L 8K)=KY#6A94[,UWB502?\A@>,W$-X^'!WCBO M_%!_C._ICW$A;=G5G5)75N75S42M=*;.PX/RW&7GQ$.S<.9/>&@"FN:A?GF- M=+EBF /K*!F<1'HF,Z5L".V*,B@VK-+#>E,22C=3SW_U7@!YJ4+]\0"9U4RG M7'.JG4',,JUI+KM0*XO.CW\7QHG4^(,/ D3L9=3MLK];3'5S6OE.3>\3624G"Q- M4Y/I)[ ^Z+;.[.L(6AS,WC441940/N/$210K[\', N(O.\AVQV?H&I\-A@/D M);%DRL[52GF6Y>K?=49/IVYMM MK_,:+S,EM);K]R"HZ>,%MQ30S8#% ER:W-8KG>[#KLOUFO=ER^H(]O8:D$HNU]JQQK]UD[FJE@H MCC+&HUG2-^<(96,;;S^"#2>NY4P>\#D.V!876&;H8+*:% +,UV(X3!'R2(1 MRB<6.P@V+(L-UQ?S' ']KO )5D!-# //NB#2XP7$4L:4:8.*T%):2YB[;Y2W M^ ,Y2#?E4;'9V\YC9377*NN6*"9GTSPHJPNT$?5#FCG[#FF=%WKQ_E+M:4

*&05XXX@E7"4;@M5-]U=(51R D?LT#17M='P\[YE*K MM3+>?K,?CTW/P $'C 1=@E?X%>\BLJL4FE]65@;.22ZOMY"ZC)L^2DH(( M3@\VX3,HF"ABQ 113%7G"%CS@#S,W"_8Z# _'36'NWI5JZ:WV:PYNMURV_PY M-FIOC,-=?H8SJ4M%!1Q- <;K5%'QNCS)%P>['*>,^JW"8[J_^?&O D[H9\\C MRIH8>:[*1ZP2ZJW#9UG B&*>;QF!:,:"(7L&;^698#GW[64]V6\M2<$9%4FRW%7@BW "!PA>-$3?'!*R+0A#( _W1B. MCO62+3(EU:(%NT2DR0(F@44EH2:B MA@Z5%_ 3P+1>'(=\3X]U2<>+414W.O:4E>)1@A^(PJL_",N(8,QX!.0IFW._ M#IK%GB1CNE"#\P7H+P#?T]" ZDID M/2:DX?A)(QG\.!2&:2\6ATB\'Y\7PG M1YS@S^2(03G*A;;G,F#^D@.P>I65AZJ22V".Q4(%1,F"ES T)H9ITC),\*%$ M]V=6%U08D0C<6E1UXF\B):L'6XO2("BCX-/+/E@OA!1HY(*B2S8('T.. N9C M(%%LKV++"/C9 ][>7ICKQ'^&CHFY7\:LZTLBXN.#MSUD'L'X "D^&+U^VVXX M!0AK<:20ST49=JP"#QE BWC<$U1 #*,M&X9^#[R\L$G%*WSK4JF,M7^)U@;[ M@=4HD#R+'I--$9'O12Q=#CYB28])_( EH_I'"@+QH%@7PT9]@J).QDIAYB"G M',COXWCIJZ:W9GA*W_GPJY2& P%&(MK@1'47^]K5!4/-IVDC4/2,% 6451+; M9?.RRN<]>O-C]4\SXT6<2C/1)51Q:B(6TB9@8Y]"59 !U;V,V)?& I[99U<8 M!>F>RQ;XW$)+D?#L\^-0C=+W/:B+M:&O"8@0AA@B@7;R-O5*!/P.Y"RA[GE? M@E,68DD"44@X #>O=7#Z/;D:\C(@6P](>?KELSO^X]WNNUGP;Y3PCO9X%:DX M)KCJHGM:DK<4EYUBA#]T)C^8.A%9$A=:%$ZTN6H3D:':+L9 \.Q8TI!_9#)/ M1<"KB!G(8AY8>)5MA9[#KM7.QZEKPZ(*H(75P<-E67]3:.CZJ5WFR5\E)!%E M.I+@HQ'0NJ,G=4.BL\('1W. (B< M&Y!:!$(;@F^+DR?$7B8-)J$#10J6-@=Q9>*CZ3S9*B4T>;)GR52XUHR.LN0' MPTVO:@NKRF#QD/\$#E[85*1F60Z!-DG4>G=O;^H5!HF"2'[;?@::ZJZ7Z"91 M:DAL3)40LX* ^! 1Q_0(=E6DZ%ZBEY=#HWIVT2N,+E8SF)-#FI C@6L-F^N"WBY6,%O.9IH/F%7"6=DI_BM%J= M:R3Y6[/*Q=/77'DR0)WEW>8X)>#T3?_5,5TK4P]2,,*5J?-O4!JCBDJS;]G!TV8$,2 M1L# EEQ@>S9)S.6-*8%WU,U]/?HA#<<2 L&_$L)/6!\3=:P_5, 5"( M4^C%%A$W6 ]RQ90/@JB_#;(ULDNJ0C+1P4 , C=B[Y:0? M,0J1//LFX[Y6ZH\#^BGX9R!SUO61[:ER^$L3D8_Q3$_A>7]T4 M-V3J!VS"M M[Q5I?;DPK2],Z_O@M+[DJ]+Z4D_/\>S)_RZG*#T?/).:Y=I[]0[^H4/\Q>X) M L_\3JX^=3':)$&+>(I8I('8:%@_ [71RWLF2\.Z+#9A)\@3Z%$O$\P5G.0) MF$W?^9HO!AF-G&%S&NNJJJ+Z018ZL.>1>4LK]E-H* >G#CTGRQA^Q@ZA2!U!J5_<2SU$MO06F; MAH20;(%VYX+*@Y1G#70I1+SDLW0@BCCHRF6#XQY1N?Y0K%A-=2 [U>F/?^-7 MW'&R&4:[CG^)4DXD"A#-]L0&H6GH?D"1P+XEV0;X<:@;A_,J;7IH:3,/#T>^ MXH,ZDF>;,0I8.B98;L1C1>((EI=KY#D^3,RN:]7$FF)>Q:S81;J*%,J298P9 M8XZ-KAZTQP7W6E[R":>8[Y9[\(E+/50KQI##.\(++%(MBA59E%1+M,!I#21( M)R&C80E#-H@6HFM-+D73]B-="]+NBLBN_!+J-DR5I4SAURD(O"7YX^ZO*4\T M+,RY76QJ.2@"I;&!V?T!\MUVWF,&FEKLQE] <)IT?%\)!J^UHSM>!NR>:@TS M W=1#,%O,!@657-PXD$F+_CS$"4]DVB8DBZJ<^*.!:HC8M07V%B^B6"#))S(T(^]U)4B5.2C8 8^36)]L\G M?DU]WUS2NF$1P,*WEH6*=J?9J?N^6!;'U=Y.,RPIT]P\+PN#M,UD4E ?H4[; MWU)*W)<0* U ]&Z\C/K$6=& Y2DOKN6X$2U?>I)@&?W,B^3*KC)C6$="U\NQ M()J/ET9/K4;?-F;4LVHYGHO2H1&OR%!\F-+QG& ^[F:/@?CC('70 HB[3 MPA"0T@)>2+R*PQ!!ZA0X -J.3:/4ZERUO>@F-H=/A+)\D.%SS*M%(!+/U2@\ M.SU0[,OR-OV\?KP'"+,\G3[]$1Q^B6W+NY HZR!@3S>]=HC)H^A8V"A'YE/N MR=%8XHV15-"UV$.J,\[>R@F4G!Z;-J>?^S15J0PZI$2'A>$N*$G<.R6 3^A" M"9^)$8FA+V),0$20$AP;ZX)>50%&MPIL@W\!OSH)#K*&Y433(%E15'(13F). M>Y((L1I="U"IL MZUGT)+%BB1U"0.N[<(:8-)CP,8B\!)HV$^:\U&/*4O=ZSY VQLHD68WWXQ1<>_1 M#R8OJ&7#U("(5D34DB@^6R0:]3*H4FT:.U$G+F6#ID+!6.2;N3C%!(;IP<(O M 'TB:;8P=&.ZB^Y-#GY B+8IX K$AJI+M)\1 TPU96)QD"*_'AZ& MK.;YE;/V"Q[MBU0G5VEQ!XT0N* *-)J@VR71,#]W9)^+O!,X>+S*""J00*,X M$!!!*)R8CX)S]_1L3$VBEB?\1;G)(E!PZP@9BCV(6- [QX\T'I*(OR9:&XIY MU'*A^C1V]N%)8Y0$C"_!V^'KK#;K&"LD9N*/3>M!2;(D!<3"XT:J/3*)]TX< M^"=R@TD+5Q:?4TY4H/1WCS@H6:FFSSF4W??.((HC"^DZ3<+TAJ"A9)V4,[3* M34P_K5*3,G"Q2>->KFHK>@V8(1JN6K:I3AS;,,FY8)!UX-.'3$*)!@XU]]2% MU" XUPAQ_FI2\^29YW$K?H6\ 8LK-I\YSV&+[J%%V>.D\*"\!W$IAW2.F;$4 M+N8RX.1Q"*L*6 [:T&-@K/E^[P@INIZ7H*(I5;1 MD281./S]CCY$:.X"X&!?T31(4N#N6G ID!U.,M)!.O25=&H D.'H6 FB[C" MY_;A6L#1-$$!BX?$8A$M&H><-4*@@1 LFR/J$\@*O'8DR7:*P/A;SG91S]K% MYR!)U'"KK&V578%#EX('L5G6"(DM6V[\14X2P#_^("ER@--Y"5:KTFK1J8JE$">V#Z>0=6//F4\ M8>VEHIMH&HBI4P 8#&1!(MXWW-V46\O%E+MJ5@-@,A[QGW.]*M@T=76&8#+/ M21D9#?2? H-E/T7(Y2CW53<0!&FL$UVU9EZ7K(5O6=!F$T=L1Y(C&3_+#@%! M$)-/;=[=]L'C^XD%,_R- 2YDG>;50R8A>X]A1#X:P U DJ0,(C%(MCMM4L3V M[Z8C8CFI(3L0XO*MK(#X/UXD [4INX?1Z1/'(FHD<;$0SF!Y;,=4=SH#*TQ, M.)F8D.+"Q(0P,>&#$Q-2KTI,2#\]Q_,^OU=X".-ORV^_XV+;.\H"66"&8QXH M;<1-QCSFU#=%'?,@R3W#(' $6C1_WYW +98('&'>J;=G2P?/Q<-#;N]\?.I8 M"IA$;*&!\IH)Q%1%??=("Q*LO?.)>MRBWMF"W"BNC?^4Z>:"[9Q<#5=&<^J. M(VTGT=)VTXQ]Q>Y)OS_6G;"4)$&)A;M>>EJYU2@3")VN70RX3T H)VC[L<0/ M2GMNG05&U7ZN_1FHC33P)"X7=GZ2TYL>MD%S#>_-/:T/E5U*3B*,(*.@[NB6 MVH"92IL3$M7&\K-JH-1U2L9'H/9)B,HEO[*4'?=!31%"_IC.W<%=6O)\2=%] MG2JH2;CO^$59;B,JBCTW@2>H^AQ,[^?T,+\PU3%=_2PXF^B[%8W?;A9Z6=Z9 M!O5K7HIW)NAFW7<9[E7Z[CEW75N8^!^P:DF\-4\[)IFER0@A. G@+? ^:Y[+ M2G99I3"5-!XY6[2&PHUB$ ?'5:2&3V\:V]VS)MGF@DY.R.@E1,QF\=O8!9*6 MH2P5'#"D]RTH5.0-C!%,]0;8O"ZMDB@N(4&P*CQW][Y1Y1534+="P.'*FJ^P ML@\70BX4X9!:$+_DW/ ]C]Y=L#])"E\@&\19X@5 OC%"UC_'/G-@-L\)Q" C M!P3XM7=.Z-1Q;IT$H-?3P"O HG'Y7V#MH-X6+TA">SAZS@KQX'DN3G$-+H+A M)\#NU3<_X0=T-PHIZD]O\2C?$>"R,!B0GX#NA\'E4+G+YUA/KCY-W(4S_]$:@4-M&4XA4BC)KSCW#&T.@ M6"HJTF4W?V-.*&E*%"+3I/[-EV[=2^"3O5;EAQOVHB/'LG-OL_M:',G& &$7 M@=8G^!Q#2_C,-* U)<2^6.*+UZJ=ZM:$@-4Y6[%[<+CY+BY?_(S\Q?_M]N;< MN4.XJSH$^C^1O^+'3S\E:YBZ[0Z&7T[\?;3:H!N0:%7XL>3?1.N16 [FJ:>\ MS,R7S@W@^"OUM[=U6HX=B/4_/1J("@O_9D%2WE7D YG\,C+L?B5^,)#9$<2\ ME$&:]AO"!+NPP($:[!43<+N!'*/V!B166"<%8H"B$<=+A;P>"TX(LX<:P'!:;Q\# 8%)/L"QVMT%%B ,PD(X( E@\6E03S! MF%%=)5/:[76)]4#EKOV)@:\B>0E,"&@^L#NH:OQ/J%^H(]4 MVLY' K^=Q" RI^KYS.,:R:%#B@(ELU#_:4":T2-R$Y! 4.F04P?GC7MKQ'&H MFF08+.EV2!Z_GV/0?X:(2=J:>_B[S;+V,U; W4*R!?:D^%,)!G0%EY#8UG7- MTG-B=\^D(W8Q2TSSC6;RU9Z#Y/FB_62%GA89.@DDNLY)_]B)^2)H#?)S__;]S#ZT?K3H#Y(]D8B.-^CD0F6 MS=37L#8P'CR8LJ89I$D^5NY@='".!N3JB;AD&*D\&:GDPTAE&*G\X$AE^E61 MRLQO12K?)_;X)^=>B]@#%^+X]QM9T',06U](G!^E81W5)^RWVQ1MN */'$6! MX)<=S)!]HA=E4._&K] BR>.>')[N36]-8MKOGX5G MH+"\S;#L=LOSKK3QO+)DGUZ?4"^X$FB"%:1$_P*WH \F&)(Q_;(6&M>8N')O M@E@/1&G&2O=.)@5X]+-W.^&Q!W 2[&%):$A7-;A%B(U#J8M6LB6 MH2=B,!Z.-0&L$]&,+W*?(QB8GH>0]&$&M+/+E,AZ_::TA$AR(AYN.">9DFWLU'$$:;03#?]8*SP?$/?ZG^[9,Z8]\%Z6GJ M-A%2%W!('=U\75-+G MYWO0^H5 _@H):;CNV@U;>C#5E53OLJ8(_I.PBOEBK]%W(!V))2>?=$9 )C"< MJR\6)$FFP^KVM(6Q6?CKIWV#]Y<(70%9;W;O1EE/"A*G M*47K7NY9 G!B8/0RH,71H MB#N*K8")Z0HO4LXC2IHX93%LRHBL2!B .Z6UC^[4KLB,[M_#3:+?3P#!VREK ML>AWXB8-9+!:,T.B[%6#,)C)>S>'GT4H]*"+3 $040S@@=YBA 6%UQ<4VNA8 M!T*B4KI)9GNE;$R+Y[?\]<*293&3/W8%G'[NT[0T-_J;M.X-))H>"!:B<:"6,2")+ MH!)RE&X@2H+_)5V*+'J0R\\,Y34P(]N*M-VB+]*^Z:]RK]TF_9UH+2C5Y/T^ M1J2"T'WCU.AP$044UY"QB_N'.P^A:PK*M;I3R( 3I'1WOT6L*C@Y:]&L!?L M:4'DFE<&TKW;7I]'S$(^O(%B[=7ZX9U:6'WV8,*L,]]RW[]&PS7:#Y1>_\(# M_)^"5-#PW&N56!'[]XCCOH8NW89GA/1."9(GKO>D-ES4\P82&3 MWL4-F>XRMOVQ*(?N#H9J[!5>_*;\2Z(QG&3#68 M0_L2H$($3B97B_'OAD>L[[PG=$G;)^KU9)BD75(4UGX]K 9^18P]'L;8PQC[ M!\?8,Z^*L6>?GN-9<_P"Q6DY*-1\(;HOZ[R4<"L8N_%.K:##B9FUKA_&O:9L M@H*=/X["W.S^,'+G(CG]6-#YZ.['O74%&FZZYQ;U^I"X'SUYO0Y?K$/.&M'Z M$"^?.Y &'[SX[]P7N#Z/M9(*N>]X"^38.M;'2!T4Z!ZT+[','O?:P9VR#)>F M,<,:JM^G3"2U(\^^2Q")I0'6*O85$H)3<>'C2]Y;,4#Y$9G&N2)^-5+QVA>W M3S7\+(^7EC:<+:SR4+Q.U/E-M59H?(:;O^C.H#DX>O\KOUX>Z/-26?P0DI_. MP@P[+!@ MPM?;_:B^*R=@JHEX=.OC_IS, >TY<@+7B+&N[*3Y.0T?;KYU1D)(F$%T=@GX7L2=.+7=FF^_B0'MKEP2,H#N)1H,(:T,PEH5\&&=UXF(U6@21=)]EJ@ZSP^?%BX M)>J5#N[WH(8L&(-<*D!R9V15=TB PJ*W5) .O"7X$ 42KY;>M1;[F_8/*=MU MAM"5NW5> : < X1FE[I@\;3N%P #*W)BJG9%CW=G2/BE,^ M5>Y5XL5:\<&R'EJ?(4>NBR3:[[Q&8ZG[F_[HNU$PF=XXV.*-_])S"(G!P0[UNM$/R=&)TN, MIID[-#L.BP;5) -3">6ZZ;U&7=5\ONVY<@./[+?V]RM1Z=I8OAR-VY/[*JUC ML2M&)J8A@D5"T@!HVHI_4QMIATM2B\C?P=ZBML'^#,[GYU:3B\&B8N%LZ>:<,D(4LC!FU,G>^)1Q(4 M@$[/T. 8/S=!F$1)3PC:)]9+^.-343?/+PB]O81AUSWN9?NZ0G_OBO! \-*? MS6WFHYK6<<*UWVV=1#P=57:M$@\D1.[GEZ:J \1RC*,PKWBL0F&9BW')7S%" MT9#]S,W:'"P?E@SR2A8!6K\*SNRWI%W@P\O8Q"S)6"+*!U[3TAG225\1+*D" M!!!U?3@^%7B7WHBRX145!%XY"*W"0SX@"%'!D,'EX2%N1$Q"6#]@^9U1]V8? M6:5I]Z0F4?23-]U3G#J.?//:[TOVW0K[3\IZCX\H4$]1)Q75\42,RSU/G]%( MT /D$EPFR6&9O$>NF)C\)^%6.0D+) BG!X6P2@NW%ZS/ADH'((X]TE;;$RX! MNTOVAXJR7!J5V),TO0A_+4ZGT&F9IFO[$E*<@*9[/';P"G9O%I.V&("N)AB/ M?BZBJU)"0J>_D$!GYST#$KRC+A,2X%Z**,5RB#:\-@WO/GE2:;'/MZ#)TT-/ M]ZI^O&8-E/D"7GJJ!%#/ F'5D#%?NBX69(SS\50\]X\???SY7PKYWX%WR%UK M<(B3+T','FV0?.J%%\Q)?6>DPLMT-5@F-0).U>6>,LOZL/C=@"A][&CR/;M. M J0YNV!L0@O?X9.@ZY')^F!YEDMQQH$W=8^J?"0>6C67FQ461NI/1^H38:0^ MC-1_<*2>Q=[?-V_?J^\LKW_M]!@DR@\]83MY&%1'R>J]E.RF4>;]RWE^+]W> MKURE6_OXY-?+..]_V:W3ZW/'FMX>Z&F)/1LH>$4H<; \=0#20Y8>T>Z=7%Z0 MDL[KMM@-7L]'4UM)Q;],"_])0#28B$%+;YGMO=^1V RHPB2$*'KW/Y-*;%G& M*K+E%4%;3Y[=+TIB^YAN:+]#12+A6$'$.HV4362%;(9+"LDTGQ9$A&5$.BO% M^822$#/)Q \JXN@;?4GH/S;K%67>4P9Q:]?@I8SNQ!L=D#&'3]YO!]>M;.I> MX(9W<13KC^(YJY<7XL=/-M3"IE40G,Y@59IL%M?U7N[F9HJ?3!T^N347C4+_ ML6ISSYTO7:D/+23(7NZWG$LW[E;%+=83D\>R&^8#J MI77/Y':3[9JU&!6\VG]50ZW>Q(W?PIK.XL M>S!HK7,=K;@JB9G5\C:?PI1R JO+6JD_:/3ZG.:,=JE!R=)+XFFLQF*-:[-C MK*O:3N0+N7D)E6H/)[%Z5]0;JE5:/7)J8F9L9&'\J#F=4UA-YA^$A^9-L5VN MHL[6V-UV[@=2_A165QUM>K/E\8YB2)D;W42FD,WE3V UF14G7(X3$KDL$I+Q MA"+D. D)&3&N\!-.Y$5%.AR[RV6JRW)QE.2*A=92J-;O;XS^YA16)^/Z1"EW MMIC()K:PZ-AF)74]/855JY)P$N-60^-Z_=@L/4"K0EW+G\+J^CJ>CL7CO779 MV?%J*2?PJX%YDE<'G=S]I%*)&=PJFS?3C_I2,/F36$TIO-7?-3K#;1W?5)I/MZEU9Y6;70S@_Y4O(V5 M8Y5[C7BW/M%9]5ET48SW'6I[$>THMKC*BE1J4>[EFX:ZTLS,=H7,* M[VHG(:-Y>[3B4&J7S::5?HR_.8EW:W>W:M1B2TL35V.U&VMG>.GF)-Z[H_M[ MO/S;C=;*MA93J[G1U\/.*;S?Q'9*9E)?&EKU1BXM4M=BC'^8GL)[IC3)CBO9 M-5].R\W$TM'%BH/E_@F\+^5Z*SU;+O):;)=VJLG'3+=3.2FC"]QZ*][U"YRF M=D;=F17;\:EJYQ3>6\*LP6WR]SLMUI=N:S<5KIOBX,FC'<7:CE"=%IUM>34R M4P_K*B\G5GG\I+NC,U\ ?JS=*^W"X] <+N^T^:"PRRUZ2E<8G"&D.=F;8%^K M3USYC;(F%Y'O=]#. WS'Y$;2X,VBWL6@<$_H03Q"MXS(B7Y:M,35N_XWRAIU M1@,7..R.VM&3?+- (]%WI[&2[^*&E18Y-HE,5I MBDN(V[DQG!_6>C_W*&:T X($:'JW7T1H.'(OB?N)&ZFM P?]9,?NP8!ZI072 M23=,R$FQ,,BMOW\>&P3+TU;]KY;_\KTFWH[=?!<-=_42ZQK>A"]?:'!0L+N. M,.*U B>8+BXM]-/]);@H\!NQ!8'W1*)>%]>'2)Q4(N8>]P/JH2*?[#FR..)( M"WJQ.,_[E*7.)]MTU\7FX^F>;=DSJIYQ,Z8R5W'^/T%PL>E B/15*AYBX@(P$0JF2\!" M*)@N!1'IJV0NQ,3;8>)_;!.TV#] R2^5V(\#1/85@'@_J7S1^\7F$GSXOS]2 M/WYW[[FK3-;-'G 3,OCE%BJH5#GBYB6\(WRRO\ZI>-;/>1">>0HSRS8+RSX\S3UQW^7^OGL5?)3$S\XX/;).\3P(883 MF<^.XOCO2K"@N KF2DH20HKRL1*LY/NYWX9:S[VAWTJ:? /#Y=S[_N^WV EU M29QA*P%6)%[@8.PFP>(W=$(W)E(QV;T 4$9)(B(#_(O@UH\)@UY)J*O91K7@ MQ*^U7D%7:BV1?Q!;G1^OBJ.P2(EP*@37@W!#D48;\EO5\AX.?M&G"5 Q$C_[QO5X M5EX5B^W:Z!&5ZA,(Y"9^_)O,1;/)E!M'<3'P1L?8J M5DDUD63KN[Z!A[ @O8,)RNSBN3CW3AK65^>S4-CXFE@H;-Y++7M2V C;Q$.N MONRD!^K=8UXOW[9NXYOIF87-JG*S$[9.LU[NR==I9](0KX7M% L;K)7EHEPR M_N9*V5GM&9>P(FDR?I^T?#+=A-/03'U3,W5?R"2PD)$-!]((SR)KW]+T<^'&I<:QS\H$H1O]#4N;_?;>RXC?.2OJ6BWKA,EY=!))X31%(\FUY M_#4U3F]45F.K<];<+EBL?U1>$Y:1A$F18;;V]\!"F*U]*8@(RT@N!!.A8+H$ M+(2"Z5(0$9:1A&4D7SU%/BPC"4OK0-%=!9DNI&H;<,GO(7*L2VLL[*RV@/VSC*/=>E/KM/G"HX8*R]J(EQ[FCZO.N2-KC]9M99=/#+3=:&CRJ;M9 M::)L: %)*AGEL\_E@7\9@7$&+>Y+B8^PG.2)O,4W%!]"3!1Y12NDM/1Z]2 6 M:\5MAC]WXDY'[^0G"M^_T=*W3K)=V^;7H_:&E9&DH^G,+P/SEUU&TH*KSM]. M2_H>*M&WS^D."TC>4;4"E@R(Q?5NTX@/1T)F,*\H):&5;?#MUKFUJMS:Z%<3 MNTI:JZ\Z1E%H+K5E+D^+1G+15/:Y/.[/*5_.IT%]>VD35I"\HR9V(&TRSGJK M%,1LE=N5YKW,.YE3!36>F;Q5H9<,5K#JV&TXRIMSNT:B013?#/5:A] M0@=66#429H6'52-AU8BP+NKS^>TPVRC/E5E*C_>O9P]W^>]6-7))OJNS.3 M%TOLEBBLC0@S_5YQ=(8IR%\*"V$*\J4@(JR-N!!,A(+I$K 0"J9+0418&Q'6 M1IS?Z_)YXWMA;418&_$5>"2LC0AK(\+:B"]>&T&OEJ:7$X?AHC#5.:R4>#XT M;)FVP)CF=#8-^Y)ET,1F\:)L&^.;0;%I&(6FW4#YY+GS]>)M0^7S^6H!6V2W M*MKV^=A=PZV"2$3Y>%@%$8J&L KBM7'@5XJ&02K5ZB5XJ\_-.^9CHY7L3I*- M-!XMR1NIGFMQ '95:]\9#XU:(NQ4.J2B7>/N>S!]*^PV,DX6%Y[AXW?Q2 MI==73PW\55CFJTFQ5RLXE(7<%&%MTWD8J#W^CDLWFY-NO5JIIA;G3I7;);EB M4373CX/B**V(5KT\M.<;6I"0B28SZ; @(10';Q,,^6KBX-5*S;XXR.N)>(43 M$AVNE>'XRJTN[I3ZN<6!R(^VA5*B,AP4L]EX.M43[D?-#:T8X*.Y1.9K50S@ M,;O&3M1M-73I?"6[[7S%G=_9RGNU?D1YS[T.T1P*C6Z>+W;+XK5M)R>5)9K5 MS^T LN7^@\%/E3B7+MV,2[W<3=W,=V@I03;]7N6:%\4_H13Y:!WJ6TN15ZM5 M!U*D.UX.[-IM56OIA=J#R.>,X=G+OD=F7LZ.NL4M5]4<>;N[K[>N!^R:"CZ: MY).?VU74LF?(?-M*R^\H[KY]P7K8'N,MXFGYA=BQJ>$5DVIAL;YE[@_UN8 MGB7\QV:&]D?".N/2,&TV$LPC1G1Q.H6^&**%5P8+%.FBU06E3W+=JA59&'9$ M7(NJ3GIDX.F0OJ-+\2<73>3O8*;B.4V0-!';1 N9K.WDMH#8UBH#C^28^&D; M;\S4D W@D4GU(]YWC;Z_@ZHJM%=5%4GPT0B+K0)P13U MWY?FVWEUJ"SU M$Q-\7YK^1&VU0-$VK4V'-EALB\_("?F&,L/"M9TE2RW(JF M*=P7[$)Y%K>:"-XPS[]Z0-'L05EF0@YB(2%@53!&^YXLL5SIX .R$',:D@=8V_5C#8 M]H09%87B'&M(-A6$5-3B9_$@51&8U@D$6=R=8B-MH3MH; M86"H"PE/0R4DIEL3S6# -6)?7)VK+=,0^?SC[6"RBTR1,<5*Y&RW?Z29:$K. MDP4^FU1I%C$<$TY'8 *-"B5 P70(60L%T*8@(NVZ]+2;"CD+?*XTH[+H5=MWZ M"CP2=MT*NVZ%7;>>1/&7Z+J5;^>+83K*UZFI"IMMO5\ N><&@ZHLK@(P)9%" M^#9OJ6);E%1%E=R2 %N9V'JRN>)BZ7'76@XKNVXE4A$N=Q[=:0X-V>$\B'LN/6^202OE0_*X*;+9<9+OCQ71B:::ZG=)* MO46$9;8>SG9S-%I;=>AC-?CD(Q M"O&LM&J!&&>7VYJJD>G6I.ERJ\RM\8PB"V::U)H;O)#OSC>BS"KD7 D*2UI*WH,:'@?;,-BAXMJAY^:U28$!65ISOM*1*"IE^H.?T]/#U?CV,B2^\+$H]^8 _ZFG,;?G!;^/D5K M%X&.9#>$4[Q&*%H,9!89ISTHBGR M7E#%"\)I,O%27<,(BB(H^KI"7[?>F/N!HO=I=V>@:(V3F^8@T<.U#B=O"EX] M+P#IUII=0>?I62M?JVH;UF'L:;Z[R"AL4 HL_9 BO[/[ZOH5*'XC>-XZ@_IJ M]W>W7MC]0-VW*"3!S+G"ALFH4ZX_*A'%14(;EL9L4*SKJH4D(J'_&4)_6H#K M5PO]MZ@'46F-8[@%A@)7\'"ZWK5UK5!A@QI:=U(/XLJ9A^'RZJ[O-;S$K)_. M$;M=%8O/FT%^&/E!=+RH \%":##]1U+MA2YL_O@,L$NT#"6?3,8I^IAZ%-(: MC^/G#YY[]+"8"'3]GY=TW\M&X+\2B4F?/6A2"+P('.[LO["#O]$^ MG- ))<4>;-51TFOXL^.\U]V'KV1'A&1VS,4?DH@SQR1.$/$D?4+EJY@AU".0 M_Y^ 32V$P/_=;63/0@+Z&PHY1%;]G\-@RO C:,KXZ<>FC"$H1>GV>QD07I># MIUM];@<%'W#'-*! BI"38R$MI<8)B@+CM "(,9T4R22=3*484?XK>*NP@VAY MF4\M62<]URI\FQV4BXVQ87GHC'DZTI+J&T7'%X"/ 88O"*UVRC1:<"3]=*1@ M2VDGUR>Z.+F>N61?TA<3T1N3I\]TBG:LUW=R68[)&=RP-$BGN(H"1YX\LRM4 M5\7:J-G2-DYG,E]*;3/%ML;4&'\ZLF4L:=?IS$9X@>7+N7Q#X\L C3QYN]AL M+)>V" @\VRQM%K'DHCN9H&BQD[) UNF:QXVLR<5F<6C$RF[>(?%!8MU)&V\1@4F3T;JF3PN M6[0RY"K3HL;$ZKVRJJ.1)RMB[?IXT)QS0[P 5# 6%G1S P]AYLF*QFE)$E,T M5!L$RF]V1 5Y1RG MX%F^%UO,7YBL\F8MRRQ^A3$\?=53:3W]+#M4BRYSBE/=WF M2CUA(FL@EAYYWC27TB!5SW#*4NAQ[-8H='EW7D_&,NMV1;?/GD>7I;;]7Q^<2;XL6IEN\W6^.'DZU0?E3;I-QMB9 M,DZ=CA1(=5.UBQF17RK:QDHQY1:>:8W3IR/'&[9;::D93E.U6F;17=9&H@#I MCI\.;7;*T9:>I]6:-K3*LMM#0D[T'HWRQ51Z7!:ZB+M8K$LJ2P,79@<4)*R&1% MAQVR_;-,S3"+6^I#RSC%U4YM51HT$*?$Q;F'W,G0QV\DJ MYY@ZP5L5M9NG5&Y3'U6'@\XPW2/.,G4[XPT6+:E,:\N9-ZFV5ZW1J,B>8VK- M[5G9AL04<& T)Z.,YKABQSO'U*#ME'!ERWDXD,&T)M*U[:#LG6-J=P!5B38S M97!W:X(-H#A9X\_"7[F82N&\3DSYK)@L+&DA51O&SL)?KIW-9G,U?JIU1K&R M3'GKQLH]R]0<1!::M%! M59X7\T<2<2Q8OWR^$91J!ZC.YC@ER,L%G%#45DD85_SDSZY(!;5['M#:' M)LK5.4:< LG504/>OSX;U*?SM<93;I$MHK]Z $A$VW0DA(FRZ%T)$V'192KPS]N=5O?4'7IV_AL)? MN^03\_2C57H^7L6"BN/7C?_Z;)6*-Y7>B?@AXH=#?HB0\/:JO111^9ZI_+GR2R%JW3I_I"UX&.I[8*F";E^,96^]JAOD>_AVZ:W7?9$X MSL"P^U7%55A[W) /+X9P!L?=O@CR6G]N5@M#'92X$?OA4,W]M0L4M]I.VNK M:QSO9,K=:>$I?&-FN46:20]64BLHE$2DTM>(Q8ZD-Y+>;R^] MY#B;=56CDYD0>(4O,WJ+QUF*_V+I)'H[/9+JK;1.?L+F7:4B2B>NI 9$P1L)X)\)XO2/]7<+H MMK26Z,O)3GTZQ96@[$SJ@4J_A#V1R$8B&XGL%;6(9T06: H8==T+5Y\6#/FLK57+B)V]Y?XV+3,!122#089!>.6KKI M&:P/<#;.5Z9"[J;1U 7#80UI/Y/3),@9.2XKI&PT\4+*ZZ6FJPE9:=Q%$N31 M7H+'O32 \Q/2(I.I>#+]N+VA(!* M890:=@^4B+#I3@@18=.]$"+"ILM2XO/=VN\L:^BSR6/70>KOM0>7R4NY;MN] MNT^HC/CAY_%#A);? RU/TO%>)/WSN7J3*\G!]\[7NV!6YA>SP1=F97Y[*G\X M*_,5Z+MUL%)-,%Q9$!W70K[HO=?Z8OQ\Z_7=Y';T#M9]J?O0V\33WF/))/232UTKWN -!B @ H!/A4!< @#6 M3-5C$E:)XV/)JLF1HUG"&GZ\1<^[ :!9J<7,TF!LX8V,5!ZU90FW!JT@:Y1@ M'@@*OT@@YCV9>:CNM O5//\VW@".9UK:%?2;7X%E/WV1K[G1?QBF?4RIV0G4 M4VRK=5UKR73!1[6"Q%GB@7@QB_W'>'#RK@4YP[6 K^G(<)=1KY'(?OOF]MO- ML/ W6WL?TXSV$@C'Y4/Y"Q&2D)+R G5XX56BUMC*61'WF*_T_. );UFC.@/- M+9MSBTI-V^M1*TS#)5Z*IX]@(X*-"#:NJ56] !MC;U'6QTMBBO=+.L@6ACS1 MR+>^#C;*E)G8,/6ZRY$$V<:W(+6L#79YNZGDCW,6=4S9\00+1+9A9!O^6MOP M8\K/3G3@L-V?.; "NNG_(&O:S@[4*L:@PM S0\ +S7::Q?EAO=/[0D=11JOV M]*(Q4?!L):/G"&623BR\,"&8?*D??00&$1C\,C#XF$KS=C!H**F,UADE9*XP M; P9N^KV6NH7WHCIZ=A@-$I)+7S>7W?7/;,IU1@V2#5.DR]50?XQCJ,J$&PP M-74)4^<+RUSYS6LCQ]$5+,!;ER6Z];X\:R'>>F/N!FX_IGOM);AT(, AP/*R M(';44J?&54K-V=!8;+,,^$* K4^R^7QW[A@XF6TR)B%H,SZ)^M&'!>!>*FH9 M(4^$/!'RW+.B]Q+RY A:2&U=A\;)!9O=%OE2)DM_H?.JW\_D>PDG7^/[Y=YL MG!]U3#&+D,>_%4PDON16\-9UZ!;/%"-1T*9%EFUDV?Y:R_;B=>C>[UT71T:[ MO3%IKC"H-589MK*29':<\E4CYB%!7JLX[B]@YDAB?Y[$7KP,W;LEMN0F\T!W MJPV-<D%N"[VE!R46J13IAQ3Q*R*-JL"V_V""*+IS5Q=0,3,)+"RXQ7X% MN,A\B\RWR'P+\/#O;Z;"L(\RG3L0:?BW#M ?$"/9N0EIM_4_?Q8_ST#G:)TH MYJ?S),MWZAU]4,BLBHL..T[[R@[YD"1.Z_#^.X*2"$HB*/D2*+FX;G5%*$DR M\P5' ":/,_W-ELL-[.UTH4 H05H8_9"F7H22'^_:,4"4UO8^E+QUH>^K)>S> M>F%W8SI^G;/G?$7S6";?:XGF-*'U5<]*EV5YTBJVQ@2.U!\*:C\OQ5)&,AS) M<"3#7^C^.2_#U*#?'=9:]3K.\.Y$B+4$M11CD0PS2(9345N"]]?*/U0-?3U& M.- ),;!> ,,&F!14)7*F("A,M0&"96, OD/"=A7J,(IXP!#2^X]![()Y@HW] MSX5Y\J-]#@Y8E'X'BZ)0N8;L]]A"L73 6JDBL#NF?J14/]&E][S+!+Q;%RQK M7%U.\WD3, JO+D?:HI]=V,.4!Q7F.'G"ML$N0_+K.[)<>QO)HVTDQXSM%#9R M15YRR_)$S;<4=S:3O3O8QF[2MLN$LAAPE42BU4A,\RM04- VGF:88^$./F 6 ML!= 1)5S]4W\3EN 0(/-Z"$*\UOH\H$6'3[R)$A$WW0H@(FRY+B7MO+/W\JE/O M6/6W;F-[O.03H_4F#1N([]^P(>*'7\IZ MS%?]@;2[>+M0@MAMJH+=/BSA#M9]J4"$V\30WDWHP34"K=$%44?0!4L%=M:U MK/.QCMHD1N7G!;>L,;5)0F]9/9O9ABT[J =%[L]'^K=-:'1*+;9W"2WXAR0UIRHK@8>&$/BM1+546_I\N@ MX4R!%=D:E[+0O9QH!7]H@N?5Z[P:R+NYD\$7T-)KV><-EI=D;N]T7 M8GRG7DWIBV9N.QYZ09<()GD:)QZ)?R3^D?C?F\;R8?&O+@134YHJKKETI\!V M"RE-J'A!MX<$\Y+XW[O7XGP"M7 :I1_93.^"KUOG)E[-;WKKA=T-*EWKYN-M M@)3C['S>( _[YG*J+6U:4H-.S4D'BCJ6K6#(_F-Y/>'R.^U;D'>)+]&MI!Q MS**^X3J4K>?K>&K3'7I!Q6;I_;CJ&T]F>RVLD'?P1JP"L8&PRL@>BB0!TD^4AV M7*3.6I9@*$$);LQ3G2DF8*)K0P2$SX'R[3]!>FS#@O)0!:S-YF)%"#"HG)#D MBL[#+E$5S\XUCU8CV3"'35,.'PJ6 #STV$!YB.GC3DF)KM^8ULK8"8;@XNQ MS(V@(_@)GN0$&OWA%J GH65_=>[ZKC8Z*I;>D-G'*?F5TY$_>=P6)+0/S6#+ M"7:W?6'E=*O:28S(HM3&U8Y(I*2$-Q^Z[+NSWWW7M6_J9!%)X8GHSQO.:?>^ MLRGN@T7.Z [)?H.K)-J+>DK5UVU3^>L_3/S4B[U+<4OAK]!0@U79]CP/$!G^8/_*<0579VK MZ'UH%<"'*]-U@AD&2WF"(V'-A@=_04>O$04#O64"#""K#B;#G_L#3L#)/GH- MJLB@RJJXVP7XPMU+=@#T#)#!.=CH>X14-N0DRX10J:+040DL$'X;X@9.Q_$ M, YG8N_G_LR#XQC4KJ#J"J%7WQPCO@3@X^>J$7#-XQ-]PJ#E[XCCKS&R!&TQ#-^>3IXX)3P_1YY1D^.41;GZXAIBZ@7N;3-4+;]Z%MHH!7M5FY MP'&D"JC$IJK;#OD:VJ+*-H*NFZ+/MJ'/2PF EW_ MYR4'X643"5^)\*;IT_Q ]-__.LI^W'NN414.T_JSLR0/=BS<"=(W*A40"Y(K M!1F^\8^@>\+&#I>73,>IG9'Z9V^,4L&9@CPZ_T_ IA9"@O_N-K+/ MJ_H&XGG]2-4//X*GKU]+!8)3UO2+HCP6MA$.%A -!4#_M#>:=+8 M+N _A)#GE .4-(PYK<,34!"B3W;N;HW;NIAV><#;^"XY:N8$$Y M0\^ QP(1SOCP:7!MJBFA\PL>VN&TX7FMBDA[.ECWHP)T-!$+55BU@'UT*L/5 MS 4-8 ">O?!T0"?\9*=?A#9+L+3]2N$O)N!H?\)W/WFOKV:HOJ*(%JW#YP:Z M''J-I<+-\Q_\R]5L^%K6YYN3*G#'VM,4GI=POCKXZDIFU 7T$]I80^8K;3YA9'OS]Y>4\_63C+\)V9"Q0^?,6;TDUR\WQR,I;>&;D5U6F5)=2.0] MI)<\7^AL[V4X+T^/YO^QS;/7S^,8OQ]\!"^0PB$$.'X]M:>TW2/;]>G[M+K9 MY^G;Q=WJ="X2,TVHY1I3HNG(,GB__KEST(9$S4,S:$?G/E3KLZ&YQ*U#3&%M M:#] U.X*Z[,,T%\/Y[U!7F:Y&%@Q_'+8Y,L:5$SQ^&FHZ:$;8(?/.U[8>;40 MC)T1TZ^O+GA',GEIFFU9+B+_ND$%CX= MGIS(3Z458J^ :ANZNG->)BWI"A+Y;,O4CY.S868KB4*IT\ [K%I:QG(5ENRT M/E%N\I2&NPN3S=/KDD/Z<9OJR.Q.ZQ-NGEW6QQX^:!.Z+W.G5R6'])-V[O8= M(87SI^*QUS502GR7T1Y \GBD6 M57;)]7"R/F$;3*;=$ 2?>*=]W/;$"R7LU)4"*;AW1R&767BD^@X;:(S_6 MH7 &.JZ/J8='L'JB@(J0!73@[+7H%ZX>$I&.>5['))]BGO1EF'<)MY?9HKM\ M:9L6N,94U)HI?BDF.Y\IL?M!S!/2@,2Y3#:+=PH#MJ4GJODNSKXB-FB2V>7<^R54$KKFNCA7(5?C3D8-5(B;9!4W52':6\U;C;+,Z M8A'_/1V93/5ZM5*R,>, H):I32DV:W'LF#Q]9HNN M%3CR=)Z#<:+7FZ1:6F,]!?C(+&3E!DIA/7GFG3DT"+$;6-/1N@9JLG M(]6J)A;8*3'B*O72NC*9=]<2A=H+G8Q-D MZ+B\S7>8SK3&D7*+9\36U)RPD)QG**\)@ZX-$NF*MC0R%5!> 0*/*0AO3H8F MR6ZZZFJM#IZ=CH>QA;XB"[D6&GI"T2J5M49:EHWQ\V0'E+*UU(;H*N?XJ:$Y M;%Y2,E.\DV+9-8NGNRL"/G1,G[Q>T#+-3K+*:'VUHU94;[E.=+US_,2#3LWD M"*.)JV;/& Z[JUYRB'CTY)DNCE?4)5<#FEKJ+BB+H(CV4#G'>:M).F.O&Q43 M[Q"%1E)8=6?)DG*.\_IMB3+$RH+'-QTM/QWG8DQAV HR)X]'"M62ELLG1QE\ MV>S4&IPT*L:*K2"+ZWAD3LG$Y/S:[6X]4PG]00DUGEA7.CAOTXA^A=J_K]4JHB.8P=[X9L(1[NQ+V-T?YT)JD"P MCYL1W*"D?V/A7^@B7[P_G5V8%-(Z96$"N5<(?).Z, F\6J8L(T/.CU)%]I?J M*S^"@ZT$:*6YMG\S8N_,.:3XI.-87C5\DRU\27 _@XPVP3<'H9+D?_/X/*@) MEP6H(5D;] 3ZR,)'N@N1_,<.?W,0""&9?M" ?].@HA8?F\>+!0O8JH2LR2 T M0X'/1J$A0=C5X2@'+MJ_U!%-J-\)QNXZXEHR[7NP4?-A /;4@$(=;!G\V^>3 MO),$]S0F(N;0=?\^,R#J0M@$)'WTLS^EOKEG7<26\C&'^0$D4$2J?E(%_*)%;E\&YVO0_YM6N:7C1/JF56[?$@3Y,E/-D2;ZT4*W MKXC.K6L_H"NNBPG$K1=SBTQ2="3=>MT7R1VE;K64N\D6O6Q-NS>;ZLW0ALVY MH YGUO40D-?@-*?VF:S24M*L&R;G)'EA1I0GS94R4D>M,8F\C\1#@B N4JCB M=@?^68BBO^F9?2,\^NF+?,T0B'#IPK@T!(+5]X MNAG1]JA(]PK]L.8P!#?J1^I:R4C7BG2M2->Z*2#E3=K;="?9X]6AYHV3?N.:TR2?GZ:QG2\^?1R]%ZESD3H7J7/? M#_K.H%VGV>*-:6W#XRJ16*S=?*?&SU&B$6JB\4!0/TR1>XIN:!?_8.I\X= MA$B_N[Q^=PAESW=D&362%M?"V0H^'XZLRJ)2S9:W"BI#X5^@$NE31/NM:ML# M9@ _N_L)_D7JW.75N9OW:_K"9(*;K_6'JGC'$%@W#?%9%*QWP3+1F*:F?*/' M,PEO,L@N9;_"3M!8[@P*WDECJIL5Q7NF:L$CK_C=1C'5"(B%F.5);?&P*L'_ M=UB/X 1T@\X&^VH$?[ZBG@2<0LL5#$=U_)S7@[(P9RI'%* P+\:BF&TJ:R71 MX&->5^K7-XI Z\J3\C O#1V3UZH.\UBN'X^_S$N/OT1?OI&S?E,I""853T6E M()[PRJU*020C0MP!(0@BCK_8N3FBQ)>)!!G1X2[H@$?0= ^$0- 4G=;W0 D( M341$B,L1XO-NMUKQ-OM$\GR[\)/USW#NU2_(!*O5^ZGM#-0>ZR['"G&/A:.;)O4Y8KP,X; M7D)^5I8N6LWMRD!ZPC7/4_H:B/B]J4Q>"2EO?0'9]Q<*I)@ YR\HAWVG@HL! MU/(:^QNU"K'_?3%LO/6JW\3YG_+.W778V NW.6^^'CRX$(2'B?A'(A B<53]$4LEQ-NNJ1B&TVVGKC93322I-.IX0='7D53BJREW!TKW][3/ M3E2,778#!OD-? =[ZU[0ZKI^IH]!TVMQ20O7 F->D)-\71HM>*:[!/7$5-RR MIO?IP*3$.]KQO0AON9 CVY AF\ 2#T.68N0>Z:02:Z>2L=80!Q6YU#--2MRT M4;A7XI8NM8=XQ5X^U_?P9B]%Y'\ C"]&Y%\7L6XG4B2"7UBK^T9A\_= MIDHFA\QH1J#B>/151?+%N[7KRF04^_BIV,=]1Z:C'DQOB7\\[(/Z:ARBWRXP M"B>,P@E_^+UX%$[XW0D1A1/>"R6B<,)[H4,43G@7A(C"">^%$E$X811.&(43 M1N&$43AA%$X8A1-&X811.&$43OB4:Z)PPBB<, HGC,()KQE.&-2- ^\-41+2 MS>VD"1H3'N2$4:>*EY+UM1<$$\(-3D?!A%$P811,>,%@P@_*Z7!1B^6J-;'% M"X3 Z9[5:V59-@@E)*\FIU$HX7>QS:)0PBB4\/:AA"^ VQNCEIQ\:P*R[:S% M;\:SC)LP:ULV%P42WJ$_, HD_ :!A)\72#)94W1[Q70UT*XW8^O1NC\N>[\J MC/ PO.UNY.H&@80^%T'NM1T4 FBAV,% @7H20!A\^*2.HHUYP +8_URX:.?3 M&HOD48U%"938PNE8M'UW\6PM,7G?Q8JS5'*Q3.4'KZ#P^ _66 M1I98Y$XXU__VR0<8Y&,=;,0Q /I6PPUL5#"T3@[N&_B ?, O8"R"B M:W)]$\?.\.LKL:X^BZISN!U06@1]_ZNWO3\>8,A30\R_VSZXLA?ANRR$@=-_ MH)*^T(7-'Q]L=E&AH>.63,8I>G$4Y$JA^-+C2_V#YQX]+"8"7?_G&=R]0EC M*UY?FCF][4?__:^C6(:]J8FB;$WKS\YC?;!CX4Z0_J&@@%@0*N'WZ?PCZ)ZP ML[LO["#O]$^G- )1? >;-51A&[XL^,@W=V'KX1L MA&1VS,4?DH@SQR1.$/$D?4+EJQ09IPZT&@&;6@A1_KO;R)Z]Z$-_0[:&2*$? MF=;A1W_]QR]'BPJ29X.@9WM_6 F'D1[GY>#I5I_;P7-QYMW)>*!;]42N0?7P M!BV75MTR4^8$;XR&$M?:.52:'3MS=!]LE>I 81#/>2&J0('(TK1,$0#$//9- M3O7'%>0M-K+_O/@$Z#H07"U-A"!74.%2#QQX3!@VW&L)AA0A%&S.DRU=X7L M]0UFF XF>(+E_R28@P/EVX9/%>!0!P-KA/)0HX!G!3855@ 3L#UF"Q)$/?@Z M(,MP$ 8Y!4TFP'GT_8ZY_-/"U>%CX%M"9<4TX+\L3!3L*8;"L?SO#G8C?D$B M79*G2I#6@.MF(BVU7G!X\Z)2A=P_:/&!3N(.0AZRY#J?E M'^42D.%)#_]\?!_D^85@.1M?(=!-&ZFSM@L9S(+?F"BYQN=>"9ML_'>=_#". M=9 $A=ST..^ A75U#KDZ?*Z?E&/"[7HB4*JUFT2@*L$UPWVVT6-%I%\_'+\Y MW"+_^;O"WYA_3OKCT&TC),ZN90[Z:+]A<:P+_PDQ69V[2_M@78'WQ!231<\VT4P ZEB \>!9Y*H"^K?+K [[U5&?J0YT$ER\ZIA7PE2G#P7L80VP8[M#1]AT\ M>O/20P1%4 W;.4K/VC\8L0Y S BU(WM/817E# F.&VZ.M8)/0NE%"OC1 MFG:?P75!PP9JY8\*];$)+OB'_SC-)$A:$LEQ:B*)XX1$2>,431-C*4D#0922 M:7)"_14H(,+.G0$(5ZJHDM7C5")-;9BJU.Q#1O<]1Z/-!?4ED_76E6>J5:, MT<+(2I8;%JXX'DELNG8WE6_TN4I=H,B$Q1@40,]DGHYZR3D8CDC@'JZ MA$:>S#,]3:_5=-]V-+ 1N[24F]/"%LUSMTO7:C>Q,_)S8.(<-)DX[B\!]>UZ MP1I4K9$RP)=D=][3Z&J&7+)7ZA>QLZ]VL4SD*]>#QUH1$\?0:O;7>]>94^*) M=D2@.\S#6U/9_]]NWN1!BZ>]ME03+*BQ("H%ISB)$VDL"\\:J!;D!='W!CX@ M8MNJ[;O4CM72O3<#W1EC51.J+@A7JU#5\BTR_T$/?O;N0E!]_1W!^H,_"F4' M _^[:_?3"5EL',QGMRYVK=ICU.SDR>=H#VJ^IV7,*7BL(+:H(J?F$JD*/^IU MU&[KA48\_@6\XOV[NP\ ,7UM8UBB U2W:T;*^Z91II M;K'H>7_]QS!/'5:FZ]AH:Q!9)H+N>Y,$WW X\10=GXP^*2"IH!4,3\=#A0R1 M96&!4+W"9."3\6JN4^H +ZC/4\M.RJL5R3<*>*7AYJD\D>WCC/?NMDD[8NWZ MF3=D),S<&O&_J]I3]"'R0=IG*4@E6%5,IY93;I.6VD)W/!TXU=9?_R&2^ .. MG[FU.+2Y#B\F(!W\I!PHJ%""IBJ44R0K4(U!KB7)5_:@/)EADKUO*/^-#%3# M!O_>?8MD%:E>H8*(+.%@)*(T_ .^9 I_H*[ [HM#S^-SCLAQ M4"E$;.@KHH)O *P M']]31VBDC*%3/LLT""U'JIDF(3T.?40G.+8=0W+5Z S M@$NT9&B)6(ZZ/3)?),@=T)9 1J"X\_JB[15$T0(G _?A$:J],R]]7-RUA,=" M$GZ<@NB+PR=#;HOYCH4WO<)O[;=W0\2OVFEJ)VD=<0HD5P>!I)WK+P7/_Z'F M.I5MK^'PV9A9:\^7F3JA7^O\?][K@([=IVX'Q!DB%/X-@N*5H+O@N7/R+-M# MV^FIB)$/3TI>8'_[A#)=&Y+7_O>?'ULFPG\(3<>I+PV-"+2B.$Z_Y M[;X;A M9Z,LOK3O[UWN0.IW[T ZSD12D(YVX'?O $'$D[]\"\@X\>N!X+?O (''F9^A M$;P]T/W.E<'4CU$&4Z]MP$ONSJ_,)X9GP4U3[]^Y-=G@$NIR"<37/0B_#1M0 M\=3U=^*"?% UH:F,G.07XX0K'X=?PPEWNOB[/P^^2!=XIP!3V \/ZYL6ISA=]),+NHN=R'>VS)N4(DG=W3;\S\5N:NZQU,CA M2J\<:$5^/'2G6N>[E06OJ+Q;6G1D:;+MM";*NT-WT$O^(%L;F=KH8 O]+P7+ MM!_#=:A]CC'5,D%'= L+O%+H#DHD6\PG*R@TE/KK/^0#0UXIR1@I6'ED)>HB!;H?7=&REMP]!UNPT4X.G WW3U'__3C[3!4 MOF38CN7ZL:AAY!GK9TF=.>5RG=#S @UWEH= J M. .5*=F+I4IFG]-B_+B+UQLVGY%0!A@R")@3G+Q,O=R[\K=^I>Y_QY!RR6K! MR3M8ZVU-@]_&W<0=' Y?P]VA97#'W!T=A,\?A&=.P'6FV:PEVOD:EQT6NWBK M*PVL'LIL3K]V GYSUS_COZ(.G">I/)'W_^K>_V/XH"!\2*:+4ION 2NO>CUP M\Y5'#I9SP'GF"N$,5,YI+\W'2%#0.M2X:.C;8K$Y0R43_-L#.GVNZN#/=)O? MT>W!S27J=M<+-U]Z=/]P#W;''3+&[2XH;K[TZ(!][8 ]<[)JS?'4;5>':ZZ3 M3>2'O7[%&931R9I^_60]JJ)]GZUGGQ;J??+O'U7H^\)[=R=[<_6*&(XI:JA" M)+!L;NG"Z=1-![Q4'JM/ SVF\-,5URG-W'2#R>66> @'J 2CQ#HOC O+UEZG MF,8+!4=?BBY,QK'#;=@5Z0NVX\*UM2Y9$S5KSN<0NOVYW[@>:C@5^V ;,50V M$=75=/2@)J6DKE3X-,G&5-FO'>--@8%P71<."HM.3'CNH*HF^T**<8P]7VSJ MX953+.>_T#_#["E\ASVNIU.)MN(Z0WRIINLD9U>%+GWQDO/D>RIU!3OGTS"W MVZ FL#IHPKEP;\[6?W)RXTVB4Z8*^&932E<+8KYJB,KY"EZ/6V_ZY9/VM,*F M JID^C8Z1,7?GRW^GHR*OS\^UR=S5/S]?<7?]_4QZV1ZP]>6*9Y799Q0]$2/ MI!0X\N29=CXW<5O9-,,UA!3HUH?I#%_V MSE5EE3O)4=D1EAM-G3B;3F7DM.FE=Z[:Z:)6EPKTMEW3R.EX,ZJNU\.L7YGT M9&1-+Y VW1LH'$3*8TV-MC7AGQP9#]30JY-E*?):KLQQ;.C^=004HEZ MAFI=2^M]A%=HX[_1$L+?;@G=8_&W).,W O_KL_7?DD2<>K$=X@&@'SS?A,]$ M90MW^[;[MU]'\T]P:"-][]7#,E2&_!?OA@H3V]1=!USYD+R,A^%0X_F49PWW M4]8B0MR<$ 05)UYL2!A1(A*)WT4(*!)I.J+$Y2CQS@B>5T_IKUOUEY76>$WX MOW;)G\UIO])1=/4\]==%!;I6"/S;.V]WWK3ROO^]%+K?G]Y"H]NB#2$LLTD;UV*+&* ,RYN. M1"_HMT<\)-/40R)%7R,X^><)B _MOUM R,\)2(7&%SK-VPI7L#.>HV1K)$O< M6$!:U85>J.3$*C=O]:;99E)LEGL*%) $$I!T.O&0/)/K]*ULA?"V45@)JN[? M%!W$&:N"E#\'?)- OGGB![/CB%>24)@;TF;;3UEN ME5>'TJADU\G"HMFZK3![N%)E:5TW^'G3FF]K@TW%=E < SSMZ'3J@4HGKW?6 M?5NFO[+WYNZ8_L53[&6FU\DU.]/-TI;K))DDD^Z7UXRDW);I)\,MX149)XFK MU* BT^5^IV0KD.GA"<:DT@^))'GQ\^O6>EV[P]N8[4YF0'10Y&IXFJV WYKV MQZBO7Y\X%!F"KQZ+4#8=2Q4=(/ERB]YI=P)6[)J!M/8"/MR=E,N6OEW*1II7 M\YM5/0.8R7AY8[77K62[G#U3)CC##[A1FBM[6SGL,)[&Z8=DBOBY5N%-Q"HR M'U\^>-\M5AV&Z1>EF*OC%6 2W]R6/$PCP2 1([OQ'NZ![D[2#UJWZX)M-^1^P"H-JXVF=I!E M^BATX9"=JBWC#5"N-(8SOD/:S#B=23&N<6-5>[KJ-3J9OM+0!#/5*CJVO50\ M%-..O*FIAP1SQ4/SV\K&C:_$[DXVR,_+AM?C2MVI/*;Y+*.1$WIA&7F-O:UL M$.HR3SAC9I;31SQ."9\R_2 B.3L9LUE6-3F9"X!6^S.@M'F]OR2Y,B MX9M+* '?,$# Y)[J3/UT^S U,JP]86,+2S4M3 SZ0\EAF9Q@.(NN6WOP^<@G MG5<-/S72#\4"$J8:C@G_@Y5= V D3M /AX_?12R=?82PL[B1RWOA6N)4L,'5 MQ)(94_@83?"M^NJ.9%VS&IQ_ )V(3_++%Q(BB:BQ/Y+._S6 M)LXRB.X27M.TMT6\XXE6#*^51OV5AXKOQO'33AW8 E@!C\0QE,N]PPH1J#YCA:!$^\5;Z,=J(H?)]W=S9%V[[M)CA24_GWP! M#-M_:AME@ $I:]J.[2L3&64Z4> M>UJ-Z?RX>ZS&E JK,<7\E6.'FW/'M9@@-#$8-U_HY@8 K&2@V&AU!;"F+ACW M4WEA#^>GU7TP03(7#JK4-/45!R:L?_5D+=C?^^_1/_^-Q)J%!X >6#.D+]W0 M&'0YD&*%9PK?'P#KFO_\.1N7NC)$A2QLZ_HQ%*8!135=@(9 MA^^$0Y'H84%JIJ$@Y>AH"_PU[JLG/Q[0?LH:GZ M87J(*=0]R8/S/@CCLQ\P"(DQM"4NY)C-TR]#W0 2&)YQI.]^W3N"6[S(6U M.G?GF.&KGV@YS]1G<:;PH)\+&W3XAU:%"]]CO;)M2%A42&,5*K.;Z]G\./(B MP9?N=3CT\CJ$B$?MK>N9W:GIVO =':AU 6 $@+?'._234(6+=6=FC)UP.1YH M [H_5HT5F_U$C,7CR7YXO+%(HU)\N,EL3@Y__U)[;Q7X.\*ZSM2T4)^%LPK> M*#5DA.5FT,8;XU6%MV-UJ6"R?_V'QO$'_)R*=Q#R!$F%*K+ Y4#U!^*!!9 Q MB'0X :IJUB9 5<(7.6B/!/_< ,%Z@ P!^Z2Y!/3$5MZSI/5?Q;\\V M2*6[, ^M!)%.;KB)S&4+=F_0=:Q- '=D\@ M_'MFBI$'W#0OY1/T5A::7)\O3#N>/9K8B)NH$S[ZU\Z(=-"EQ7DH"=QENR/D M<1Z(9YYFT>X>APX6X ]"TT-$/F0[",,"I@,; N'I*R7@ &NN&H_U#5_7B.)8 MP\!J$.$"Q80DSA\)QS4O=^H-DA^XYY*O.YRH#+Z/)I2IS##[[\DB[EQH:2@DR?0@D-8__N(S4-)GFD*P4*UEMR=<\ M!0>;MC?Z0!A.4-+KHT)3"HE5,IX \(X*>=/R(WG/XC##CY5F=PV']X'&.=A9@^D' MW&6?(^$QX78>>M:0WD;#>L;-IOI47^7@>6!0!+W)]G,*0#PYRBX'.2 MNR]\ATZ[.U2K<_D-J75I7>1&5\E5EW&A.>YK)\TZYY"8]IJJWG MLSN>I_%<4(VW4O>2"O]E?1IXZHY]&L'T7G)2P.\#)T5HK$E[8VU?4O)Y:Q?[ MN]1I_-NW>9Y/WT0 -OC@R.P.S+X[=:H]R+MAI'KYO!\TI/#NN M"BRO.4C?A#.<[]9^%F4HJ94Q2@6RIV6+G=PXI9=:./VB0?9*&>X/PTR8EQKD M\90,J%ZKIE2P3-L^BS")BDMO.;@Q&D/T0;>XL2AIZ)VOVBV[EL];0?HDYJFZ MCJSMN2"!%VWMD.WC6-'TP I8#[Y#_E#)/G2C!(\_,M_WCPC>&:+9P0,>#DU% M7X$%H?_EQ1GY\N+SXV(!,2>L*[J?"B8H%O W&XJ6"TD.[0-7G#X_<]\'@'G_AO_WHC>C1LHM< M%S9P4&'[A\DY]NY>3_!4)R[F*.9E00H%S,Y6;!,\;6TF,'!RA$GK;;GIA9*4-7D>*19).=S/K&<?+V3(H8 ,)JC_!*3VD9E4HAY_HC3][>*'*5(M,O&OB&Y1K%NCQ+U5IH)$&< M+(E?I$;Y_%CG8K@ZS,A4CFQGV" A_7AD=HN/M[-&D>)B!%Y:.9HFE',HB_=D MHNQL6J2J#2[+,;5-CY$R6VF658*VO,.2NJ%U4HW8IMDI9;N<$N0#'H_LC9C"4%):);P_<]?IIE2QITDO2'%Z MLJ-VHM[AN]N>UM>U_')=5&O<%+7N.EE2N=B8%W/UA M69V0S9(S:NEXENQ4VXGB7%I[8>CZ\4A=6"G4A!FVN5B.RO>FUJ+:@MO$G"YI MR.3JRZE5EGEW#2JVF&_58W7T]I,E;1>EMDAM:S:7;8VZS8DQ;XVWZ)FG2YIF MG5BYBJ?GG+ AS$Q1JO3R^&&GA,<>%68^*U>5Y PG/:'MIK8:V:31R).)IBP[ MD^^ F,P5'#')IZ9R4_10>./IZ\7-NLVWAEQ?$_3NA%V6<',^5,:I,\T?F.Y: M$S6^Q\?<[$SV$N9PZ[#C].G(O&R5H7:;2VC+$M=3^DVJRP,6^?9/AN*)=QD:*R8GC4J MN-OC*I.DTZM45,FB%33T9*N6P*#F14];XN0FU4I8U*C=VD+0.]=1H](J5JA$ M@]4*N9+I+CESILL>&GK"?>W.*F7,E8LC'/^$-/)M#CF[,<7G3R M?*PA;@;68ML=3Q4T])18P.MX9-'P9#XF]S/Y\<9.C2'N$F>:>C#Y95?(-"%; M;: FN^'75H\D/#3T9 :#Q6)C\).>K#6*Y>W*764&K07<@C,-0$Q*%A9:79MJ MFYI!3QB'7+.B@H:>\B!3+N3A*WG>G16F1@W7KLNH#MW"LIAF^/G* M(>M-.ET",3B#,XU%7+UBLHF:VN [56I(&EYSQD*Y)LZ(*].;B94.7I2U_K!8 M[#GBC-P(_M#3&0R+,RJ3G1>KFB!M:+&935!7EY.1>)U(Z[(AT]S&B]ETKLZ**'&4.ATYFJU6C5%;W^++MC>I\/*L M*HQ8.)(Z&5DG@*28"_C,965#RZM>,5=BSW5U22ZRDB05^R-\3J@I>Z5N^],^ MZO1^\O9FJ='WYMIBK8&*90Z!D5HDBMZY VW$>D:_:4Q-#EC=[GK6:=98"XT\ MF6=B+8^LH99L<]F5A0ZG3:K2#@M8'(\L38DNM]A:0)M/,QNSGNC45KARKOM, M!\]Y'&L.5 TP,W789C)R=/?F8B>F6 M :GT^$UUWESG\X5^"_>")L_'(U4R0V2+I-/D&['5<&,GO,;R_!FYZ=O)U))/ M3[EYS:AH.X5*^DRJ764U"+5:B8*_-Q#Q\0)?[:A*BI[HR;? M*:UZZT9R-79C:.3)/-O:IBDR?*/!5^1NWFAI)E'VSIXGS=QRN*XV]0$.[(X^ MM;,3.LFA3)#3,RK7M%S2MD2^P%7[";;*-;:@%>2,/.DE1 V;3-H3&WR_-:K2 M^7Q%@664.+I?&.4IYN+'8;AN"_U"'HY9BZ=T3@D5\1<_=N M]V_'GZ $.DX&1'B'@A!Q)FHU=,]$"(=9](1(>Z $)%$W TAB$AKN@=",'$BZGUV M#X2(H.E.")&*TV1$B#L@1"01=T,(*C+H[H$0J7@Z@J8+$N*=E>->]?7]R%Y] M+WO5?N"27_-??4F\W:TWX;7#]Z[I+IHZ^O#__97^ZX/+3^#Q)/6MN_&%5TA! M#F7CL'_=Y&"S(@2,$/#[(> )NT>0>"U&>-EQ'3'"[1GALWNP/RS)CQZ6R6NW M$OCL6=CW_P6DV(7Z%?\L!KB.FRPB^@\D^FN>H-^P!Z\Y8;[UF1C9 Y$]< -[ MX$+&+HKG_)%H'RG[D;(?*?MOPP(6+DA0P(_$@4C5CTC^Y1)/X''RNAOR:?HK MB@44P0&1FKJAS:,'^C=G/VOW\Y&UQ,N?W&//%WR<")RE>/;^V[^A^NL) MU>B/1ZZFJ>4MV4CE2_D)J02EA9E4^B&1)$\:R%SL!+BU'!S9AU_HK(X$YEX$ MYJU]EE!3@UEQ6.OU!4,3ZHF^*6ZVM5B'#0IF$P_I=.(A23*1K%PR,H>X ^W@ M?RZPDJ":W'>6^IR*6DF.^4YN)_?U="K15EQGB"_5=)WD[*K0I5N?EOLO:0=^ M*O6[K,@P9'H78^3?XIS! G?46^9R(IN18RP<^*P.1U M$9B\6P3V(5<'%UQ=8,W)O1#,JKIGE&MC1=N,["5;&FVZB24Z$-,03J!I=]HQ M,)*!#Z^;N@.S\1)'89 F?-?2_%8%&!V&%355+61D.Q[ &/_YK.M,3=171?J>MY\7]O)\/P&]8/ONYYK8W,S#PT(*H)\(>NCK MV3/K&74U5Q"6RVS>JN.,VUXTQAVA8MO>..4[>0@HMN05-=8??C1_>5;-4^&X MD4+R"TC[6C7^'['(URK=1_S[;4E[]=C)B+2W-0A_^"*_O*34)?GW&]Z%/[%_ MVAW>#KI$7M "NK4/XQ8*XOW=D2,CZN_O:T7-+6%^M4MR'@Z'?S><*; >'Q 4 M'_ _[$X%(W2=G+&U*I5)ODT*+*6I>,M-=J!PXL36^G?D M&OU1-^HWU'M^'P//?X\5HQ "_[E;P5G;ASV'\;W8OYMN% M(@J9UG4@_2_4UF6@7M)&_.'L&UVGW;[:(O[].:2-[MI^+&FC MN[9[Y]_O?]?6%Y"ZZM@8"#,/HANWZ,;MQQE:.R[?I=>59Q #1Y5ET>7:_ MEV>[EHR7CJO\X5Q[\SNSR'Y[/F*R$/#R[HX,&G5P!__?7[$SUMT@:T^6&Z(Q MX56GG,K'\@E.;+!HQ="Z2SW@.'Y%^^['R\B-;\=^SKWRI5*K?KF#0MQ'ECU4'^KPP M7[18D/TN67YGP2"BIJ];8Y8KO$6FC MB]=OQK_?_^)U9X__O'O77U7D-RS>'/E#?]I5X'=VNNQ53\<4M9)MNT""KX8; M&*B0@3?%_S)$H9?NQ5?N-$$D$HT9!P2%[L,ME3>\-R8HO_XL0SP09)18^O.N M1J/RL[_&P-Q)_T=MS-PZFQFTC*2--ZJ]42WMS1L5UT<(:&,FXNET5)4VNC^. M[H]_U/UQ5)+U0R59/W\R?&F%UI.3H6LZ@OYJL58^+Z=&YFH^X#<=L8EO5P+8 MTOZ!@*JU,LF7#H1O>JW^8])2+VV]WZ[AU.^Y-?SR;-0S2J#E*+/.)$LT\0XM MS[0VTW+&&I3Y!+I@)\@'(AE=-7S;GIZ_Q5_RR>,RE!/7>CPPSTC*8I/9S-O] M047;E+.K%)MM<.5L"TE*XEE)B6)1HGOW.SH,?X5;Y(PTO],Q8MG=JDT66S(> MJ[>T%>&.-S6&19(>7+Y'Q<^CR_>(M-'E^S?CWV]X^?[/V[OM4M%%_)LOXH]- M$@J:))+I0MOQ'FR2+^\N2HUQ!L?=O@CR6G]N5@M#'92XT?=HQ]L=5!L3+:.V M^$J'S0Y!?=EA<65,T,A\I].I!RI]1?O]!TG*,\$,D:3*Q?+=53^KC!C#P$!GXGWG34D/N'QSQ\O!/O6]U>WZ 3[Y!E%QX_ M3C6XCL*,7'6>3!;F_I&(6O$R\734BC>*^XCB/CYT#MYO*UY/XSN]LM;GLES1 M;)-=HD5W623T*+J#?F"2+QU^]Q[?<9J:@2SG+_0:?5?#]ROJ)-P<@K_<_WYI MST3DAKAG-P3WB#C/NB',KCK))!.RSC&#A9KN&W8O:2IC@@G<$&2:>4B^B,#? MB?VC ((H@.#;>!,.I/>=WH1:(68/DHDYH0&3:-.6L#;9A"_3OC>!B4+GOFV@ MP(_Q$SS/W<_Y"8@]?Z[GN0+(Q;Q=^ GH*_F)_CA['V# M8(G+>0#N1RJ_I;E_&5D^-O>),_;^9#!2O-Q\4.&SR7I&&_4STSKC'T[(WD\\ M)(C3_-\G]O[_.NA5_SF1\CN1P0NRFVK MSA_2#).'Y6 M%RQKW,+;[,Q.S 9-+#VG,B=/*==@"2I2_ MG0\8W-(%@!^O@+Z)WPH"NE"4'91/]T0J=^*\ C:2;ND,4F">8+_&1+?(3:2_ M\ SK^=NS8Z ]HSR>8,P!IX!$GNM)TS;IN$X@B5U&S .Q:M?>?P]J^'F_\X/PRLT=\ 9^IZGT#UP[5#"RC"Z(6ZXA34X<3#0;%%G #T8"Y*0$]CG5/ MGQ@R %PS9*V].$!!F #T0V%N6D[ _O!HA:,L ;%_3%<-@,'S!P[TY0+-P )+ M%YINT&"Q W8Z$ WTO>"SSSMF@>CSN!V/2Q5LVYV'8R9 -[V <)^7OJ T.10S MP7'M(PD\U8H?3^.=$(4BV=$R*S=-.75MC@]F?:/BMB75.SGCQ2F07!V$X=XG M"O=AH2]T>@8ZUFUKX2B)8]MM")))0OZ)>\J9)ZNK,\Y&PR9#C=_NV^W<, M^>G^3"P@:#$/[M0_"]/V0?>/?^I!C>O),\/+9/_%NZ'"Q#9UUP$[-R6._^LK M?*X' ]_.&_\+U[+_[^>\L42<>=$=&U'BBRA!Q:D7G?\1(2*1^&64(./XBUTZ M(D*\CQ#O#&1\]93^NE6GWK'JD.6@BH0^]*^%/LA^3)Q.7G7]J>,K/Q'J:\!Z MLB&3HY<$!CB6NRYM?TJCO^4-N3R(W+\(2[]FZ'5 M_@C2DQ&:O8QFM\XVXW97*"L3&14(SB[(N_><@/;&:\.%:X$Q+\A)OBZ-%CS3 M78)Z8BIN6=-[W^7^1V^-+NKO!FU&8@E^W.5 ::X3>6O#S>9'E]]?DA.WO^8^ M<)+O.+&W9\2VX("::JAS=[Z_@XR1!Q=3N!I+-R?]O*)EV6X^D>_U,VD*1:?@ M\=,"R%CLK3&($JVR7>J WQ3+6C;/1VZZ__)*DS)+^8 MSG%KE/[7L7X1X?,%A/5I7-!="*OC%->FPFQK/. FHTH_UW?Y6>N>A?4E?';I M68F5F$J+B\VWM10GY2?);B"LI_DV7X#/$U#WF^IQ]R6$+Z'N M>+QBM[7>=,+-0)=C,I\HU5;>#4F'*L MD/()GCXE^'?PYU]!1[^UD;%WU4.:SK&_50/SX^POTKCF^_B#/A(R;EO.N(WD MR!=U]*\0_9[ PDWAA&63^9;'U J\NMI8*3TFBUO#NW[QB9<,_X,:$SY,;-VF M/>?K;5,C*25'M5 -4ED" M0NXV,XDOJ!?R'I(YRM;MYTREQF?EXJ H35+%=BT@V35J@MR'O_PW.LK?(F5/ M]:AO 8Q2+#VN$W1FQE=6VU5VNK(R:N[.I*S"6+TA4! 1!"00=2_ M_F6"5FEIU:Y=6TM4;MSH4UM3R%Q3KK5RY6]%(#Y^"$2I]Z]YGZC\A7__".ZO MB\>E_K#<$243NXTP$>RPB99GBU.P2R5:NF!<&1!K[^)Z(*C4WTYB;()=$][J MEE0;[)*F[20$R;1V-]I_NJ3$GW 8TVFU_H*7SFG+5O4M8G?J*?CYTQ:N =X/ M=[RQ(R\\,%M]G1 LRS:7X67UC@Q>^5H+CR'A;Q/C]3X M4=]=R)\*TG>@&N]<(DB"!G!= C\)]@CGN[[9G9J> U[2 5Z.+!L'+M>.>/"' M6U]);:^J:@[G**XOR\WJQD(J4^\:+99_L:59&%W*]*8R:[LEI(/*:\PRM(:C M "4/+XQ#^$AP)"MGMZ $ZC F\-=@X$K)*V^ 1O60Y%+"&<1H-Y?A%1 M)V%M"7P),?CL6> YI(*;SRHM=4C5M4ZAP$[3;K&4S_Z.5,#WE &=92D$Q@M! M/T)>GQ:9DPS?U)=B89!U.DRN*J(J7V!'%$X#AE-/%'KE"O8:"Z4LWVF.'=;U#"O\80 E _/$$\(<@)VZQ7H+$@=?XP" M=7G]>>]4YQP,.C26?\HW]=RI M:0<01_ 7+WX#&&2_+BX$)H+:X23^;'H8/E?8_3#09#"G$!+* M"980_G:'J^0\P;8XH@=O^(/Y3%01>+E/KT0(K3-09,?37?B,/9"F,(0#8@OU M7#5"(*+=G?H]J !1!^(+@]#IWY+J6+JP_A%$>SNPG>UM,XQZQE/6 780#F%[ M#L$$]IY[\+"D*.OZWQ]EBE?W6;N?>MFP'W"/W NFT_ @%N$% %7J2Y3'82N9P9*ZY7@Y'64?E,"&3KF!:F4^66!X_'MF>NA6GW9SZVES# MI_U!TATW584GCM_>);W,"$DJ#4Y%.ZO6E!\E60*./'JFQJ"5NHMN-DC2]_/M MO#H5AA3+ITX\LS<<%-6^W47D%5W-T*[:R.1]/G7\S/6T16=)8=!"%NG4TO8E MIUUM^#QY_,P,6Q"FLZRL<7W3RNS1/'C]S4,4Z^)3M*8AG9XLMM(N( MR3K-4SSR=N1T[BSQ['3)(H)J]83Q2LE3&1^,/'JFS96IBGA6\_19TDHONT(6 M9_G,\3.%7B55) O=/)?#V_E"49BGA"(<>?3,!3XH2VI4LJHZ<$4611+K;*0RXGKG *''LN=R5AU RV..&%!C Z(J%:0;@I)\J.^7IY(1GZHP*&[I[[9>G9(=VI)RW+9'#'1%G*9(UQG MDB[W:!X.Q2YE6_9C0$:SP?0B)P!G9%,_Z1% M2XR[]7T :&3,B @P B6>B0][[,6*54C!Q[1D[\ M8FG63]VE.X11^YD5CO227[ 2B2]C)6:>2>RFH<2"H+WIN4%6'4SLMZ"W8@UX MB"7_U G^EF.'2\'%1E<2+H2B^&(&L:^:011_1J(-D+QKTI>,[5O4I#IZ2X[M M6VS?;LR^;9N/QM8M:C(=O25?WKK]KC"']=*A-IN3\P$=Q]8KH@P/RN 3^0 J M+39@T1+KZ"TY^@;L;:5C;,+NWH3!"]*)H$XZ)$)+MF-;]B#R_5MF[(9SQ]LJ M]]BVG<.VW; %.N*?*F^LI-JMMSCL#Y&:].!E]0&+$_!,G8R M13Z1!'DAB,3K:-X' G@=50PJ=R)'B/\]#X0)=1VXM+-9F1!U)[ATNK4SC4R: M:"N>.T06:J:!,4Y-Z*;8J]H9[#NLS+%Q<:>RW9T*6^/C #,$;Q/(TNZ8;YL. M#_)*,*WT E]UP@IELSK27^:P"=//3?D6J973XAI>9TE!R*H/L;&C'M/MA"U! M!L\/$!TA:S3^="-OOUT[_N]C=\#U__8*!"&6^DVM*J*%%?ND,NT4TRO MSD;*^=@*^@EE%V:]23\S':8U!,I[.S>Q%4S"&\/-V+^YHI4I[/3E Q=G.//'VKA32VK)I$X8=B-=:N(LQ-2! M69DG)'73\_0P+PK\"-P>\L9?,+92[X+8>1%ST\.K&>0T.$ T,DF1X$AKHY2W16(/^O M&!Z4ZOBF[F6*VKSO5HFDH^2+BVB=,'VFO$6;:";7LLF9MF9:M79_YHWF:Q:" M^@&W)H.DGJCT!0^;OE?EHE59&V=L(FQ>SE+74%&W:&B[F&;GD(P300M]W9? M@2EHLINP +U?X%7?HKB+YGQNPME */7@=X(;//,Y09]NYQ*@P=MRT#%H1\F? MKNCU@V4[7= 5]__NFLN7HP MN=>+ 9VL4_51L=-GBO)JA@Q7#*WP[!__$,^GBFL_*10)H&PZ% 8@9IZQ!_@; M2&,RE&5Q;SFO,, 0.RS$Y0\T _SO6-Z'# [P@86$OP/L$$*3MX4)AB_WL2N<*< M%U"&:]CH![.&1#0QZ/,#"V, *&J8+;"TPS*J@/Q_DV(Y:/402 MLBZ>5%0F]$P2"_JG]M;UJ&W2 '%_- M*SQLDPA;U$B S$:P QI@)QE[X0ZXZ_8X#MF0L&"K',NS8:L=%VZ$'3G8AL-5 M[:]PZP&6X;T\0] 3;1F8. ^^59+#)C7!LP2(,N\D9!"DJ3#S]-+X!CX8D*R' M,]ZYJ-D=6G_^M:?.GNL*3.TZ_ U\.K"[XO25*ONTO+ MRC95!K82L!6['XP+VC:@T=(U%'E.["W_M5&3"M;YQ0- .?"5BL>Q*DB@&$R H:_X*) M.)X%+71 :!0SYB%-]EY[M58GW$NC-]&S;;A.($_A.J'+$9 =ME@3@%6'@@EW M"Q'&?$X"]HL#@9^\A/2$;=UTN G 70?(!@CLW/6.RB;T6L*?/R= &/*R!P7D M![*SI01T]P'+MOM+H ?@/5-AN>5#$&"&;5> B&UC CA+N$>*H3" =XLR"+#D M<'ON*-C]5H"##FPF%R1$PSW- M\"8@F X>>B)GL M[(N1W3YBO&B->J5L#F&J6I&RQ6F[GR'\DZ$PA"%W9.-@;PXCUN:D%?(&K+ Y M87:<:4/&=,WZ*UMHV$V.!:(7;&AN,#P?D'TORAW4%#V'RTR9J4XG\U5Q4N )((V=0$_%OM/WYFG"_:^O32 2P>-5LS) M3W$R]V+W=VS2I\;BF)/49<,[^ 92P?\K4UPUF MQ]$7@W:\D80],<-&ED&F-^2[+^RI=FC>X+<.(,&+,8%MH+:I+L%Q3%$-]O9@ MTSYX:?C(P"IM#1YTE8&5V!K==\SLJV5180;%,+8._,L+H$T'3X%LV6;P7#5L MNW60A;[:+E2>P"7OV5FP!3A@H4ZPU;M :AT0YP01C^@YKCF'__"%X#.H1& O M"9J.!3Y)L/0%M*] 7T\9XB"G#D(2F&!ZV8HDV0$.,2!@*->[S<%7=3W,92X\ MU0YW($M8'SAM0L(VUX+NKD\',7$[4? 6$HG;B;X^-V!SW$[TU]J)OM,L\<.H M^U3.-^S/R(\%3)0H4N)38D;@"6Q,\0(ACWDIG4Z/42Q-X"+UQS^''1V'XYHL MCE329#P]ZUGU!6$JK'*JD2F;8TU$FS$C3>X.:_9@D.[;'87'CD?JNM+?#%!C MH0E=0NHE9Z-C22YP7?3E9S'I+S M-[/*?&94],')EJ<$5:_EQJ4,C@A]2B+R;M)TIG#DT3S'G&QNNE5#9H19R]-T MDR\V3?\4CU;9YLI@2FZ#Z6^+LK6>,*>XI%< M3%H.XV>'2-6M\6DK5S2K(_H4CSQJTRHC=&O-D0B='Q"6BN<&)WDDK5'?(2@* M9Q9L;EEHT$FALE9.\4AV1BV.)(D^TQ0&%2O'53W5@)0_&KD>I_4D[BTT;<$: MF^DFI?870!9.-)LMVC,J:Y>M(7APOK-I(7IF-/9/M9 M8[GIQ,SV.X@GM^C< M()=:ME7Z5&/8$FH"O4RR+6W=ZN>=+*;30I<^V>Y5)DKK(=KJ5Q$9*) RRKM%H>2ETK._*O=ZHDB6F99U@>\A"*D_[36S8D+1= M:<:NW>ME&WO*"O18VW*0#C:4CXX$@504:P!G 6U@-KQ@_]B*4IT>=$ M43856[" UPT"]Q??["5->6F2UDQ#J8$-2*)!^.(ZV?7K?&C@>3COM$(=U_M: M&\$*.(>!T&5<:I3MFDI?B+J_Y&JW=D%#D*P 3FT05#TE#-F%[7E%&&#:ZR"J M ?\?)ENM.B/!"/0Y$_?JC (G@&V*52(*C(AM4U08 3@1=]8^(R<^?S?QRZYL1(KJ M+NLF1FR1+X#SJ2\WK4T_WW;/VG=NK'X5@3X6_QM:Y%GZ+6"9FY;_\&KV6:Y* M_LP/C>K%T#.( 79M_(@SB %V(9MW[?OZ\,Y-T#Q+<&7G;$;NVJNZ"MA+!- 7 MSG3Q.1.Y2]U?Q%7X\E5)6-?5V54;O1XO"'I0H[5-R(/'\^GEA!MF7&&J]7/U M-B>D%OGRE#ZXT8C_PHW&W4D O&GATD9P<3DX#&C([LNE0_SEYK&>VL#K:.LB M4J255#97DZ:9/#ROQ('1>DJE/H+4_\V=[-JB'JOX;V< 'EG%L<^K>&^=F6_P M3+ZFY>83ML";.2%?];]+Q:54M>F)FFIK\T9GH)1R2-Y48?$""54L8L\@7&K[."M5Y1?DNO6X+:R--65D&J?8+S>&R M(-!.W@=Z34*])GZ.:G0/Z9'@;G^<%CE_S'1M--EKT^7=),NU"1,90_DS!RBX M*$?K>J"BN=!J;J_'J0357LOU;!.9YT@CC:9G;&W"?I?A7*9:7'7-%YO,O%_K M%;*9KM7 81DW<(C2<48FMB[?Y5-%D#"1L2X_<\,^L"Y"VM=Y=<'7D'E'0>4- MJK@>^VWAULQ;2 RJ,GDF5R'*DTY#L\8HM"[ +4M_BT]VY\KS0"FCJR-I7^SP MZMH+BXR=PWF$1!"O+\H%K3\W:\6A+I>9T;>9*[R/K#S+-/,(J:K1R8Y1I,I52)WE$!KGODV%69F1 MQ]1Z:C'%29$M>=E&.5FD@0J34(73:3R&M[9^\<+?#E9P8IOS/?2, +P:0EX$ M4"0'.-7*ZY5+6U8"HR -K: J!L(4MD^&6 S@31 M42Y_!5:707=\^H5+F&^!1JS3 M( D_F-[$_%]TX=E1'RG*RJ,B.^;1H03 M\7W3B# BMDU1841\W_2\G+B#3/[AW9RC*S@_+PWBVZK_#&7!3C !%OBC M7%R-]>AB>A1?>[V)HYCXVFM\[36^]AK1K>&NKLP]W*W8GYW^?/H&7:KDN&4U M-6"1-59?;]KUA8PNOGZ#;N\4">):P]7V57>Z.TD*.AE /M!A#Q&I*ZQ.'&MJ MR%!H$RK103H]1<492Y&G46)IU3FHV*JN%3SD2W!PUV>?6L)L -+\ MW M:>Q!!V\H=<=?LQKJJ&..;+?6??&='C% M%EJ"#XNV;S.(K @6;.5X\[%?? \OOE_[K=Y,I<6/S.NPG7*0YML:?*874@3EZN4BLKV%B[VA*&G>I!'/[J/A&8\B/K?]S7< M\[@P0/WU4;&&C6S.9#I)GIVG4ALA/[NV"S,16&2\]!9T7F@0"U*-W(?QR9^S24J@5!NH(E-;NF,- R? M,\-10>-1_>L%ZN>QB>7\2G"T:BZK-1=K;,'*68=/^N$]7!1YHHATG.")[4:< M#KJ6+P7L1D',9?467UIJ9%TI885]DKQU*2;)GY!W$$;FF8%3MA=K)KW$_ MO&$+?"D@/W>7#BK*@,+&.DX(Q1%AG!#Z->\GS_ =?6PR7H5K:1VZ9M"U6<^= M73TB;*-E!YW+J[HFM)*"/%P-\C+FAQ=O,T\4&5^\C;4_S@?]K@\#M'_1::MJ MRJ@Q&E9V%MA&&K.Z=&WM[V+S5JN0&6F()W9'1=63N;7U>F<7?PCPMO,#R5Y[ M17%8%Z>#HNX0=8H\4V],^HT>(7!DJLW/TA5CV$Y?.QV$)"MTES,6'M*D*&O4 MF&0&&9?F*>@0$4]8C,P6FXTX&W0]3PJ8C?E$9VO-MM[3%D;.\CQ_4FNUOHYW M>QZSP;969BF+%51-\(<$F^'R7JT,S089PEO?7VU0;JH:0IP*BH/!.!7T:YY/ MKL'7DFNDLVE*7:U/LI,AVM75Y/K:)FR2S:XK%H4--9*PBOW51)-<7N'389<@ M"HM30;'VQZF@WW5@@/9C\F!>]"!(N\-T?RX1G0S L9(VKKM M4/Y@,/8XY-K'^ZRSUKF*MTYQQ7)OBNB"UM V/I\)^Q7A&!'G@6*S$>>!KN9& MT3S)E:0I8?,BDUNEDUC/R6>:_K5/U#9YRYOD!Q[+":U4RJ@ER[Y;9H'9 &Y4 MZHFD[J\HB-;UA'G6_D?WKO0G$+D?L??(,0+_(S4:^3WOZ8.^(W*Y4MNHY60! MZ3<;BYKH-1IZX]K1I921>L[*1CE$7I>%'E-GB9S,\B@2=#MZ0BYYB_[>-2DV M)^]T WAD<_)K7M4'YD2L##:#=-9<,)VRD/8EJ4\4\&NGJI,;NI42^=4*D;-L MB<)[E62^HT!S$KA9:?1;CMNN&J_L9"GH%P!>T#5=04_8(7GC#-:EF\7=20N5 M3W67?*BN*E_M97%5>]@8%C/>A-!)9$'C [&18?%RE^91%+I7)/Y$D7'94FPC MSINANOI:HV,CWCI;I.,6UY/J9,$L*F.UP"K>;#:Y=D);E35S*'>[,C-'!ZHW MQB>CE.)#&P%]ILQ3YN?X1;L.3='$OW[3/^>?J#:2$@*.\&E2R"#C#,Z+!. ! MD1(FO("1 B]C8T24QP@Z2:'@!?\1=K\ //3R&Y67.''&-%F";RUY:]Q?*E ( MWX[T"V4,[30%"NGHMMD32@W?96@>.QY9:"$DQR.4.+GCI&;(4%(U-O M1Z;IE+:9R/X$64BS,I)JLS.<@ !8R-N1;@UI%D=$DD>JB-8HR;B:GE0ASL31 MR,'84;'^!.L@R;[;5ME%5C$W+!AY-$^DV_34=!NEF**5(4=V<[;D,VP(77,X MLB++A9)#+S2FRE7FG-[2ZYD!''FT(J(P5-I,H2]I\T4I,QX+6D$WMW@8;RC? M:G8(-RT-M5Q%D!<#6A]R=9I/':^HB-!8L\WE,UJ?J6HSM)NR^9K"D\O#D*Z$M^-U*VT'ZHVJ!]0BER_+PT.SH[<,TMJ*7,YU! MBLOAL%8LEM!Z(T@('0T=+T4X&@X]FFIA.I!RMFOYS()!W5FM"'B1]K?17-/8<-PJ-\M);HY8?G(MZPLWRVZ-[.%0N>1P*Z1;]9#% MC,,'4Z%0;ZLTW$:.12K3=7 FV_*8I(0LO;:I##-)/]AQW@[%\&%YF)3T-5.= M.LNFGJ9T!67AT*,)6%9_X5/49L!T2#OM+>?5/K8&$SBASV2CZ$^%X2"OS2DO ME2[72'_@LW#H$0ORM50RE^D)-:ZCM+ONM# O5R"Q\&,6#'K])35>NC*W4(7\ M/-\C=)\+AA[-546)S#3=R0Z0IMBLU)(IP@$:SJ,G]*]&EP>3+$NLD7EC5&EI M&WO:\!0X]&BN\U8G-71*TECS:,%NMK'4FL19.'0WUTOWO"L;(MC"P8:=5QU1 M-QW/EM\TK>N.^::-]3-#=P[L";VL=-"6W%(QY4W'NG?'\7 8^K9EW67R$7N] M"S^$C$:QYT2X] 18.X16'O^SZX'W33T&<^;<,@W9<)WFY(4+S,J"C0^SLB%/ M5+<+O9UC=I@4Q2C=*J]J:V0PZHUM)+O,*!?"T+MI.0 M#UH;)'#T*0$IE !.+OP#>PIZ/,+U"\8:^B00YY3L6-!#_I M]-YQ(T$@!M2MB\'9&PENC>2U:U1RGFW#%.[9[-NU%W2-HIO40Q8DAOF4QUMW M:,D?;]UAMN#QUAT&YS>[[IOQYT^4D)/A4:(,' =!?SP7_#('#A$MZ/Q9>O[; M:S.#$VCL[UOP_2,B=M]]P_=,8A^+P=ZZ G?#!^]F"7)/2C98VG^'H+"U9*"9M&P3% M ?CW!.#7UHX+I<U_F#C]SA?Y/6?.D:A7NO-%7N'T^5H1]6TL\FYBY[P\D<$.+,4ELO%I M]Y[AL,?.(2V1L+;NZR1/:V,ZP[SVZK/)_/L'A>?V:+ MDTT3$U@^_OJ8 *X 4G-E>"53+);*.!:9@EE-5JEO2-LK)M&8!FCG?7O^* M-0Y8;R5@C<0N'M?*WH:4QK6R<:WL(PAY!/A[?2&/:V4C$&*^U,KNO-DXOHR+ M9>^R6/:.(LXO!)GL-$WULYI>Y_J; K_)CND>A@8M1F"0F8J#S+A:]E&K9>\A M[(S+0N.0].Y#TDC4^-SY(N/@-#+!:<1*?:[MQK7>:8L%>Y;%(>ME0]9[Z)_\ MR9@U6NV3[R!H_4*PRBLD,\ZP',/(:-L8^,EYR?*#'I,P6"7C6/7[8]4[L0"? M"5:C90'NZV[GYTL.JQM7%[M&UN 69+N6S$X'2D<*.L)^ZE;GKD%Z1#N/OYU6 MV,IGKT.1J,N"#25Z^K>D.I8NK'\$*]J^>B>K&/6,I^"$P$?;1DDX/'D^[&&T M]]R#AR5%6=?_?D>++M %Z2E%?V%/4M'_L='2/8EM* M8(&Z*G(R[ PE3, ;?PBZ+ZR=G6N;><9WCOZ/%S7'H;JA"*#LOQ-[?T,Z'/$) M]BO=(]5!/]+MSPY;DNX^_$F'JBV;7=/Z@0'G])#%!/I,I8ZX?)%2!OS5]/Q7 M2$QM:#/^U6WFWHA]^!#X-Q!K8 OT@Y8SVX_^^"?HXPN[U^;,H,6K\Z(3PC][ MO#^M!V])?8J"+PVEQ=*DM*KW^1;GS3G-+(BKU$;VH8W[XY_#UM,-D=DH-,&, MD:(Q[&5-OYEK95D>.]&DNMA,;;Q5OX T2U[%QGQA)#,T&$F\'4EG<5WU,CZE MJ6A)T0NIM-EL*_R)?MY8*Z=JX^)XP>56!"51(CN@JS2/'_<3+Y@,@C.DUT&J M4D7@D_RL0&(^?Z*;]\@B\J/.BN2U>8K.K^L8.Z@N6)XX?KM5(BI.N6OP7'-F M):U6LD@X90AA>3325^<&)Y?=$I?C>X97:3*;QIKER>.1TSR21U8-?Z$E&ZN" MF$&%4I)D3_6];TSI$9ZULW-N#2:P<-L.G6O3?/IXY&RFY#K4-%EFFJRI&'13 M$@9I%HP\HOR4*\K6HFB7D(XIEUHB5N$6K9-][[NY;K->H2L33NT7FFG#ZR$6 M!T<>4=XND(64E1EC6G+:-R:>Q@_H(@U&'E*>GV0H:3*>4/PX+4QX(I7">6&< M&?-4!AFG$1FG)O+D[;,!T1NM]9QD.;+;HDN3W#PKX/0I.4W/)BL-$\L%CS7,JE^<4R7N,ML#[Y2&?TGIHX[2<8NN5 M8)CM 2>DC$%_9HXK>(X^):>5XJ#I9SDTSPCU51\Q_'118/Q3U^QP*EWV-\6A6535H#[T:*A6*=I5+E69:,!Y*ZW9 M6IW(FPKTYXZ&*E*-UN3TI(=TE.DLX[F*;R<5>"!X--3+C=.B.B4S2#)M+%!5 M8R47GAV>8'Z/4U==W*N5-=6:6%,NZS-6VH=>V_%3-TQU/*?Z.#?/Z\Y$U&I+ M.P^>>H)5&J+!T"-)!3II:^FZ7D>2G67/*76'17JFP*%' MHLJ0F5F)'ZH=1+;ZN&IX@>>]:V;?M+%^9NC.^TR5 M7E8Z:$MNJ9C"PZ%HZ+.#7\@2[?YL-'9>?^V#EO?=J9RP9?!.$7B\X6+ W@Y[ MVCNNX'JN::\3D_"NT7X?>Q!Q@#_,8&#.G ,'8!VS)#<.PY2..)4E3Y>;$V8WGY?(I0WFU#Y8=.#5=,$, MLKHI:G_L&(IN?-:E*DT=6:01KUW4"RNY!UXE@UC' B]S;4^.3A8A" A>G.PP M( 8.MBY8COQC]\?^6Z%/NO5'H6LQ^US_S9KY/.LY!@Y<^ MR/B76\D3SYG;;H?]JZWD?]/$1;?BZ(RB%5N?&[4^%^JW_EL!RPW;%IB..I_U MN*Q"1([UY*VS'COKQG%CK#_7%G#M:JVNL$H([HED=Y"W/IM-O_8RKU"4MK7N MD8:K^&0EEN79,L\)$XIK2".+([L+N4%,Q0UM^N>NRRPW"K]0B_69HPW:W6+% M=78R?C#XI6XKB;T4;C7:?99NJEF>ZQ?891UI6RW"@6?*&#!\Z/-%P.+"#?#: M>O+O0XMWMHWNH;7@UPL2(Z$%:#T_88R&VF(6M<:ZW,]FK5$.:@%Q42W (ZL% MMQ+V':PE@/8*+YD\)0S9A&#;6Y>W%JLY4L.4LE/;3IJ*K+3^9# 4K)8"= ;X#<0S=K\!_M5=B6]=;;F=2SARJ 8HB?TY_RNA MJW/5#60CCOWCV/\[O8*Y+Y&&6OT;N-A"#>H&AZ@9=.2P^DX'WKN0S9?2'=EWT7Z-9YG^[GZ3*8@Y%MP M('Y\N'<_D>[W%;%'61/N(T/^):4XT@5WW$&+?+(I,OUTCFZ:8LO5^PK0!>*T M+MQ-#/M1)7O$\86_#R#M*$<"RRY5(9BC*COO8*-UNQV[/V\RFE9M8@1JE#;E M%,I>"!OM0QB[%U]HJ^H0TPY"SX5 =$X :"?/+=,6['5"4L&GMFR(X/U Y1.B M8-MKH(8^4'XGX4X%-Z% [#I;=0*$.[C#J!,@^(:; (\(5&P'D2=M"1>\30A( MEQ!L>0_K+O&G:H"AIN> =SE__7@XG#8*?R:Q&/GEY;$Q4-O#,P)]QCYL+!.[ WA=]WLV>9Y:? " MCY?Z#7@\'+UI'*-/8>+%VG,;VG,AC*\7/<&^JBMQUKA*#>8C&X:3' M+F0;KYTJSQ\G,W_$Q\>_&4H]WKK#R.7QUAW+^6.M^\;E_ 9=^I>R)S)X?@-B M>86GWH:2T$W'.3S+NP5/+0J"_+.<7V0[07^<(8MJ?'U1+FC]N5DK#G6YS(SH+[=Q/CKT;^YTJ094*;>O22=:.P]5I$=J&6>!5'6' M6W>Z2YUG8-]''/C(V!-"IB]14Q+K8ZR/$=%'C,_E/-7H9,R-M0'TF@C]03BGZ$5GH?(>P;]Z!L+$%P;]KK MV+>/??M;\>TC8]XN[VZ\Z.<):Y;"IW)MT61&7+5?55O% 6$S%NP5#;V+]$5P M3&,5?ZQUQRI^>0_F(Q7?F*T*5?"7KC;/H?C(K7#,(R)9$-12W M,"99%//YC)1"AFV:)Z'SD28_LDRQ%L=:_%A:?'D?XJM:;/8DHSI7F#+7U,&!&'3X\: M/EW>@6G9\'C37;=TP7"!M6,6GFK-]\$M7\U=NLF.EXK&%[EFD96)+M%=*A.% MIZ#3@E[09WD\R8\U_E$U_O+.SJ]H_*;HE9%EHRUQS8*4W[16-D=6(3!=D$"Y MZ_P)] %6YP&CHP,O$);A402]. ?AJ2ZGBW'V94X+GO8N.P[CF^ L1)EQ]DI M(S!7>7DIZ^9[!FLR(V9:WVT(2-]N;-C>6&[T199/0Q>%>**PN&(DUN!8@[_S M=.97-9@HD0;1FM04+ME"EP8:#%V.)PS[J)_$7695WFM(%X=7<7@5 MAU>1\UF.<\G[G4. ^[6*#8Y=FFJ/*2(Y;-G2?+T+'@.QU6"Q MRB7K8!]/26+C\*C&X1H'3>FD:*#$0*L]SY(2^Q1,\7SGNG>O\UM9=&5 \&H;O=E#5;\1%"OJN'9G 0&&; M$\Z1=^B?IRKWM+GI9D@C.>.P0=%!FZAOT7V61Y'@K.D)(XZ;",4Z'^M\K/-7 M]GQ^1^8)ZH(*:;=.%H@UO')] ([C MNSB^B^.[R"5_ GT]8=KH6E6WG*I3T%12\ I*6R^/-9]'T2!_DP&V[2+P^+&* M/]:Z8Q6_? KG/16O":*UK E4EZNB+%GR:N:Z:[)0Q8'W@F-/*'9G]XW ,WO' MO8_C*"R.PNXG"OO[%QI=1=8I.=F,]@AK92JD!6K-RQKF;@8TIA6505,)IAF M.U#$\2'3.9I9Q*_OC*/OEW9-/*3OA%'K#94OB>F>1[HF2R2#0C?W@ MV ^^ S_XEK+U;PNE]EJAOU9+!>[P"5>8K9F=HBXL-6:^0EH5B^E,^S.:1U/; MZDB,O&"N_O%D/=;QA]+QBQ5#_I*.J\*RY);7\P%71(J5WIKKI'&6A3H>5D.> M F\1(K^:EY*TYW*=APXQ >,\0%C1)+O>^8K4,X31HMK%W E6Y'K6F%Q"$&MXK.%1\4Z^IN']Q.F8V#K$UN&V':9/6H?LVO&MEI5%&0R= M48NRVBS8L8M_/U M\KSZNB)35W7YNLD].W6ZQ,JVI:25$H<3+:FH3K-?&%.5 C!5 7PJFOH(22C6 MX5B';T&'(6M1[.\W&^Q_7 ',]Y^=?#>\.7B/&!GA.R.55 .\Q?V!8<_X\:8- M,QI;0G6G<@)"CPG&.J$Z"5M>>&JP?YO@;\D3Y83JGD2F2(S7"2&Q/+X9FE G MX#?P87/3AEA=FJRO$^X44,,P7?B'"_S2N9PP;?@C6*#RWBM\%7P/?S26P6P MXS>R])RH"X:@R!!6-C'W'#HH /EG( %V^9CAK\0UZJ@-RB M_)R ]/3EH/)& =\8D)"'TP">NBP&=3D?/ROA3$U/E^#:@?\)%N=XMN""IZM@ M&O"1@,UPQ> %X',_ *\## .&74$942+>R 8CLRO9<-7;$>25) MV,7',X*)P:].D@BP%@C*4S!@)S4AN0'!X(^)R@ 5?!^QU/#Y9IV2:D4_CZ8'J[%^RO;TS6'+I#=$@ ]ZGQ#J M(1T\XQR4.+%26H3# <_U-Q+Z\APA80EV, FXR(D'WG7*@ D*I)"[;YW>H0-< M !B1ET5Y/I;M__,OE$3^QM&G!/3S@I? P/0)RIRUT\C01L 'GGHW\/& I8.T M!?;U?\_LB>:A!0'/X5%^&S)WS?T FG35#%W6AF#;? TOY?#5:))AJM-6 MR?.SE?PFZ?_Q#_9\7 65 #NG#@D&Q 2RXOE:VRM](!^)G6@L\^!+893$'66FOZ\&*>6/>X&9X?>(Q"Z0]G?8V?F^#*5\6J>:. M-#5 F=P^84[*C,^*MKILC!II4^S.-_>.?#/E\?(*U$YHG2.-P2WTH MVA[%D>\3N^,%'D;79%:6&MJ4D_0?44ES9+[26&_8*3"Q!/)\G+Q\85?@Z 4\"RQ5Z-P!^S@!?J8;;'C M\X3AH!LHUUO+%_HQMVOW.G#^M"'53$#0RIX[MN5\5TV6)'+E]C02PT0.774I MI$=_EP5<$E5LT:,&!#(O*\)TD^-FHS0-6)I^/H99C+ %_&8J7\ 6&H14Z#9S MYD1+KO*RU-'1A=^ RI5Z/NYU\DE;2.#1MH71Y=HO6,6"R#@Y>;UH:&L#80H] MRTKQF\#Q_& /^ZE1_"Z/=)OC 21) %8"2H(X*8A^T4R:3/P)K3'XX"\8#,.X MS=EF2'1UKKK;U(<1!GB&X<'PS9'#W,5/[/7$A$X__'(7L)J^(=O.5+428N#V M.XD_A2 %$,36XW5B.Y= @D53"M(60'*!8YSHR*$2 M;8?)C#>51HDPFPE$#NJF:H3!%?A$4I?__!?\9R=-HBX+-DSJ3O^65,?2A?6/ M(/&Y%8M=!A>CGO$4%!;PT33(6?W 85'V-I>-(/^&>FB>%&&*X\B^L'9V!ZZ9YY>D^(^7Y#<>1( (H.R_$WM_0SH<\6DNK))[ MI-KFS).Z/'%_;'^V^RS(=[]\&.0*3>.'+>M!!O$-G[9L=DWK!X8^DX2?X$]\$UV/'P(_!O84F#J]?"Q81IU]Q$P8T%V M">A6#NY,!CQ9WJ;.A7_V>']:#]Z2^A0%A<#F\VD2(9!Q)L4+:4'FB;% \>DQ MAO I)#/!!&H\%N3T'^%;A=V)FJMNC+R/,2.$7/@MGFL+?8Q28);E[<@BF_97 M_9&:U9)I?Z35%@UNTV1Y['CDNCW/S1BVJFCS>A5S:CC35RD"N M*:D2(HO93,,TVH6ZQ/(XC[P=67+P;&9FK_J<6B+%\E1SZAT3CCQZNU7E)!.E MZ :W+FFBAN)29]I5P,BCMS.-ONX4FDQ:(W&7JE>(=FD\4WCB^.UK"\$(O))& MF#6NK//^HK(FNS2?.AYI4%,2*Z23':XY;?+MPJ1>ZSD^'UR*.1S)<0MJ7G9< M!R$=TR^HKC[IC12>/'YF0ZW5.IB:3#%)@24HJM>8LTV?IXY'NIUI299&+*JI M7B9MTT4V1_@L&'E$I:K*&.:D/N*0Q4(GV4&^V,9)^,P=E=X8Z_!W8[YI8_W, MT)WWF2J]K'30EMQ2,86'0[%+:>->6DHX3(3O;>^O^WZ8I]Q%:F%G7)C6E>#) MR-N]'/JF3=$U89(+0U R/%!X?9TLG>3%$%&Y.0UL M/;,01S);RE1G94KYXY_,!_G%P*V3MT_]:Z=_NP1PHUD#:F/+@<:%AU/FSF_T MC!>74?*"P[0]-_U=1QDZO:$R!\_^^+E"Z'WJ'O29U=#S!S\[\&6W)X7 =U<= M$;C^,.IT0D+"AYX\7KU@O),Z%>_L[-9$U8/3HA=_VI:!AQT>E;U$$3O:0Z.U M%&S5])Q3QVN'%E%U$HILP-_IZ_WE'STQ?-+>%.056+@1$FBR/06'GZ^!M^* MX "L)#BZ#.)])/VT8[8[/94G"TY>03P#.0>YI(9'NI!1YR3Z;Q=NJS9PI'1)\/](R$#S M+? JU_;D\\8S'T3M-!"J.?AD#?5X%S%OI?9MK*H$_4.\O74' C7>KCR0,OB[ M4,+"@/CH4.KEO#(XNA9V(3P(TX.W J4 YR_?GQCYN) S@Z#U^!6SB=%+XA7 M7V+ L(H)Q'^Z8#GRC]T?^W.#(=,V7(*!@Q@&'+OP.8C/!,\U=Q^$P5GPR4$, MMU<(M1V#O 1>Z3#NQYY8]P8MW0X6Q8^J>*U\XYGPK,'L#/R\K!PF$WRP&)*F8 M$9%@1"H5,R("C,@\(T3,B @P GLF8M,4!48 TQ1K1!08 4S3AY>G8D;\&B/. M<)_M9XYL1.+:RSJ)$5LD");@A__OC]0?7]UZ\&>2N"JX1_KGAXG_'1^\9'L2 M-39U"7PY!$%T@CF(H5\*?\,__ON?\7G!16-5B-XB7U0!^ZHJH,AS*G/3J@#3 M1H?"?C&7]"QK_?S*0D4^_N_1:L\C!M2MBP%V(9MW;=@+[FU.%1Z?&([\M)>G MWYZSP.3JVT\%1OM'=(<)[[YCR'"37P% :' M2Y0658OG281LB9ER2D8J%=GGP]9 R$>-0WYSW[JVV%Y%7:\CY)=0U^M@S45& M75$^.Q;TQ3)5F#*D:[4&[:EN3C7_TNI:&Z36:F'$4HQJT,F^N"CXVISFPTX_ M'ZKK;<94^>WESD20!0I+,"Q;->W =PCO+6^S/^> S;FQ@.HRASMWL.V@"!@0M&"; M\Q;<\5H!:@,8VMIM>"?\@Q;?QMN^TC8059@A=D9S>).J;]H%LO&IE%+NP5#(Y/](D8/^GB] M!:_1P.8+Y/$=@#C+<>-9CFLY1-&V"ZN6VIQ_K3"M%:ND)4%N]0ZRS&;1LJV22M^G%:X-='<;JP/KY_8]8D0'5?\ M"AF*DZYX+MQ^/^6,3\4*VVG.>P5N;@WG!7ML:H.ASY/OY"CN,$7Q?HF$;$BP M."(NC+A,;N+:AN/["B>NO=+(G-2>MR_UYT]JV:9DX!QM^ @YUK/T>(X2[(KF M@\Y'!'7F>0>' MH3L5W#X$WRO/@4UP0WP5=0D18]J"*[^(([*'LU)T=Y7)XG7&3TE_ !4 C[,00=%793"9%"P&0@PN ' M;-Q!&WZ&AQ PY%8X>,I1XJ^\' M1Q6?X9WS$?.V&%:PZX@HH+%:NX72AE3>+I,.B7!2 MA[R"-Y5'?C_%)>=5=%-J;XH+!MB_Z]N3:U+%S'1'7HM*935UA)+KVG2MY&9P M5TB=WA6./GC:&NN@M<_[@#C/[P"O1M>@;*$L14DF"1)FTJ@TP1,2GN$SF52: MGZ11$44E8CS!A;>0AKQI#?HC+D4BN51+U,5J9FW,61Z%H=[AR$IG;6TR]*RK M>5Z^7VY[3:K'^SQV/-(FS7D^6^B1#%FQ1**Z^I1%4*[:KHUI8HA/9V#MQ/$\EWJCX\ZUG*GE!(N.< MA2,GH2Q3*T1+H6)KR!5SAM\I#T9X)\.> JC,),?6&.T-6MJB."*;96M."MI) M@,JY1A2FK+9TM*)(S[SU\ M*B\*R\4(-KPDY;1DNS,%7NPQZA:=K6B*T9KGN?ZT,BM-=1J9N'1HF("NR1+M M?C NP,Q$+X31]3Z"YH?WX5#\.0&[H8:&+0&6#G>[.;#/ 0E>KLI]'R3:6RYD M!4<5@97-JQ!AX#T\M!)F&(->D:.XOM89YQ>%Y69=4XXY,L(2"7!'EC!\MX@7[_]5E<-^4> )0G_ M.OHZ/!<-TC'@/8$8)9A6Y_S.["<7MP_)]B(77UO. X/)!0\AB6<"CS%07AY[ M37BFCWOEQHR(&?%8C @;*\>,N#XC\.<8L"P*C(A-4T08$9NFJ# B-DUG9<3G M"]0^%SY\WZHAGM%16N9;BC=^9I5C&MP:#7X?\1!'GXD8\?!V+,=]*,F%X.X> M:[5G /E\XZ5.XA8X=I:VNNO:[HW.&^$)S2 MKJ0-F)>PJ@ZV\CUQ%U&\JX#G2(PLZ?P9D?L\\>+C'1@6>5Z- H-3Q8+M.VAD MTD1;\=PALE S#8QQ:D(W=?;S*NP7MH>3N LGMH&*-!YH.1W)"N)R[%UN!Z*A&; 6N905^W4F\A!7(:N,.Z9;74XY,H[)FJ39K M-R!8#P6M 'X*T.HD[F9$U/32T[@\UL=; -.C?P>WY?8N 8JZ+-A0+:=_2ZIC MZ<+Z1\"3';C'5N$PZAD/<+[ 1]N[B &XR>$UP;WG'CPL*1D>/E2F( W_A!T7U@[.^#[ MS#.^"W-_O-@J'-H,%.A)ZM^)O;\A'8[X!(%8]DAU +2R_=DAULKNPY]< MVR MV36M'QCZ3!ZRF$"?J=01ER^2),=?[>=_A<34AC;O7]UF[N3%IT O/FIU$L!# MP;1ZS@RP:YP7'1'V[XZ>UH.WI#Y%P2UFC"ADCG%+KC!NDX,^?0JNCLX8>J_KDKR6;.7Q M_KA77PXQ^A1LAVU5%HRU?PJN3ET;?%IJ9S!FK6'UOB*.^#Q]$JZN+S?!\#&:1L@.7A+H8ELI)N+JZ MQ325.9Z:<3G%98IF62/IG'\2KJX_3!-Z@]8Y-3?.K/VNBJI!YXNC>3++VH 9 MZN,2IQK><)098\,>&6]6E)_92'G@SS6RKON4ES;0?)8]!8$G+L7SF>.11$X;E.?8 LQS MUD8DII 95;) EI#CH6:I--6:U;7.Y-*KQK*&K&1R"(:BQT.E[$*:&;56">GX MU&S(*JZEYWTX](A0PPEB+B6$&R#K55+1VX19H;U@Z!&E2F29I3M,BF9D*6D3 ME2;);S8*]&?>CN0IO8T7:^L^\"IT4I,$QJBB4.Z/1O92A4%5;%<+7+685-)N M :(ZLJPHB+QHE<6WUB#QQ$J:QGE:'#2TST[4%77:-7'T^MSK^ M*;GO: J274[,%N?A:=/ *YW*VF=/R6C5T(%;9@HFDJP1$Q9K%DJ#^4D9I3JL M4:JZW0V#>0M.-K09YBX5,/)H[>WL=% JK_4TMY 77HF51FP1/2G-!DO-^[D^ MT02:H7&D4Q4$>KD/T_@&)_1CG,,M2MZ[O_H06^]^D.2V0(27QI+[HB<;8[[) M,6A&C.<3,R)F1 RL]'B,B(&5HL&(V#1%A!&Q:8H*(V+3=%9&1+T"^/U5QWAG M,0UBS+=#.L28;S'FV_LZ2+ MJ# MG94=E#562(S8%NO?H^C?E?'6--3+\SZ1[&M54W1=B9QWAS7Z;O'6WK@N-=EQ M?B1\P;8%PTWHJA!J96(BJ'9B*>B>G% $U4B\-JZ_SX@EOH,+$E]CFE.R7V:K!%,#T5XJP+O!/S(:-YL32PBN:ZMC+[Q$XIH'X(134P>" MZCPEI/ "3!S;QHN,-%99#+E^.T[>R10 O114'9JBKID+#%%GSPYMK^&=,-QI M@;%ZDTZ;X 2M4BX/M:Q572@A+&'F"<&H.$T7:WFLY5%)]'U1RYV>7&B..\*, M\=KC@UI81PA.03BCP8$F'.:.)UQQ4##ULQ\!!NWC8G?;1_T-+,<]RY;+@G-A&:6@N( MD\TD&:\S79:S6%>SRA#:%3A\))IY0B[I[<5&)3+**UM;(96RZ8YLCHF7+&9;0C- ,P?9@/1)YRDGG#D@IVU8H6/%?Z> M%/XJ^<1?4/B^79D-R2)>17)L7D.1#=MS:PI4^#"E2%&II\R)BRDWG5+\6073 MA[U47_RXN+(I7G?<1S'NHWACW53?UK&^[@6N3ZP8?B.4N:;>8I.T8&P(8D-P-PU5WS<$*[QB5'J"RFOKYGC2GI)VF]T$AB#HJ?IS=(M= M3]7_O.G/%1G=/:/XJ 9XB_L#PY[QXYPABKU(4'RAY8) M.UZI@JZO0S\3'G0[LNC9JJO"(7N_F@K@N[$L&PEY)>H>Q)R>V.8\X8+W (_5 M\MRP)1IX[-9E31CO^[50C(*?@B]44W(2%I@2A#Z5$H(#OU!M^%/=<^ S?=/3 M)?#RA !FF]S-]$= VH-NKV?9]P[%N"-.9:$!B_?O;OS0B1F2XT"($;N ME0[-R5OY[X)Y9753U/[8M8WSE%DF-V@W=*Z/UK%E;S[+<@+061EHB 6FX-J> M?#XS^]KC%'G^6*A??PF_?/3V:Q3ZG*'B_A6'@G&=1B+8/I9^1K";QM._<$^5JTO,]V0;PIWZ MAL7@K-TU/MXLH]I=XW=VI-OF_.\UU-BJ^+5SC,UM@;IK)BS/%J>"(Q^4"YU1 MS2-U>?/Z51;;U '_FPF#[/KT ^B5ZKR\@YE;NKF6Y0 Z(F1Y/=BT^#Y1:>-6 MIDHRG39+M.I#)6\6#K)YY4;A%_)YO[D:>@X$Y%0I7W/<6-%-:\ @0GTEMBV2 M;'0G+(_S**P/QI_(2Z%+8]]^[SASN5J(T.H^N"*^36A'0Q'%8K]8G71%42/7 MSH@S,B51%MGH*6*6(Y,$9A9)1,@6-_EEH^0C,E1$_(]_T@3ZE";.6)=Q#3_X M3->T?IJ&ND/-NN86UY8=UU9%6&$$=0NNR0&LW&H7XYJ-=:.?;B/>+.W69[EU MN6;0T=.N'IN6;'F$.(A0FJ>'K7S/4!H^3\!M#L>1)R1]P6TN"@F*S"^D92Z: M$[M#];SFQO>Q>O:;ZQR3X58931W-AKV^5C0T-H+JV23SW527LT9(4^?'[2&R MK.5TV.$$;'[$$TI\!)UXF_%A;O_JR+:YPAFWQT?W1=_;,7.ZX#C-R1:AN6FW MX4P#A8+(S?P>$.!VB+/5I-*(GN,%UET@'KGLZ.,"-572$70C'0HI;(AIK?!1H>FGP@2C<.Y.)S[G5WMRRJ4S$L;+:<@>2V'M,MJMM5! MRC4E>BJDI F/W.3+B@;V4:PK$PV3:-! A?!/J- -!&),I]6ZBU.&7]49Z.NB MV'G0#[&CRR]1NM-]-;__VB3Y'6FX04?RS57EKND*^D6=R/LIXKW.!<]H['"] MMI7N3L=S1I/G*7K!I6?:PF1Y"CJ)&1)[0C,?Y1IC+_%C+S'6D=\K]>-XIC(]F\=5!Z?9W5.^_K9'_ M_35$DK!"($&\D!JC$DFAO"RF99X02)$7"/ ?! 4V@D $49)$\+K_"+M?E%UY MGLE-!4.1'=4 BI=7'4&Q91F"L#B^ZDYI403"NOW1Q;GS494&G&MH2#//B>V< M$ZH1P/$=3#L!YYT()^Z&*:[QQX]. "NT'0\O/L G%B Y1%70X;-%W70\6WY^ M*1*YPNV.AFG ";PRNZ1K*22=3@.*4 =,Y<&>D,'EE,!+$B[RQ)C ^'$*3?,2 ME9FD,A-4DJCTL1C0.3"[_]_>N7:W;2M[_WT_!59SLE=RCBZ\Z69W]UF.DW2G M36+OV&WW>>4%D9#%AB)5DHJM\^F?&8"4*%NV)<66"7*RVD2B> $&P. W?UP8 M1T$"V3^-(U=XD.6D+"7/!D=0ZED*90DMT_BLY?*3O]IR\?.!#TSLNQCWXLMJ M"\MD\JHDNZ]%5J;%K/C/EI636R5/!) M0ZW>\=3:HQA:J"]&[-TU=(]RD='):.2[(F:OCM^=O):Y5FPFUG EZ?>F+P(&DKW$I$R0@GT;*;+/!D-); MSU6D;W@"N0.SI&,_R6T*9FJH,GIWHDKB_0E:*5ODE8YYVMC4B%WWTZ*2R]"]=YBPHQ!H)6!?Q#2*4S3M M!YQN&,*AS#VQ$Z#Z0KU69T*[>,ZV?8[E?ROI[X%XF6DT?\L:+SR?0^&IGT>% M)K[(/10GM$#9ZF-Q"9R.[=W/+9#5$H;+"]AH88$XM\#:-L>RYC92;B%K:?#M MCD;68@]EQHO@KF&4YKF"^^+K'D62K5A[)--MX69EFP\IUL*\LWNHJ,3^8ZB@$6@_44E>T/Q1>,LZ) M6A2U59(>"689IOX9ZJ]KF M\XL\+]TOM+O APXDD=W3F@=C&7!H +Y:EKH\CH7A MI\7.#Q.Q?%QA65!AG9,;"!ZC'C,^A%YP&O#Y@;QQOC@U4UJL7LON3%?6VMJH MBZZNA"K<=^5F3? %P>%]@N_CKJ5Z8))\U[F]1 K__F%E =A"?,+%OE%\D"M, M!8MEEK"DV'0IFFI]&1_!$P]X -4OR?7L0UB!VSU>O<*N4GB9'LI7 & MP=HX1KGKQ?G)\5K50+)+B"I6L+(R+#L$SEBV#:C^V,2%#(TS$8'__& [N&GJ M=19\ G5DV:=F72^T9FSL(XCWU88$0Y\G#=Q78(+M?,&>&[]"A9@@VZ5/H:;+R N1+*;\&3V M98>5)0<<-E2D5?>XFX\>\QP0[PK;MDPY7J,"KEL!0V,9F^%C5\,7!4*;/^@* M[K!(ZWY0*4>DS6.1@N:U>?'L,^90M >U;;ES2!@Q=YGL[4I?%F3DNK,8&1?" M3750L#DNV!0K"S:7U4)=-@'ZB-4V)UR6J_ DL&!;*#B(P/\JX!]H ;L-#IN/G-_U?T08KT #Q'X$S_?-B;<# ^?H0K?3A2$L?WNT/(4>?B"9 +5<4DR6/"0D1YB!;@4F\&"<_[MV#>DK*Y% &">>/Q MK!3*!HE=XCBZ8E= R5EVL^Y+91';M,NQ)D&KS>+)@O34D+U>OCG!4HA*6A#7 M,(1"I83!E5@>>9B$F5CM#%=K UAE-$M1$\MW,D*G4BA4*8#YR5?EB1;VGD#4 M!02#>R.!"?( ,&<:W-E]Z2C1TGY6&V28E84\GL!1CFP;^&G@2UUM*=-& 3)( M@I<4)#I\L"?0O45HM!;[4\6=H10.LO$W(9U@%/HI>DGX:3:%P _LN48QH4SL)V+OMWM7_2& MO:$Y,/N];D_<'JIY4R7'CKQT(1/3:<6T,>^QW4R88*E^,@>=I0DUHD+_ O^<_%Q9\SL_/VPY^SWWGPY=WL9/SVC]\_']VL]^NO M38X^A?Y? R]Y=WQZ^5OZYW^2Y/S76]=^ES4V#'VY%TWEKLI9&RS^TP#/Y_DC M/X/$#?(5GDR2OR>_?KLPYF^N_TIX\\OOH^AR,YL,_.3Z:.IYOQM_@^/]Z MOAS5=8S^*_X:*^L7<3D+5)=[UOSM=9'WH:>,D07N0/Y2^?72.:UW@6(;B38+ M5[5OE[1BRN+TMFDLY!Y4J*F'[+T8QC-$"JLKR]9IL+?1[#* RO/)3]TQ@J", MU0,9TJDQF(FJ#IG#&T8\]M1@>^;Y6NQ3W%J]'G E\N7>DX 6D"/TB"H\_1S) M%I&+]L=1/)74Q'Y!K @E<"T4]T810R83X2'_(!4S%0?+<9J;[476_L4FFT.1 M7D&@K'K,8CJ7\@8":23[40!.8%O0^J4KCTR)9&DDV&5".CTU"<-&NN@CMLO@1_4]AJ'HQ$TB18C'S M%7056S/H^K-PJS/]CB\2R++7L5Z"4Q/,S]4!&M*>Q^(;.YT,HA['QA[W&-#( M2+&+ P! '>1IG-XC5!D:=,5!UPX-NM*@ZW<-NF:N=]@?"6O4YQ?NT#(OG-YP M=,&'AG'A"MOIC%S>'YBKOOCTZ,OYAP\?+OJ=GN5T'M7SWE?IM_+%F$;EBR&E M"S>Z[$M,8Z&^+(27"[O?,;I&N;H2: )+H:BQ5(D>GIR>RTAW!B3/*ID55,AE M)#"B3[,9Q3*4P ERWE+?/GMW MC'R4[\_/3.JL^T^*8V#NGL;=UU3A/[,1ZTPBA$#B./*DQWZ3#6&@ZY9#7U+@A:KM9K G M;2.2/)K)9=5&07>58W!9%)5D=0OGJGWC?J!Z!M4:KL00?+N<0GUU==42&'M, M_; %\1;.>!4;)4J:.54U#=(D9[V,YBMS5=WL-D)>D9<1MAQ?C(OEF%8,C%+KY==LPSWU6$9\Z\,PET5QZ3 M&TRFJ7Q%B=(2V"LSFWB/3P^Y''[+AV5G0U0"U,P>:"I>[D#D#/<="W(:0VV% M8#BXK9DW"C\N1YG6_%B8M9O]RF3X+$>I O5-*3H)_HMN5+ZLQ8)7&<)R-8Z6%!9*K%8'90RH17FXC?90 MHPGP8"@(C&FD4EZHZRI)$WF6',_+=*JK<;1R*ZE286H68\UY.+W\J7&S.625 M4@VYKBR *T85I]'L73K^#J]U,\Z(CND9'] ?]8:]S*_8TS47/>UP0 M,BX2?%0_]5/LPS,'N-:D8;&SRDXL_HRU]',4-O--/YGJ3M4V,PLO MFH'-#:)8J;7N<,BYL.P+X;D>U%I77 P'9O?"M+S>T' L,1K=7IQG6MDRX_G) M50C/&_O3:'0,(2SPU!L1"APH+UG=M5HL3S-;)%I&02K9+$\W[A[Q( ++&RAB M64XWQ*]?, Z"LBV0'9R"4T>>=UG@MFT@R6T5%6WE9K8:+FR5_9ZM*"@N0'B2 MMK)I$:XOH35M:KE$'D)8T-8Z/?-B,!CT^_8(7'[?N=W6["Q[LFJA32#7N"@V MJVH7EEVVT-)N+8ID)=&%%O)@&_/8^7),)YL.EL<2@&KY\J1GCC:W;59Y XIO MF27.'$=A)$O]L!CH\ N9?K(&]E"Y>>R4Q] .BH6SMJNZ+0LLUIYE"ZJ@Q\-) M>ANT&V? .QW'M"^L(71/SJ#?O1@:0_MB9(U&PK*"(7).1R0#8*E3Q: M=;]1V^^T^(I!-_'P-)Q1TN&,+@UGT'#&8PQG] 3O>5;/NNB*D0%]2(]?#(?F M\ *BI'[?'0QL>^3='L[XXZ)K.8;]N)'\4XQF_+%N,*/S[GH,KB9-+BRSXQAE MTR,ZJ$?(!#[80R8W=M%9N.^%?/_H_>;=^7O%,_%L=3&Z%[DS-8E7OI]8ZOP\ MD3-AE"@E5\FAEOU42\OO2C8X&/7&6K.E$K[&D,D3I4GV/6L3Y;2<6T,^V7I] MH-*,"\!FRQJC,$*MRX,S$67SP;Q&X;3^PMQK-W7(!]":OSW5$,&#Y6#=70[+ M"OUL!7(4!"S)4R$K<[[6,U]> D@V7RP$70[HY$-@"VHL,AW.2AI'5^%"@EWD M?3%.)V>5PRWELGR@PS1ZMA*RLQ+*/>@CIB/P0Y%WVV;+ZF^(C;>\(G'D%AS9 M(XXDCBS!7@2/QG[O_O.O#V\^Y/CW^>V[_RSX1VU9DE=JM94K5.B 3Q-QD'\H M)@SK0%;^: E763#W![+"\5D:Y0=4;9-'5BJE,4UOU$B98^D.P#%$L^PB9>E! MO]57-7_S#:L'K;Y]]U;S[4UO8[;Z][S3:./;V-;CW,=J=:Q'N$VGU;EG'_XM MC#/H/,9M!BWK,Z?'V\LY#;R]7&>BW3'/M8[1]>?&:O&!\EBNWB/%O MYA!.9=+MEF]\7K:@+6PF!U0@AEYV2-_?\![_\8_57K6M.0 D&THY/PUC--@# M9WV>X4R(72K8G1[K>XI8UY>L/^!I-:YN;T7BQKY\3>XN-KFSBZAM+5'XN$,E MR7['>%*K&H1:X&X.!@&YG%7GGO=F[+,N9?!?H\J$BPG>^Q!V?XY:N_DC#'.H M4CT8PM6H3A6)J@247:W:M'THH$&- 0^$(Y%O\QEZ6[P8#EK'AL')=NWHOMAL M^>SW0)+9^']K]&/>,[S;; MK3H\2%M/T6+O!);ON^U#G?Q39.6NSO([7=I#'CN;6;62I!VR]S\-:_/V*OLM>/XB>?WE!O#@9'Q)7X'0E'C8?%!__A[ M%J6'#SY.G7;X8S88.T[3Z4&[CW>OV^VW/ZIE]Q_#$M6VVQNGD$3:E>V @>&WU.9JH M):QJ'KR<;N+))0YJ!R@Y;+RB0@3[,XKE:AVG=T"%M._RB!?RYG&*)7I$'!Q/I@8D_A1&GV!MTTAR7Q MLR6.; 9FQS&[G;;7ZUC]P6"/D4T6QN3;T90XIM&NVM^^E= MA!285JDTRQTU=]J6A4'S8$]!JLA:19YG)VG%[; M&]C=KM4A6;8*];ZLL$ZRK-X 3K)L!=&:9%E]<;G3MGIMR[",FH$PR;+5@6.2 M92M(>B3+UH<*29:M+3N2+%L/SB19=B=9UB;R+#-YEE*6-9QN9V#91M?I.D8[ MG5BVV1UTNYYY(:[MIB;:+$FSN@$[2;-Z0SA)LQ7$:Y)F]47F3MOJH#1KUPR& M29JM#B"3-%M!TB-IMCY42-)L;=F1I-EZ<"9)LSM(L_N9+ZO5%BWE5$/OW#O MVJL0>E/[?#,/^%5"FYV51UNDST75Z@[9G]HU!UX80P7G.C9.7KTN7+]:=3**0G:61^_7F MM GUUN]+/\$7B:0446S&-6?-309&R]EE[8N,;;MIF7:G.Z"08BO#.;1_\GWF M&;2-P3ZW3RX+)="X=C7'M64E\(2;S5QL!GZ(CBH4AT]?XC0(KMVH"0V":T=" M- A.@^ T"$Z#X'4:!'>V'!80X,TW Z5GL2\TD3!XV,@6V( M:\=RAK;MC$;/.N+^)X]1(,/52*/(\GJ*H=S2YG2%7VEE*.YXWC>:_"=(UAG1:O[1I MGLO*VMLB!_%S>3)MFFVC3_O[UU;5?>Q,EP6V]YMKPK_J.&TBQ;*2(LFY]>!) MTF[KP9ZDW>XP.;&Z.TM5%47+N+Q*";\6?!STK&XN_,+WKFU6D_N>"LI.4]/6YM7MG>\KJ9?O[K+)@S4\KGED'R>>7C)Y+/-0^*2#[7/=R1 M3$5RQD(?6\'O1'ZGE]0)'4\WK@)*GG]4!/4L]W4,\= M6MJODSYM&H9E=P=+?=JT;%/JT\XSZM-O1>+&_A07#;(;B_QI&?_&LB/M#%8. M9>^)=KS9FWCFT)K]>_:":!L.ZE-FS;I_TJ>JLV[J2>-64IXTBUXV:IHD.]4B MTR0[U2//)#M5(-.UX,ZUE EEF6\IB<:QG.WVB"72K)(2]EB;7)K&WMX(BEM: MJA=]>F(20J&SH\M8"/F.T'LF"/IIPCP_%FX:Q8D\$HU&OBOB/6Z?KUU3*"NO M;[;O)C%X*?OL?>T(6H$R+"M>*X8@9M:2F6GG5%)A=6=C4F$K2'6DPM:$ $F% MK0T[9L]HP>'O,[ [%M[ MGCJ[]HU6&%2N5W))9=6.QOL;+60GPBYECTR;9^K.SC0O5F,@[K0M"R76?LU0 MER36ZH!O,8NR$GC"C6*.@^O-P \1#T-Q2.)K17"/Q->:H"&)K_4 2!)?Z\&: M)+[N)+[2S@5:4&@9]_ T#:?;&5BFT3-[_4X[G5BFV8-#GGEA&LW][5[@QTG* MI! KY[FFD=RL@)39JJ,Z*;,:XSZ3,U@0-29FM!T"2,EL/UB1E=A=EUB%=5@,&+>^TV'5[&=C[WE'V\?8G8+-$ M>.S*3\=2W24AMT)D3QL9:,WKM)&!]BBNEN$07VO)U[21 6FYNG,T;6100:XC MQ;8F!$B*;3TPD13;>A E*;:[*+8=4FPU(,T2*K:=3M_N&6;/,/K]KM6>Q'S2 MM/#[P#:D;.MZ;K\G]BW>XJS9V'=QWJS2<7\/_90=7?'8*\BV4)(B?D"3+4BR M+6)W+=C=-)K_)B#7%$- MFZL[W[C#7DS9S38JD[8H_/U#,0/+&M!THR"*#UX8\L]AP6*9)2Q9)2Y%L\!GM<*N<)ORZ63#5 M"L%GE^7'8IFH_&"4^,AR![$(."IU-\HI*V9H >6V>JN%K%CMGJ=6Z7\V"3& M\'\[^Z"T6Z6QOC@_.5ZGA#ZL;9YCK4-Q\QA^A1J0W)HM>D\[N&GJ=1:4U7I1 M562Y8C4)^#01!_F'8I;1LIE5\?ZN2E?>RF0Q\ED:Y0=4&H1Z5V#-5T:K-$@!BWA8,T]T^N=_;TJ$$=:)M,@ MF@N1#B ;SY";1/,$!HE]GH6#=!K,,H]]@P[GC-W#2*&S@5GN18[;#]K+G=YK:$XB7*-(FQVE.V6D]' MZ*PE.@_:QH#$6!)C=29E$F,K2'4DQM:$ $F,K0DTM:.YTFEU9C1 M2:75'K_50AIB:BV9FE1:4FEU!VA2:2M(=:32UH0 2:6M!R:22EL/HB25=C>5 MUB+(+#-DZJ72]IY'I;4>4FG-/LJTID$R;>V GF1:C2&=9%KM^5NMRR&HUA*J M2:8EF59W@B:9MH)41S)M30B09-IZ8"+)M/4@2I)I=Y-I;8+,,D.F7C)M_WED M6OL.F?;763!GEB$E6I,DVMK!/$FT&@,Z2;3:LS< 1I^ 6E.@)HF6)%K=Z9DD MV@I2'4FT-2% DFCK@8DDT=:#*$FBW4VB=0@RRPR9>DFT@^>1:)T[)=I02'W6 M(7FV;B!/\JS&<$[RK/;<#7"Q7>$13);OQ&EZTKIX&Z:=F]@&,3?FO(W0,9VXR0$ MU>7)M-VV^BC3]FJ&RR335H>@BUF4E< 3;A3SU(_"9N"'R)FA."0!MR*X1P)N M3="0!-QZ "0)N/5@31)P=Q-PNX2?9<;/$@JXG4[?[AEFWS LT^ZW)S&?-#'( M,RW;1!77,1QA#KSGT7*[=VBY)VX:#47,;'-C(??S?T[9[V='2KAEKT;P0!$' M\XT%WMT_E4GEUQFQ2>6L%?*3RUH0-2>6M!T&2REL/ MV"25=S>5MT_X66;\W(?*F^PD\UKPT>KTEC+O()_+:W:&=M_J/H_,V[]'YOT< M?1,3.:%72;V#)Y-Z:<\&[H.ZBCU=@B_-<5ONVW:;0N@H&9@ M35)O=5C[214APKH*>F,BP'IDFCBQ'GDFHJQ IFO!G7<+N@."S#)#9KD%W4'/ M6@BZ\+UK&]>HZ'K6\XBY@WO$W$^XT6ZV-8-ED))+R$^3=JO \:3DZD[H@"$6 M8;>FV-UO&UT2-#ST^F 9\?R%.SAS?AES2:'%B]EMW!_A,.C978 M9'?A>VXTXR4FL7#?E9LU71$$AS=LKNY\XPY[,67^ZG!IB\+?/Q0SL*P!33<* MHOC@A2'_'!8LEEG"DE7B4C2'L>!?FWP$3SS@P16?)UGV>@/9DJ+8@U^,/#4V M)(=!A;,[+UGA,]KA5CE-^'6S8*H53L\NRX_%,E'YP2CQ<97502P"CKK?C7+* MBAD:P(%EMKJK1>R8K5[G5BD_-HDQ_-_./BAQ5XFP+\Y/CM>II0_KG^=8ZU#> M/(9?H08DM^3'>]K!35.OLZ"LUHNJ(LL5JTG IXDXR#\4LXR6S:R*]W=5NO)6 M)HN1S](H/Z#*4!Y9*>IBC*;.D?5=-C)H;M$LNRCKL_JMOJI/58\[[Q[(,0V* M,LL<999X),!/$_-UCN9I.$?W.'T!(Q1_:QE_VVT+!W1L&M"A 1U-49L&="K( M=32@4Q,$I &=>H B#>C4 RAI9OXN@BYMM%)JQ"SO=MH#PS20>URHY#]P8- S-D;'GZE6?C:X3W-PM>9V4FVU9W&:>MLC1'; M--M&'[?.'M2,GDFUK0Y2DVI;0:PCU;8F!$BJ;3TXD53;>B EJ;8[J;881!%D MEAFJ(W[:E"8J[NG$UB;@6ICL3S+S'W3.!N!H^NYEI]J>::I.;6 MA?M)S=49YDG-U1W3D2N)O35E[W[;E!LJF#6C:E)SJP/:I.96D.I(S:T) )*: M6P],)#6W'D1):NYN:JY-D%EFR"RQFFL9INUT.\L-NY5HU8VK2C: MGMP7M[:\O6@;0QP8]QNSDD_)+PJSN3%[,H*X$GW"CFJ1^%S< /$5Q#<4B2 M<$6 CR3AFL A2<+U($B2A.O!FB0)[R()FP;19YGIL[R*<,\8#/J.T_;L;L?I M]M0LWKWMJCL;!NNEWE]Y../Q_!\OS*YQ:)M2\.UM(/A^_L\I^_WLJ,$^A&Y+ M'CF.PB3;XR$:L8]P*(AB#[_F3\^?^8F#R=0334,]<;&5 Y]$X>6-!S;6/.V/ M/T^;;_Y@QY]8I]LSI-),1Y&:1I-B [KE6EBR'KDF7"S IFN!93>K1?3'.)R M(V@9=_"]1S+>VQSB]WZ$]MKRO9W2??X*_\L2X MT 7'Z$_'AYZ?3 ,^/Y"G9K=M*D][8/5:=@?[)S@T5GQA=^%[;@[C)6:Q<-^5 MFS5=$02']_KP[ Y[,5(O;R#;"% 0_&+DJ;$A.< [8-F7K/ 9[7"KG";\ MNEDPU4J4DUV6'XMEHO*#4>*C"'L0BX"G@*HWRBDK9JC:!Y;9ZJX6L6.V>IU; MI?S8I,/P?SO[H$!> ?>+\Y/C=8#\,/*>8ZU#^ 0.3:$&)+= \)YV<-/4ZRPH MJ_6BJLARQ6H2\&DB#O(/Q2RC93.KXOU=E:Z\EV^H#(/'0>V@L:64\QWJ$A0B;K$*@@:-Z MAQ&T $'CN(!&C70G?I2;">,UQ7A:@$"JL>[(3JIQK7"/5./ZT"&IQO5@2%*- MZX&;I!KOJ!K;A*!E1M 2;EG3Z?3MGF'V#<,R[7Y[$O-)$P,]T[)-J1P/^H9C M\'WIQ^=C/WY0/LYEW1,WC88B9BCI[D5"IHUL*+ 3TM"LKZA @G)N@3-MMLX-*$S8D&;D>!$DRV;,/LV8-!KB/#]X%M7*.0[.UO!_3S\^:G+T>? MV*^1'Z;LK?@F@F@JY>1;$C)/4/B](20[&PC)OWP\>7/T\?W)[Y_??OGP[DR* MO*3EZH;VIM'\-_&ZKKQ.6J[N)$Z[DFN,UZ;9MMK8Q]<,G$G*K0Y*/ZGB0U17 M06], %B/3!,FUB//1)05R'0MN/-NP;9%DFW).5-/R79O.Y O)_Q^CEK,Q FX MJ+ENK^1^XG-F*16W2RIN37B?5%R=(9Y47-WQG#8$UYBY2<4E%5=WNB85MX)4 M1RIN30"05-QZ8"*IN/4@2E)Q=U1Q+5)QR\V9)59Q30-"N.Y2Q35P X=LXJWY M7$*NM9V0*T8CX>(+=#(Q]]=9,&=69^/-'4C-K0+WT_X*.L,\J;FZ8WK&(H3? MFN(W8(&#@JY9,[ F0;<]DGEK@H8D\]8#($GFK0=KDLR[H\SKD,Q; M;@(MLJ_NM$UZ;ZV0C_3>FM AZ;WU8$C2>^O!FJ3W[J3W6B3V MEAH_]R'V;JGUF@/;M#IFMV=TG=Z@[9E]8]"U/51Y+6-?$N\G'LY&8(I9# 7P MT)O0+'OG-Z&=P>WY-(H%.TU%BWU,/=)QM8/ZL^9V[V4B4"]1IFW;;EJFW>D. MB,$U97#<4G<[%9[(NCR9'K2-01NWH*\9,Y.*6QV,IBT8*HAUI-76! %)JZT' M)Y)66P^B)*UV)ZW6)L8L,V-J)M6:^Y)JOX@DC7T79=FS-'*_LM,9))LGXD'9 MUMQ9MJ7YMCH"/>FT&D,ZZ;3:\S?JM-NU0*+J\F2:=%K2:75G:-)I*XAUI-/6 M! %)IZT')Y).6P^B_#Z=MIWR82#@7\__]O-/\%=^)S<0/#X81NGXT/.3:<#G M!_+4[.%-^"6-)@=6KV5WL/^$0V.E*=E=^)X;S7B)22S<=^5F35<$P>$-FZL[ MW[C#7DS9R^(J:8O"WS\4,["L 4TW"J+XX(4A_QP6+)99PI)5XE(TA['@7YM\ M!$\\X,$5GR=9]GH#V9*BV(-?C#PU-B2'X29ZG9>L\!GM<*N<)ORZ63#5"J=G ME^7'8IFH_&"4^+@^ZB 6 <>5]#?**2MF: 'EMGJKA:Q8[9ZG5NE_-@DQO!_ M._N@Q%LELKXX/SE>)XH^+'.>8ZU#^?(8?H4:D-S2'^]I!S=-OG*6YDL1CY+H_R *D-Y9*6HBS&:.D?6=]G( MH+E%L^RBK,_JM_JJ/E4][KQSG,:A&+/,,689]T]9#-28_4'/61VHV=L&V_6OWUZSC_[$AUO24(UV,?U9 MTVP?4:2N:Z1.@S7:!^$X6$-;8>L:6@_:5I<&:VBP1F>0IL&:"H(=#=;4! %I ML*8>G$B#-?4@2II4OY-8VR'&+#-CEE&LS3:[ANBMYW2[B\VNK>4[#:U]2;9G MLR$.ZZ!1'II-+U5:RVIL(-/^>^:[7S]&E[[+CJ-XFFUW2"JM=C!/;RO4F=!I M VO=V1LU6@)J38':--NF@=M76S5C9=)HJ\//I-%6$.M(HZT) 9)&6P].)(VV M'DA)&NU.&FTWLP=:QW(."35+B9HEEFIMP^@;'67D,(&*K?R'88T-59#.B?156?D)M%5 M=YA&8B!"UI20.VWYQD"[9NA+DFMU.)@DUPI"'4FN->$_DESK08DDN=8#*$ER MW4ER[9'DJ@%JEEAR-0V(XKJ#A>1JF%8NN5K=?6FN)Z.1B-E'D8);R&?%OA6N MVK? -N2,6&.3&;%O>>R'[(T?!"(>"OK0,@FS%<2ZQ\_SZB:A!('UR#2A8CWR3%!9@4S7 M CWOU&;[I,UJ0)MEU&9-P^EV!I9I#)Q.9]!.)Y9I6;U.US,O4)EM[FTR[+MK MX?..25F<[FKPR[.=^6-DC0#O9)Q-4;X$G$U1W-:I$@B;CV@DD3LDV>H.XC3O5F.Z)LF6)%O=(9HDVPIR'4FV]6% MDFSK08HDV=8#*DFRW4FRM4BRU8 V-91L[4K/NUW9.8$47.U(GQ1F=%%S= MN1S@PR;8UA2V2<$E!5=WIB8%MX)<1PIN?1B0%-QZD"(IN/6 2E)P=U)P;5)P M-:!-#15<9__;W)X)*$@>ND**K,=C'EX*YH?L&"Z+HX"=!CPDM54[*B>U56_2 M)K55=X8&4' (C#4%8U);26W5G7]);:T@UY':6A\&)+6U'J1(:FL]H)+4UIW4 M5H?45@UH\SG45O_Z_WF1^\^UJBNJK>N$U\[ Z?:E\&IV;&?@F1?]K_M27;^( M)(U]-Q4>.TLC]RO[/?13]@M.<4U6)]$>C[D/%X4-=OSN1"FS[T](A=6-UDF% MU9O 2875G:T_I&+".BV#MB[0E9H[;9.D6))BM89CDF(K"'WO5U'(4) M[BD0C=B[.$S2?[PPN\;A/_AD>LC^%VQ^R3Y^/&VP#U#%IT+6<_9%;B @8N&Q MT]DP\%UVY+IP:@K%P-[[\83FM1)T$W03=-6T$UZ;W5 G/1> M0D]"3T)/0D]"SSIEF=!32_16'#-YILN^.(VN1'P1C2Z. "CB4,S7 M*;(/:ZSR-JBPYK=AK_S0#6:>\%BD-F4] TOP=!9#JJ?\4N#)Z=A/V%$8SGC MOHAI%*=X\GNX*3.-YF^O264EU"74)=2M29X)=6N194)=+5&75-;JX"^IK(2> MA)Z$GH2>A)YURG)%T;.=\F$@X%_/__;S3_!7?BWA3.?@#J]>R.]B%PJ&Q4K;L+GS/C6:\Q"06[KMRLZ8K@N#PWJXCN\->3-G+ MEKM)6Q3^_J&8@64-:+I1$,4'+PSYY[!@L.(!#Z[X M/,FRUQO(EA3%'OQBY*FQ(3D,7QS2>!"+@./R]QOEE!4S-( #RVQU5XO8,5N]SJU2?FP88_B_G7U8D5[/ M3XYW$UO/L=:A?HH[K4(-2&[)I/>T@YNFOF7!@H4ZRD"02EG1%Y5'EC16G(!/ M$W&0?R@: 6V=W06?Z*J4YNU.%BR?I5%^0)6J/+)2^,7 39TC6X!L=M HUEV M4=:+]5M]5<.J'HRN#3UMM]MOR\@ MW"S!V\=19K 7\K5<3K);YW[0HM-2DMW=EPRKI M/ D4+C95/LP^^[UUUCINH:R!-\]5D(XAA8PC+YJF'?3V)Z]^"'$ILGS_=#29 MBC!1.NL7X4:SZ01?J7(:!;X[)QF32+:"F222K50.B62USR"1K 8D2S)F=>B6 M9$R"/X(_@C_MA_"P \%^\^;+Q_9 MAS!)>>@*]C9R9U+HP_R9YJ&Y\M/QXA[+9.7/:Q%H M$FA6)9,$FI7*(8&F]ADDT-0 -$EEK QYDLI(\$?P1_"G?PX)_K3/(,&?!O!W MI\IX=OPO4AG+S'I%.>^<7T=A-)FS=]>I"!.<6GCFCL6$+V1'$OJ(]2J326*] M2N606$_[#!+K:0X$\#^+M3Z#L^^DA" M7YE9[P&A[Y@'[BQ0ZXD_^N'7(4\$R7Y$?M7+))%?I7)(Y*=]!HG\-" _DOTJ M@X(D^Q'\$?P1_.F?0X(_[3-(\*D.J7YE9[P'5[R,?BH $/V(^8KYJ9)&83_\<$O.5/(NU8#X2_"H#@23X M$?P1_!'\Z9]#@C_M,TCPIP'\W2GXG7YY1X)?F5GO <'O-!8)U !:WDOH1^A7 MH2P2^NF?0T*_DF>Q%NA'NE]E6)!T/X(_@C^"/_US2/"G?08)_C2 OSMT/XI\!A/5E[9 3 ZG42(W$#F(!>X?_$TLRMEXB=DII&U9YDTW"J+X MX(4A_QSF=\22OW4[^>A65^1=E=5IP9V'4>R)^"",0K&P'^.S-&(&,_"Y;7AP M_KZ!OELJ4$6]=A8Q.+*3\>M.UI2W8JH9&4TBT,_&1?+:1$3 M0+AC,C]A0P%)8Z/%F1A$)&,>!"R,4OB5>4),X#@T0?B"7LHR#D=8^/*S><@@ M'F'360Q-'#(0C=B9<.6,!+./W]*QP".S&-H__/[NVAWS$(*;(S?%G\V![30P MD.$3 7&MQU[A!=ECBB=G3WO=8/"X"$Z*K_P$JM9L^!<\#Y.'%P8^5XY5/9JG M+%&I:4!VXBQCRQ&('M0A=_ >/@@4L_26,U MZR))X3R<;;%(%?.R^1=,&HF!6X2#-ZRPS+Q=S+S,&YY:S'@#DNJ*:8KG%?(] M%:X_PJ81S%4J9,0GLP8/AC*E)BD?]3^E:I''43CR4;[Q><#26/!45I4QQX8H M0G89\Q"+$MN4"X:&4)Y!9<2ZEJ@J#4TVJ[I4P*J RU7"IRNE)?+":C X\ZMR M*<,8B$FD20/*_9M0!1]-?"GI#(7+9]"^\=+\F!\JR0<=SBO_-7IM],UP!%() M]0A=]BL??KB*9H$'/O"K *>@[N-&DZE(?:DAC7D\8?X(G/4P\%TXQ?,3-P"W M[=U5E11G%5C/#02/46,8'\+%TX#/#^2I-TQC]5IV9Y4K[2Y\OY,A5V[6=$40 M'-ZK:V1W>)QBE35-(+A@L9)EKS>0X6+>0K/4V) CQH[D)7UEF/ T MBN<,W%%XEUM\1+>3#>:LJ>*8C:R*OQJ^_L<+LVL<_BE4EZ'0$I*\0JM^*"D8 MNH>C,)Q!Q_!%(#LPZ#;>0U57MS"-YF\K7-LH=E,)]!X)W@NN42 J#ZM+P83B MFOD3@&4?'@@="!]&WX2RTN/;1/88]QC%S8QR)@3[ !2>Y:_SBK^VBBGCS/?^ M^>-%SW"Y/?)Z%Y;5$1=.WQI=#$W'N1@-+=X=&3UW:'1_5$U>78'W-+MH.=/X M[6PV@:3,LQ.>Q*<5\O;3<.4!F;\:1H&'-1G2QZG]O#^2UOR MC*A>..1Q<.!WA70S<;N^BZWB#GFOAK_Q1?>M]%7XK M;WOVX9?/1^>_?WEW]H2^T[):]KT=PNDL3F8\7.A>=8S)!5Y WY+!U',9@%?O)#=@SI\@(1-]@1'(Q"WI#\(H;Q#'HX9@T: MS#(L1_4GFW%UP?#8G+.FC)7:58TA=^W2=^!H0WY .0YY9,6_%*?GJ'.,6TYA MP^E%SJ UZ+U\\E&RNV'S9K]YJPVLH>LM!P^A)/#@/W^T?GQX7H;1,JSGML=] M#N$=)#V90DT]%^XXA([P$AI4(R=D=XE86\\T*UU5^/Z2?W#25:M?KPP[W99E M5BC+5+]+7K_?S ]VJ:!99YJ;9GK-DBCP/98S_[/FJ9VTV1D/_Q+B&SNZO.3Q M%0^H2FI3)9_'Y68U&N.ZDE5GJLI4E?6AA^.Q+T800$(P*4<53T8CWQ4Q55JJ MM,]5:?O;![A+4_WX\ZO3V ]=?\J#==5:9O@U56^JWN7UR1314?VF^DWUNQ+U MNZJ*Q5$X^XMB//WJ(\D5J_:@>DSU6!-N4%K%>S_D$-]!>$=:!57:TE?:@ARQ MK+DXQ__(=:-9F.)ZK:PBWY0E2K: M23)H"E^.,6O0U/\:(K?(TSQ.XVN1'P1 MC2Z.H"K'H7C<.=%;S8K[[?/)G^SHXT=V^N[+VC&5R;F2Z!K(*I MW%0]ZQ)+K:%N@:MUY=PY.#]@4S0ZWC:9#57ZY)I67"8X]B?R:C^4CPKY1#1P M]8(K;04VF'ZH3+\M2% M\@[@Z\&$V;W!:) ".4\3FI(J?LFR0JKJMOB6X(K'>5;A<:UA)%.G M%CJK%)-\]PW:'";3+&;*+];W9)%GE:[+)L:,H@&]8 M#JJ\$FQ=V?S9[,&%B;B^6IBS;,&J(:FCGES@Y&=+G;RGFR3;-%IF9] =])W! MC7ZYP,SKI\:NW98.8K \A85=0W[<=)\K*-W^MAM=%?K!PB-Q][41%$<.E/GW M)BZN.U"LH, MJ&R>MVS4U&JK96Z[PR&5Q-Y:B;'M+F]4-D_12BR((:F5/&U)/"R[;MB]/^.@ MWV+2T=V:R_T+R_((='7!R#Z[V2>H+"HBO/WWMCN7WMU7:5SDYWX:/%YQ;]U? ME+BX[W:Z&A?W6XC!MET--@$W&HA-_=XSC@[?8Y.G?5-)"9SYXR M?^+\KSJ#4KBV)ZW&#[F[:C7L*N#>O:]D6+'90R]IN'_U&CG!'96*IW@7P_JE M+E)Q?>O'PDVCF)S;YL[MF?W7K4TD=IL'5%(J>Q3?1'Y)![]TWX*EU^20M'%( M3PA4&\:1NAJ O%%YO!%%@^2?*.![(."[8]$$^;'R^+$'%PN0ORJYOZ( [T%? M1'ZH]'YHM_4?Y)Q*[IPHV*MBL/>,>7X^=[7W3)?#ASUG_:ZA5ZM;B/B60[_/ M?FFQ-WX0B'@HW*]Z^,!'L4 U/>5=IKG'$,=C[L=P[WSMQYN(QYXV/K+T=>'Y M/.FCF.:[0MSO7C.SERY%6S]8 W]6"\ZK@2\J/=7I:@#R3^2?-,\D^2<-HLX' M#(3QY$=^I5Y<#BCUW@_=,7FI,GHIFDBJG?NA<<8'XU1R/EHX'T*DJOHH&FZD M$([\$_FG&OHG34*X1QLX_$5$HQ'[X@_Y)D$$>3$*\4I30*5U3Q3B/>AZR.V4 MW.T0/%75.STA/&WBN[1P3Q3_D0LC%U9'%U:W^.^]#QD-,IM=,A<*JJ;Z+8CV(_S79K\$(F3_XE>T1*:4/HQB M/^V<$\5^#X_\D=,IL],A<*JJ;Z+8CV(_S79F^CV67 $_;)3]VQ M"&@[OU*Z,@H!M?-1% (^Z'_(]^C@>PBCJNJBO@^CVO*=\*4IC5*^M+8FMMEK M,E:Z'G/Q?LV\GY%'EDEE^+]IJ0_/FN[ #T4S?[-SR^K?3&2_!&G^K[[)NG#?E9LU M7<"-P_NZI<=]%_8#CKC7+=BB\/7/X9YQ.@I__/U!+ P04 " "L@5U82);2./8$ "Y)P & &UR86TM M,C R,S$R,S%X97@R,V0Q+FAT;>U:;6_;-A#^*S<7:QL@>K<36W(-9([2!4L< MPU%0]%-!2V>+*$UJ%!W'_?6C7IPZ:;JFW9K6FPQ8MH['N^/Q>8X?>/U?#"/D M*>$Q)O![='X&B8B7"^0*8HE$:>F*JA0BD66$PSE*21F#WR1-Y@C@V&;'=%S7 MM UCT->VAO4DP7UP+;=GN;;;!KOKVQW?[<#X'%Y>1<.]4OOX8AB]'8>5V_'5 M;V>G0V@9EO7&&UK6<71<#;1-VX%($IY3104GS++"40M:J5*9;UFKU::0 M0JS7#5ZT%D7/*#24RW[,S%>B9EAZ^IW-CK&BB4M^Q[5^# MC"0)Y7.#X4QIB>EU/LHDG:*,,PNA<>RND0942O\[&]([7535Q*EBB!\.;E$ZI MN^%E]Y-/ M@).%]J&+S#OG7:?@$'E@2RI[WD,Y^K$[=&:]7FTUPXBU%Y+EZ&_^!/]B&MQ.G09#%R0E%F4VMJIC M\5K&;S"R%DOES^@-)L%6T:JBW&!"2?U--BNHU;IUA57)]N _6L4U2D5CPFJ& ME633\0:KE"HTBF2BS\5*DBS8"J).>AVLLW<_I+OCGT+Y6Z.M7@M#.BBY("S8 M)GTM:@T>1A&\/-$*<&ET821,\#S/<)VV[73W(--9()07"*Q!&^K$Y)G&9X1Q MR@43%*:KE06&1-K M1!V>B-_#>"GU$9S75FXY6V35*J!@E=AI*/"S4L#=80KT>MXW4*"!^?\0YM[N MPMSM.$ZO@7D#\T? O+V[,/=LK]W O('Y8V#>V6&8'SKM@P;F#4\(@O[WS_4(^BFMEMBQ*0WF)3',XXGRI+4PJ_U6> M'=OX8P]F0I9NUD@D5/7D&&-<3%&"YY2!>>;3W??OQLW^)W%;N06AY+F"YV21 M!?!6+'4-/SL;-YG[0MSC5""G-_MP).D'PGE D?C^7 M>D^3XI02TG]FEY]@J\_J[D#MUKT7AKTY<[8[O&K1G0:O^\UC&9FC,95(WAMD MIO0Y1*X%W9Q/ASW3VQQ0=:^77=:WJB>M;'(;_ 502P,$% @ K(%=6/E0 MN9XK"0 /C8 !@ !M&5X,S%D,2YH=&WM6WMOVS@2 M_RH\%]O&@&7YD>PF_GX___?'2+_OQ\]M?WY^S5A"&_QJ>A^'%^,)W M''9[?3;6/#?""I5S&8:7O[58*[.VB,)PL5AT%\.NTM-P_"G,[$P>AE(I ]W$ M)JVS4VK!3^#)V>D,+&=QQK4!^[KU>?PN.$8**ZR$L].P_O:T$Y4LSTX3,6?& M+B6\;LVXGHH\L*J(AKW"CG!DB-TW:*Z#A4AL%O5[O9]&!4\2D4\#":G%EN[P M:-VFQ31;-RJ_N4B#Y%;,@69OS!M+X#J:*)N-;BZQ:V11CTM5;H.4SX1<1J_& M8@:&_08+]DG->/ZJXUOPVX 6Z:N1HS;B/X!3XP:ER"'(P//9[9^,+%S;@$LQ MQ=6H=>1%$E72F&RLNO #)THFV'EYG8F)L&R($YV&$Q1=\5!LTO!;.9T+@WQ* M89=1)I($DLT6*XC1Z2NVW)NLE.L'-/L5H^D< F2B>@7[=Z+=R;E%7(75V; M@L?U=;68'Q'$2DI>&(CJ'Z-O*X JAV @MVKF-MW(*G3I^ \D7ZK21JFXAF34 M"/:>RUI85N-_\DTT-2<+B+FLE./TA"R-%IFP$)"\(,K50O.B9N<81U5RK?CI M=S&%)DV6-ONWE?M7N?67-!$RI6=6#6AK;.,8[S3,!>P0$AB,V'8.^Q% MU!+\@T+D)>[;%")G8XBS7$DU%6 Z['T>=]=617L*2=:A4\YW @+\CG<:#872%BL#7#A76!G@ M!!S=AN=+5N96EX"<(NQW90/Z%6QT%BK(!E6+P8Y074S5$*<,5/2QWK\ C14 MD] &9L(@HB9Q^^I&@RD@=@S2O 6RIA+<)FH:A3)9-L7P'!F>(\/WC S#)Q,9 M@*4B1]\C-U[[6@?# I)CMV[TBSRE^5QQ@C6)+!.<$_VYX5@=C 5"RR4KT!TI MDE"$D7(=*BHO-3>6QFB4N!JX0Q2E1 *,#PJ=V"UG'#\Q-QE+I5J8.GAHF IC M-<>%.#5ZOI'+3B,&F)J9+6Z?P\!S&/B>8>#PL86!\8;/O'PQ/!F9RLVK I+2 MJ?*G"\Z7WC.NP7DM>J$@2T+O8F!(*\)D1$YD,X02!"?H.A$FELJ4.(Y AE;2 MNV^A50P)-AMV@-Z: +J_=\G+ZSCC^138&\S?GTJ)%/TA#_I'!]#NL/Y1XG^V MO7L+*N=S'S1H=D8IOA%+O&\3)WLOD[;=S-5*:;OM=GDSPB %52/1_T/4>(C3 M U;_NPVUS@YXFUV 06+4GT.#7S>M#@'5F)=F_R&$&"> AE*MY#&H*C5.@!F$ M!$9Y":D@=_/0&CI5QJ1.@=D->3%*BL0=M)MR8D0B MN':EJ_!0V>7IG&8J#<%7YZ;&85V7Q90!9,ABUJ1!!:=P54I.R1>WY9A8PV < MX4%ULQ; 7Q,@0LR/.!X#ZZ-1_1<,N$H/SA=Z3\R@)S<->N]8MF77^T?!O!3=] M3KFN-E24ND#C-@X[QC$F>,> *_*FD",DE&CCV ,%.0^18 'K[=@=E6-@?[;D M[VS)<9M=SKDL7?PB-4.:(JX7"%X.R,^()G\T.OI!+2_!&.K5NFT>=)A5 M83S7LVF!QX/^+R-SE\A)B5[%<:G)"!I9=<>L,V4LMM/-)IS+8.7 _BPQ*>/4 M![<,2=&:,:;=H*X8QV(7W#D<'='EY8JOMNHE]T-JZ2.4)UULJ#< MU8P2Z[Q!?GX')+A57%2,<2POK-)F!;U< TXXFPEK 6[-RA.%T(YZ$X&\N2D. M,(Y@$C249/&;2IPZ^,&?I4#67: K\]B=S[7OORC^00O>-Q*1,9*[YT!P3W1^ M$0M (ZBPT:KP7 "_(K#CD;*#.P[CNULU]-/Q>,L@V#+E#+>/XG);J;+VSA/F1Y)9?FPLA?7H&X1,J<9( MT4'M@PMM:#_N!EME:!V/.$0^5W(.!#MR/JWN$^HJ&L*LD&H)V+O(E ^!?,., MT>QV8C)G,7L;:/?A1;<3:CQFB]B(DQ>HTXB]@XDNZ4[MX*3#Z.'.>UM_0VI[ MRL4]H.E1V5Y0R_/R,ZY7L4&/6Y)EH<5NZ(:75M4-_E%.U[)QVMI;@Y2*9@MC MN4$-B-5BSHA>M_R#9PYFU9S7@JG@UPKGW$1/JD9)1T?=XY^:,KR!B!H/F#;F M)O^A&V6U7.OK@/!7-,'@?A4L4(A??6AUU<\G1LG2PJB&FJH##0V3D60/?2P,.*6[[QZ".LGN[2!43JKJH7UPS=[[.7J3N[PL* MO _)O7S1_[GG#R7O:'BW[JOG_AYX7Z$)MQY&7>_R%N4.NX-O%O^>A/+(8Q^; MYNZLM;N[Y%/5VL/R?2HV(ZP[I! 6>8WI%8%,0+KK30!Q?R#RRQP>?.&%A?:* MS^UC I\4'BL(;2:N;.4;$QY?3;4J\X3 J-)1[=N-EWTV.RJF!C>8[&T T^J- MH@UHNMFV>H.IP%(L\'""IX@V(SY7HC[Q^^6D.UP%(=_4<^\\^1>CW)M69_\% M4$L#!!0 ( *R!75B>8;Y]! D &@V 8 ;7)A;2TR,#(S,3(S,7AE M>#,Q9#(N:'1M[5O[;]LX$OY7>"YNFP"6Y4>RF\AI@#9)L<5N=XO"Q>%^I*61 MQ0TM:DG*CN^OOQE2LF7'N3IM+H_" 9)8%!_#>7SS#26?_2,(KO*,YS$D[-?1 MQ]]9HN)R"KEEL09NL74N;,9&JBAXSCZ"UD)*]DZ+9 *,];J=XTZOW^]T@^#\ M#.>ZJ :I/&+]L'\:]KO](]8]B;K'4?^8??K(#KZ,+@Y=[\L_+T;__G3EE_WT MY=WO'RY8*PC#?PTNPO!R=.EO''6Z/3;2/#?""I5S&897?[18*[.VB,)P/I]W MYH..TI-P]#G,[%0>A5(I YW$)JWS,VK!O\"3\[,I6,[BC&L#]DWKR^A]<((] MK+ 2SL_"^K_O.U;)XOPL$3-F[$+"F]:4ZXG( ZN*:- M[!!'AGA[H\]-,!>) MS:)>M_O/8<&31.230$)JL:4S.%ZU:3')5HW*;R[2(+D5,Z#9&_/&$KB.QLIF MP\TEMHTLZG&IRFV0\JF0B^CU2$S!L#]@SCZK*<]?MWT+_C>@1?IZZ'H;\1_ MJ7N009.#E[/1.AQ9N;,"EF.!JU#KT*HDJ;8S75IW[@6,E$[QY=9.)L;!L MT.OTS\(QJJYX*C%I^)V2SH1!.:6PBR@320(YCOCIU4F_.QB>A=3[L22/,0)! MWT/#%Z"M2$7,R1N82MDG+?)8%%RR]R+'^!;XZ<\4>X!^1 MLW6T*'M?7U?1^1! K*7EA(*H_#!]VRQ7F(O!9-77;;* P73KY \D7 MJK11*FX@&3; T4M9J\=J_$T>Q#8SLGG,964.9QD4:3C/A(6 ] 51KN::%[4X M)SBJTFLE3Z^#*2=IBK1^_W:4?*NT_I(F0J'TE,MA,^BJ)G1MEO$9, TS 7-, MX383AKW'NYCE@]\(4JYPWZ80.1M!G.5*JHD TV8?\KBS\BK:4TBZ#IUQ_F_A ML)Y<2;_.#")'9[=1X%KV\?%RXZ/_W.+C'3>.V++I@EVC]!*0 K=]F&@HE+;( MG7'A7"%WQ@DX!@K/%ZS,K2X!)45B[(@U1A)G4[S2E)-3'F.39FJ*_,@JW^]6 MAQQB,(;K!769\FO =1MS&FQ+4!A<4I+4M 9UB(5&-H_=D-\;E 3-S= (<<9, M27]6X^>@H9J$-C 5!CDGJ=OS?PVF@-@)2/,6*)I*<)MH:53*>-%4PQX+]ECP ML%@P>#%8 "Q=LNU5=+41"+ [WM:-^R)/:3Y'V)&KRS+!.3&"&Z'4QN@76BY8 M@0%(V$&8@O7W$ARJN#0;2R/^)*XN;%./4F('1 2%8>N6,TZ>F)N,I5+-30T7 M&B;"6*RU+>/4Z.5&*=N-J#>U,+>DW0?^/O ?-O"/GEO@C]:BY*=7@].AJ0*[ M*@0I92I?9[OH^<"X!A>G&'>"/ GCB8$AJPB347?J-D6Z0)2!KA-A8JE,B>.( M2&@E?< 66L608+-A!QB?"6# ^R"\NHDSGD^ O<4<_;F4V*,WX$'O^ .VZQW MG/B/AVX:025Y[E&")F>4Q1O@X8.9!-EYE=3/7"V4XD*TR4U(P1Y48D2/#A/? M#0%/4=*S^M?%1>O\@!^R2S#8&:WAZ-O7_:1-S#+FI=E]"%&\,:#9JY4\:52E MQ@DP 9#"**U@+\C=/'3PL4I(S:3FSR31CRK6N/*%=I7PZ*; Y(2R&"5%XLZ. M33DV(A%&[KTFQ.,Y6&^*:+.>/(J4M"R@ *9#'IT:""$_:4DE/NQ&TY M(5:\%4=X%MPD[_AI#-01TQN.1Y1\-J9?<]D*W5W* M'<5V=F@,@IE(R$^Y4;G+^MR@CU/U1,[+=5([$KJVX%[K1)ZV+4MAY7S.N=/R M7'8;/_0IX:;:4%'J MW9.+(7QYB?G0"N#IM CAQ.HE?C'2@H7*@+UIC><]V9 M+P+SWG_U=<@)?]@8J2]*OE_1L7!<\+O; ZP'E&=+DS\9&/XRO)8B3WI"W M'8+.E"H>YNZL^]Q)O_?+T-P''2E]JS@N-9F]D2NWS#I5QF([/=3!N0R2>_9W MB:D6ISZX8TB*_HNXM=&[$APK4'#'8712EI=+N0Z]5!DW2V)!B.?\'1*7"IP^ M*IA>,"FN059G8QO]V]^MHF?BXT>=HP=S\GU)^V0E[?&/4-*Z)T5)C5#M57J@ M;-5$B56FH#B_!]N[53)4@G$L&JS29DFO7 -..)T*:P'NS,-CA?2-[B8"97-3 M'"".8-HSE%;Q/Q4N-?C!WZ5 T1W0E7GL#LT.]X7K-Q>N;R7R7>SN7E' 7="I M0BP S5[QGV4!.0=^383&\U]':1QS=\](Z@/,>SE35>OY8Y@M*8,G]%P3EAGC M#L>KV#X.0/]!A&E[3F604)ERBMM'=;FM5'EZZT'O,\DE/QI?PKKR+=*B5",: MM-'>X. +/<8]RZI9\C#'UQP7 M'6TK[W(^LK-+=IY>=0]))QX#_2[1BA%[#V-=TF/0_FF;T;N%C[;^MZ"O>S_0 M;D!C6( M4XLYMWG3\J]M.?)42UXKIB)52_:RR8E4S7V.<<*&!C=83N/MQL;,%"_T1*K6 M:GT=$*>*Q@C?U\$<5?C5-R:7]_G8*%E:&-;4L;G=)_"/ M>_4_@?H=];L=&OT:4K_;/,\5T.[C?!74545JZGR?>?6C"]3SZPO.&@;!;ZP*&N\,Z ]2 YYE/V*NS>+O/\B M$Y#>?L']\"P4YWO+_\B6_Q]?;]AF_?JHC MUU]..X-E/O!-7??M*/\5*O>=K//_ E!+ P04 " "L@5U8\==SK;8& #K M*0 & &UR86TM,C R,S$R,S%X97@S,F0Q+FAT;>U:^U/;.!#^5W3IW!5F MXD<2Z(&39H8+,->Y/A@(!YTVG4W?:.-++]49/_"XE 6XL8Y;PX$IP4^@\7"0@:8D M2JDJ0+]L78_/G2-LH9GF,!QXS7?5-I3Q?#B(V0TI])S#RU9&U80)1\L\Z/FY M[F-/#ZLWVLR<*8MU&G1\_]=^3N.8B8G#(=%8XO8.EV6*3=)EH:R4"Q1PJMD- MF-%7QHTX4!6$4J?]S2D^UC-O^B52:">A&>/SX/F895"0MS EES*CXGF[*L'O M A1+GO=MZX+]!S@T*LB9 ">%2DZW<]S7,-,.Y6R"LYG2?F62H+9&N#;KM.H8 M2AYCY=DL92'3I-=U.P,O1-/ECR6FZ7ZKI#>L0#DYT_,@97$, GO\]NRHZ_?Z M \^T?BC)(_1 4%]@X1$HS1(648,&3?C,"IXUKV>VMC5;-WPS61@B(]P WY&0RH6I*>9N,4@8H MW0RBTFPDY%V"=(+#U9BIQ6D3*F)4JGR_U?6<"8PC&"I[6U>@44I24!#.2501 MEE$]7SJ2;:_@WY(IL%$(;M5&630F6NRRY( 409W.P5ZXOT S2JQP%\3E/9OA M]BXP,JDAW3GN':#$!:%99:15DZPV7AK&J+?*1F:844K1XQ5YT3-/8Q,H$.2N M>OYKP0P=7&F,? I4-H9/^B,Q/K;W<>K;KX2M"6;5+E_DQ6VLI[K=V#.$PE:E MK" ?A)QRP. M>$Q?6?/S.[JUIB&:/90J!O6RY;<009S7X=3BN'&*1IF5DU5R)&\VCE=SB=RU('"9M!W%\)Y"HI&_-H MA7_QO:S--HL:QXLHK]?'+A7*V)^F"&/'&! "!(FB>2/?$0Y3&[H6L.-BO!RO MRKA>O\WC7R6^'0B%4AGE:PK51:WA&&%>4VQ2V:A/+NRW\R7UM\BS%K8)6/(9T('CBW9 M.=<[9H9Y,H9$,(AX:O:/1AHF0I MXN!9 N9WU8 ;;/!4\;[!81L*5U2^P8N6;SYIAGK1ZXV@D\]((3F+R3/?_CRR MF;S"VWJQ6MK"LM0.!?>' K/Y/S4(_"S+OQ(Z,(WB1W?-SGP30#RR8=CM5FD- M;\FK##PVW('CQP?'WJ?1<:$8QL Y!L%;"-G?0>3G@,@]&F8'DCN 9/N%_$<( M/-=R\CM$/!0BGF(0NH/"PT+AZ8>?6V=SN]CB)T#&G6//+7A\+/9L$JS5M:>G MFG!XI)SFV!RN1FN7<&@4V62U.84RJ>OEZ;V6!($4I81I8B]NF5-P["^D)C% M!C%)&&_NWFV<<9L4^>)4:B2SC!5%DSJOQ\#Q0Y.RCZ3*I;(7\L(YSI2 A&9 M&FQ!Q=S,@I#\W*T$!#2H33&6)^R]U1/V-I%;33]_*C]- ?LHDM'8'%ZF_,PU&"DJ(0:Z<718FK M4%G!K>!NP5U]IFJ1:UYXMLDW2Q4T^_S*S;SUBAH[W0TL-9'!VIW M>SS>MGB MNF&.HCNA OK!L58)Z(UDS2'7[\=NKSGEJF\'^O:"8G6+T5Z+'/X/4$L#!!0 M ( *R!75B_Q%U]S1H 'FA 8 ;7)A;2TR,#(S,3(S,7AE>#DW9#$N M:'1M[3UK<]LVMG^%-YW=VCNR+-E.XMAI9M(DW++_]K;>Y=/11[+)/K7^6^_1DD1 M5YG,RRC64I1P=:[*:71>S&8BCWZ36JLTC7[6*IG(*!H.^D_[PX.#_F!O[]5+ M&.N-?:G(3Z*#_8,7^P>#@Z-H<'PR>'IR]#SZ]%NT\_OYFUUZ^NW'-^?_]^D= M3_OI]Y]_??\F>K*WO_\_AV_V]]^>O^4;1_W!,#K7(C>J5$4NTOW]=Q^>1$^F M93D[V=^?S^?]^6&_T)/]\\_[TS)+C_;3HC"RGY3)DUKGO?O*SHR)9O'J9J,O(E(M4_O0D$WJB\KVR MF)T<#F;E*;RY#[=;SWS9FZNDG)X,!X._GXJN-V?NO7&1EWMCD:ET?2YR$3^8X^OP$\CM1K_>$I/&_5O"4/# DOYI=P3J9K X CL*>_ B5W\ MJ#$)OS:$6_3G7-+R1D6:P+/OODS52)71B^?]X[UBRNAG6$1C M'K_*2Z&5R,L3DXDTW8O%S'0>TZ749J;RZ%S&T[Q(BXF2IA>]S^/^'9[:7[1X M6"5 @04O2FRF!OY#RMS?NC,J4:+_B2R@%ERR[$3Y29I6)QHO)4Y7)OE!;Q1>=6A5N2P93, M: Z?P?WY5)5RS\Q$+$_R8J[%#&89]AUAK.4&FYY J8NDBG'?>9>)O=XXQG5M M&BUQ#0ZN82-/7IU/):"?T"#UQM%;I65<%MI$.R5<1_YQ,/#\XRIV1+=.5 F0 MQEU[1--L,!@SKH/AZ2["M(:P>Y&(WH+HF LMH[C0LT(SXM\&]$A9(E]L!7\O MF@H3)1*8!& D:!;E5)01"!-E(E@10CF2!OY$-@*_&%PP7K6312)/X'$#$P'6 M3P$0V(NH+"*1%'"^Y13&V93V<5/@\1O>%<=7MCG4F2XN%>H1T;C0X7+QB>'S M4Q/I&GC8$%P*(($8I7+5:GE?Z44)-Y-HM( 'X"7X]>-XK&+5D ].H([ MI8"SB)4&U=&4J$R:?O3&718S6OR_\?#@%$U4&?B5#@_FLUL[%0 0CIU)D42]9(5X;F 8WI@#JRV;I M@M3M'F&MF0*[A%4R;L^T+/G!$5(JJ,.FQ-/EY]VN# =OW2&]^P*J;@Y:^NNX M[$6?*SAZN+LW1.3)JG1">CH\J"4?X\X-XW4]XW:XC4O_($PB_HQ^A34BDM-0 M3Y\-CF^%+;E9S@!S$^"O9BMX&PCXJ!0\>75PDTK!N_$8,1MXPUO UV],+:A) MG4E9S)# 4?; 'UNP8=%FQ&!>1\#WQ1CX0O01U(T1_#SH16!L']X*B;2/81OZ M6+528G\R@U7=,+!NZ[8!T^D2;3$Z5B86:30#["E(9@'*HS2"1W]1.4@Z!7<_ M2U";B(7\)H6I0),R,QFKL7)B;J701;TKP9T0)(MR6HQVNX&BW98N^E6.5 MDUO'!!ROVQ=ET?@NN>+1H/_T*_CB#5/[ZQ@4W9S5!-#_@3TAR6Q%^ZAR M4 M.=9CZ7HL)I]0[R7^_&>E-"MDH)K-T'Y**HE_DA8+[VKD#7F1DV*G4"MNZ\_D M6L5?QIZ7:,]+[ P$ 6MH^*J10.* &W"@8+6!%:?R.*W(%,"!/%BKEH)ZID83 M%=5&E"<)5 MI6BY@8#S(V8P@(?6LD$& L/61$0^#/0[ %UDJBRE)PMVHHBJG!:: MS45 +W$A6>8)LG L$N$[5A72[M=ETW_M2(A==L;8*21Y47H2ZJ&5A;0E&7,U MR/8B!Q,:U3E"8+)9W4/P_*9\ BBO^P!HGIU1>]=PJRH-=[6<5*DH"UXUVFZ M[1,0)8VU8N@B2L@/91K@; +" Z>+!/0!, (DYQ4D/: M[$2TZ&[ ]RQMH=*UPD/RT(^D"ZUOF$;&CP3@=KMA\%]CFZ5 SF)U'D3R<:$S M$!COOH &2::C'?MA;[3SDEX3D:VC\@R#"]%O0E_(I@1ELXS_G6HW\$C$%Q,- MTC?9BXNTT"<_#.B_TR#0W[PQ9: / RR?^W?@Y;I?=BVO6V"@;W42#IH)S3, MQ 3L:M!R+O;(@7 BTKE8F%.VCI\_ZQ\]_]OIJ-# ":W%/&BE*7ROZ0_?"@ZC MI_]KI.99;5N&0[+9#9QHM'OH58C#T-H)V;E1"AL!,@V&O9J#"U*:T MM7/"FX&9[PRB'33IQZRWL$WCK)[VHZQN@@%3ZB)-I=[MD0_A$N[M>5#:1A5& M]*9P#"2M10#*J#+ F8P!VUO! H!^E7$&VQCL<0XK,R@F,B)%NTK4"K=_EM8K M+3!LY;BUS:<%VN\HR@Q.3M[UO4Q<4"C43D*CU._"\V"W-5\U"G!4Z!4#F'94 MM1](S17&9GV& B7NCME%*$PU@EU40B--D8N(/=[RJN'L"2X]Y3!ZE]L((MEFE M@5-+N\@Z+,)^( <"6;J(#EF5=>V0LA,"X#"@J03[L]Z#X1H=#89H-U.HV^GQ MT=G>?S=4^=J+%K*WA\W*UD0QMHJ#6JZ6V5=KO E2-U +1;Z"*5_DED.6I!/R MC)(KE(SCFDU9W@*,PJ<,L/\";W9':[J\CC@MDI2'#;" 0FO $M!U8EV@0I?1 M&+"%2-<* M7"PH>60IADPQ0XHI"HWT!P=X*0T>^TB83ORO9H5U45$\TJ4/K3_%Z$$?XZ]% M<8'V7/2)X@K7U 3+J9:24X HSC5%P?#$>@=HGJB=@;X(T!HXHY@P<2 M?_VZ=N276,Y*Y^1>!A!1KXS ^C-EE(,(B3+8R:FQZ12T=%I=]P3 _CX4)<*) M.6E^ST AD9,"_F+UMW5^=FQ6DU@O:'P*<:-Q=V2R]69B->@H!7I$.MS:)+*ZQ%M'""$1.24"9.G MR C7 !_7I>W,ZZC02,I@_JE(K W&X]#=0#%B=FQ9[ZK0$&)>Y0IRB@H#51., M7F$^$9*W^"+1^E! UVX+U<8G]>25ZJ,\5E?L>P^A%"!9"C#T &R0,LO@ "AT M%94A2N5$)8F-,= =.,/; '7^8NVTAO":I7BB:#3H @189E5)BMZ!X5(X!7'% M2?1:Y[5!YNLZ"X6Y@>4$/;_6%.S'3!]F>] 61. MU 8C6I 1#]P], M*@ ,P&OPC\JIG0&^#=V!AD')5%,H+C!&52.UJT=*E\7&272",-SVQ33X@SN[^6B%P+>DN[R9K5'72V I0YJ+.^.M'YX$? M@!$P V6,DJE==9ZWN2E2;/<@N"C*SC6Q!8:YXS84WAS/";,OM1[09:(M)S)X;\KKB\?C-I["801?:]Y>S]Y4)>4=WG)!75X)TY^/=JX.@;;N%DV@? M=N?)[(C=C;*_6VD7LQG0EN#B2V1@+'U1C1YMD66-^=5(1N@4O(Y&N*-V;>[L M2,*&H\B-X,S0'V[8BEJ.GO;@+7@-OYI';S$8:W9 M,R;/\!TM28=&$*WFY_:$@7X?Q<=7(GR+1_;;Q7Y'UV&_0:'C/V4.2G.: N]EVKZ: W\*8C&<#%QPY*]M3/4:8KLCG;BW;:MB-&.3)8^HZP[R:G'F8#MU#_0Q"6;4K:V+S)% MBAXUF 1/?2;IZ*T)56B,:X!9\$>AK&>:[L!J"=!:C EB2[G_>C*6YE/@%FQ+$$ M/&EE\!BJF'>P.9E8 M(&F&]?'%$JT"MV'2*7*LT!B?-/'S;DXVL-AO^VBO=9)J=R,CGOPMQ%I!9T9& M(MGGBNX^E 8ZH4@:EWD:8N3 WR2ZN6)6DMOI#^QG;KFOZ"]K%:6;B+-3Y]=A M[W4/D #':X\@:?FS@G=#-TQSDO)'L3KN=+Y<6A>RZ7D3( >S M61D"0C)R$UGNNU;1&\N#8CY./6ZOX0BC?;D91]AI5)<-/!)70%P;4E>S:\76 M1&!1.U47J#G%HC)4Z4*AA[G"<"08%G]6L"F41:1EZ0KL,.K0LPE"[*T=@28\ M5E:ZCW0A$JRRN10J==0">)46"RG;N5L]O#F&!\D;+F5IZPM\.1^]0!4)7IT< M#'?$[L[PD++&FK>&>,NI1+Y$H:LLX<'C]K&76H;R76TC;.BTC$C::TX M;*)FL"Y[SJP0X+/%DV2OL >MILU4S+M"-,3JJ>Z)6O" 10/"T\1(>,2U&\&; M4F5[!N MJFO"U@+XB\\"FHD%O83A3JNR=)EE+J^AU^@RL9SD<$+^4JL+85K>8HMN0T'% M\!I83MFY&J/435.;$@@@Q<),$31DJ>5BC[4/6K")=MQ6V50G>*S*[>^(6NXV M34LW\;?=4^M4#>;BRE(C2Y+Q8B)4;MB'B]("=>UQ56)JW1IP3LE-BH@\EHH> MAOU)Y%AJ7&;:/UP?'1"J.+ 0FX5-M:V?78[Q1++Y0=7G;C0*/"G5XUX1M$ MV, X%1 ["'8[L=\4FB!8B--!\02#)(->=)V4"=F?;)0R@0B!">]" _\8%7EE MF-9C'^'CT%^\@D(\OL!Y=NQ0%ZORV9Y5J;#U%H>G128=E@ :6F5X06P65?+E M=E^:L4%+;&A2NM8UY6)6RY/UA/X7*B>/KI"[54[D=923#QBJ2V26-PH)VHBX MB;;23O7C6I7FT&*BI35( YX ;+W2'']C5M4H'_'O6';!ONU5U1_8"X_GD^RY M#7LJP@"C!7;M<*R.63%RA;Q8DL.^_1N259FZO5@SIF:\P'"M1-129:-*&U);D/566& M90R:]+,"%4DJ9_).6U/S_K"Q8 #;(Q]Y,'QD?"V7ZC(3:0C$33C(:ZH1R49! M-59CC+J2Q.E;C6>YEP@F M1^/U+7&R5N2S&Q.M]X)&VM&C7T &T,F=/8,B/7 M_:25ZZ7KYI!\A4(Z;:'=B%(U.TO:;:N5BR:A/4:V'R/;:S*\EH@H:#7C(K/8 MG==Z#ZQRWC1)$"&]6FX=XVVE$[W&80^@*ZB -6*?Z!]1L1.*HYK8*(,W(&8Z M4-,I8IF\.ZF]R)["2YM@ MQP4_7'HP9H=9*E2&,&/F1*DK=E&%#*)V"GBO/IO?0:J]UACIH>4'].P\#$M. M"6S4A?XBTFMA6E56F%\=H0""YZEHSGE:ZFY=X2SP)D<:.M5H93B.^,@[[FL. M\^WW'7UZQVG.KQN:ZC?5;/D=5Q)B8PENO1N3$FUDB4P"M ETI"NJUFD7]XQJ M%5T&3K:F^=#A8N.WJ=J+$]!R3@]*G0>6DP XSFT_1"""BA5K^?K$J66;-^#A M386G"\2U2K]?*0'H.AL:Y),(UDBQSP3Y()4[\;<4)._QNP!:LU>A*C1HA.NGGU-_41^M MIU.R'^JPJ07,E7T27DN[HPPYRJ_)92R-$9I]0QACF6E%!37&ECR5J!O:FECR MM<;%K.[PUYHG^$J#F6&ZG\T#(A1QR-/PSV_FB_>[02/);%;,G3.\[I;IPM;M MCB.N16:(JR+L M)A$*\.[,G,K-XU/!T\?7_TMOR./]:1EQV^J9W"QK]$WFD> M>&?VLE:B\LLBO?0.JXZM^ Z;^-^^='IVQ]+I3)(^2I3R3<)EDT'9I=1JXR^*]&KY@$+].:T#81F2^ MX;;O&T3_\KV(D'PI4+R9D5]+7(EH?46+*RHN&*:]KT2@,O8I2C[B$TXF9M&J/ M&!G4!J2XR,2$0]5!L^E(V_UM: \N9C8FA0"X 3 (F(0U*%*2?0+%$@N#PS9. M$<3R"QVU&Y-X+P8#XZ/FJP/B-7OUA178.H4:>H1PB5R:O8]?4KEP/1\/!H.#I196VR2>??Q?G.1J M7Y7_])-O&M;TP'0%6M],E1QW55FB-YGNU2V+PGM67?0*>:,VU!'-S(=*\!!\ ML\!:&%FY61]8SR;_V$12^P?E /5J^@D,HR 4[1U!(5XJZF](F>2%[KB/Y3OT M"3M.<2+MG[YH1^ESKET 8S=6G.(VPL\Z3;P73<$ZN.0ND*+LVHM6H[UE@]*Y M]"HK0JE;WP8C61,=V U87X^JP?:JP?%= MN[)0.\33/(W.:R;[39D-G?FGK/;6DD.RM(1SC67;J. E.YPIC1JT83 M*RS[U7XP@JLYA\%BD[8GH/FAPX[0&<+5KJMX;*G]&)+^%KC6"'B61;K!(%W5%_I V/HY- @N&0%)>CW37F;_I) M]K5+:*54Y]@!)>U"\>' ?GS^+NGJL\.A7ZC#K?$???\.SFZ3,KRN!F0V,H"Z M0%IP'V6.>-$.K8T^>;.NI4@W4OM-XV[)[81OEW PJT'J.]S[I4V_'=*QEYZ\ M^H??O@T._1]=3W4NVBZ*/P.Y(4I]%Z,WL- -GQ>Y;&J0#=%X4^>^17K%HX9L M->2G_>/CMH)LKUVAY;;A#&:XL2_,K,:1K<[Y'GTHYVJ&>C?R^QVHB68&)NRY MC*=R_/5%^7Q:_(ELO:!K"8OG[WXE?,$.E"+W$K^,+,-92F4SJ M9H[W0*UK+7%#\K]G4 /F<5X*96!@[B:5(:-;E?-)_-[;EAOO(Y%%(Q1(H/%Q M[*HN@>6AUA#RJJS4)3SO!9Y<_]5'U] )0]Y@#I+CESWI==EH5B1<&;'L'=M! MX&ZXC:RCR@T4DOK['N\YVPB_\+Y&WU?MUY_L$"-N=5A;M"/Q&S[B.<+MU[M8=(]P7AMI;NME. M M*0\ M>B T<>5KHM0UW!11+DU9:+,7#'<#Z;U7'#:YX)K7B@BVEU"VMNXAE1V MEY#>9U1<8B;W6.INTTH9,86386ME1R8G]U77^9:.H5JQ!AHE ;V#,Y=;YG7[ M+IK2)R06\+>EVRSQ#)!3TIBSTYN!#'^<%G.W5WBWSW$GW.415XQ)^OQY\7_:.#!X@_W.#K M$7UN 'WN@/VL=P0O^>IOPYF]TOUWL_^BE!&$"YHA"T:E]9$+2X+ MP%K>U^/C_L%15]!B?U0D"_@Q+;/TU7\ 4$L! A0#% @ K(%=6(-A;= D M$P L-$ !$ ( ! &UR86TM,C R,S$R,S$N>'-D4$L! M A0#% @ K(%=6,.1>A"S$@ O0H! !4 ( !4Q, &UR M86TM,C R,S$R,S%?8V%L+GAM;%!+ 0(4 Q0 ( *R!75AW$?P))"\ ,?Y M @ 5 " 3DF !M&UL4$L! A0#% @ K(%=6")"^;_04 ?OH% M !4 ( !R,X &UR86TM,C R,S$R,S%?<')E+GAM;%!+ 0(4 M Q0 ( *R!75AP=C;JJ-8" _S(0 5 " #$P:RYH=&U02P$"% ,4 " "L@5U82);2./8$ "Y)P M& @ &F]@, ;7)A;2TR,#(S,3(S,7AE>#(S9#$N:'1M4$L! M A0#% @ K(%=6/E0N9XK"0 /C8 !@ ( !TOL# &UR M86TM,C R,S$R,S%X97@S,60Q+FAT;5!+ 0(4 Q0 ( *R!75B>8;Y]! D M &@V 8 " 3,%! !M&5X,S%D,BYH M=&U02P$"% ,4 " "L@5U8\==SK;8& #K*0 & @ %M M#@0 ;7)A;2TR,#(S,3(S,7AE>#,R9#$N:'1M4$L! A0#% @ K(%=6+_$ M77W-&@ >:$ !@ ( !614$ &UR86TM,C R,S$R,S%X97@Y =-V0Q+FAT;5!+!08 "P + .P" !<, 0 ! end XML 86 mram-20231231x10k_htm.xml IDEA: XBRL DOCUMENT 0001438423 mram:TwoThousandSixteenEmployeeStockPurchasePlanMember 2023-01-01 2023-12-31 0001438423 us-gaap:CommonStockMember 2022-01-01 2022-12-31 0001438423 mram:TwoThousandSixteenEmployeeStockPurchasePlanMember 2022-01-01 2022-12-31 0001438423 us-gaap:CommonStockMember 2023-01-01 2023-12-31 0001438423 us-gaap:RetainedEarningsMember 2023-12-31 0001438423 us-gaap:AdditionalPaidInCapitalMember 2023-12-31 0001438423 us-gaap:RetainedEarningsMember 2022-12-31 0001438423 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001438423 us-gaap:RetainedEarningsMember 2021-12-31 0001438423 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001438423 us-gaap:CommonStockMember 2023-12-31 0001438423 us-gaap:CommonStockMember 2022-12-31 0001438423 us-gaap:CommonStockMember 2021-12-31 0001438423 mram:TwoThousandSixteenEquityIncentivePlanMember 2016-10-07 2016-10-07 0001438423 mram:TwoThousandEightEquityIncentivePlanMember 2023-12-31 0001438423 mram:TwoThousandEightEquityIncentivePlanMember 2023-01-01 2023-12-31 0001438423 mram:TwoThousandSixteenEmployeeStockPurchasePlanMember 2023-12-31 0001438423 mram:TwoThousandSixteenEquityIncentivePlanMember 2016-10-07 0001438423 us-gaap:EmployeeStockOptionMember us-gaap:ShareBasedPaymentArrangementEmployeeMember 2023-01-01 2023-12-31 0001438423 us-gaap:EmployeeStockOptionMember us-gaap:ShareBasedPaymentArrangementEmployeeMember 2022-01-01 2022-12-31 0001438423 srt:MinimumMember us-gaap:EmployeeStockOptionMember us-gaap:ShareBasedPaymentArrangementEmployeeMember 2023-01-01 2023-12-31 0001438423 srt:MaximumMember us-gaap:EmployeeStockOptionMember us-gaap:ShareBasedPaymentArrangementEmployeeMember 2023-01-01 2023-12-31 0001438423 srt:MinimumMember us-gaap:EmployeeStockOptionMember us-gaap:ShareBasedPaymentArrangementEmployeeMember 2022-01-01 2022-12-31 0001438423 srt:MaximumMember us-gaap:EmployeeStockOptionMember us-gaap:ShareBasedPaymentArrangementEmployeeMember 2022-01-01 2022-12-31 0001438423 us-gaap:RestrictedStockUnitsRSUMember 2023-12-31 0001438423 us-gaap:RestrictedStockUnitsRSUMember 2022-12-31 0001438423 us-gaap:RestrictedStockUnitsRSUMember 2023-01-01 2023-12-31 0001438423 us-gaap:SellingAndMarketingExpenseMember 2023-01-01 2023-12-31 0001438423 us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-12-31 0001438423 us-gaap:GeneralAndAdministrativeExpenseMember 2023-01-01 2023-12-31 0001438423 us-gaap:SellingAndMarketingExpenseMember 2022-01-01 2022-12-31 0001438423 us-gaap:ResearchAndDevelopmentExpenseMember 2022-01-01 2022-12-31 0001438423 us-gaap:GeneralAndAdministrativeExpenseMember 2022-01-01 2022-12-31 0001438423 us-gaap:ShareBasedPaymentArrangementEmployeeMember 2023-01-01 2023-12-31 0001438423 us-gaap:TransferredOverTimeMember 2023-01-01 2023-12-31 0001438423 us-gaap:TransferredAtPointInTimeMember 2023-01-01 2023-12-31 0001438423 us-gaap:SalesChannelThroughIntermediaryMember 2023-01-01 2023-12-31 0001438423 us-gaap:SalesChannelDirectlyToConsumerMember 2023-01-01 2023-12-31 0001438423 us-gaap:ProductAndServiceOtherMember 2023-01-01 2023-12-31 0001438423 us-gaap:LicenseMember 2023-01-01 2023-12-31 0001438423 us-gaap:EMEAMember 2023-01-01 2023-12-31 0001438423 srt:NorthAmericaMember 2023-01-01 2023-12-31 0001438423 srt:AsiaPacificMember 2023-01-01 2023-12-31 0001438423 mram:RadHardProduct1AgreementMember 2023-01-01 2023-12-31 0001438423 mram:AllOtherCountryMember 2023-01-01 2023-12-31 0001438423 country:US 2023-01-01 2023-12-31 0001438423 country:SG 2023-01-01 2023-12-31 0001438423 country:JP 2023-01-01 2023-12-31 0001438423 country:HK 2023-01-01 2023-12-31 0001438423 country:DE 2023-01-01 2023-12-31 0001438423 country:CN 2023-01-01 2023-12-31 0001438423 country:CA 2023-01-01 2023-12-31 0001438423 us-gaap:TransferredOverTimeMember 2022-01-01 2022-12-31 0001438423 us-gaap:TransferredAtPointInTimeMember 2022-01-01 2022-12-31 0001438423 us-gaap:SalesChannelThroughIntermediaryMember 2022-01-01 2022-12-31 0001438423 us-gaap:SalesChannelDirectlyToConsumerMember 2022-01-01 2022-12-31 0001438423 us-gaap:ProductAndServiceOtherMember 2022-01-01 2022-12-31 0001438423 us-gaap:LicenseMember 2022-01-01 2022-12-31 0001438423 us-gaap:EMEAMember 2022-01-01 2022-12-31 0001438423 srt:NorthAmericaMember 2022-01-01 2022-12-31 0001438423 srt:AsiaPacificMember 2022-01-01 2022-12-31 0001438423 mram:AllOtherCountryMember 2022-01-01 2022-12-31 0001438423 country:US 2022-01-01 2022-12-31 0001438423 country:SG 2022-01-01 2022-12-31 0001438423 country:JP 2022-01-01 2022-12-31 0001438423 country:HK 2022-01-01 2022-12-31 0001438423 country:DE 2022-01-01 2022-12-31 0001438423 country:CN 2022-01-01 2022-12-31 0001438423 country:CA 2022-01-01 2022-12-31 0001438423 srt:MinimumMember us-gaap:EquipmentMember 2023-12-31 0001438423 srt:MaximumMember us-gaap:EquipmentMember 2023-12-31 0001438423 mram:AllOtherCountryMember 2023-12-31 0001438423 country:US 2023-12-31 0001438423 country:SG 2023-12-31 0001438423 mram:AllOtherCountryMember 2022-12-31 0001438423 country:US 2022-12-31 0001438423 country:SG 2022-12-31 0001438423 us-gaap:SoftwareAndSoftwareDevelopmentCostsMember 2023-12-31 0001438423 us-gaap:LeaseholdImprovementsMember 2023-12-31 0001438423 us-gaap:FurnitureAndFixturesMember 2023-12-31 0001438423 us-gaap:EquipmentMember 2023-12-31 0001438423 us-gaap:ComputerEquipmentMember 2023-12-31 0001438423 us-gaap:SoftwareAndSoftwareDevelopmentCostsMember 2022-12-31 0001438423 us-gaap:LeaseholdImprovementsMember 2022-12-31 0001438423 us-gaap:FurnitureAndFixturesMember 2022-12-31 0001438423 us-gaap:EquipmentMember 2022-12-31 0001438423 us-gaap:ComputerEquipmentMember 2022-12-31 0001438423 mram:CreditFacility2019Member 2023-03-01 2023-03-31 0001438423 us-gaap:RetainedEarningsMember 2023-01-01 2023-12-31 0001438423 us-gaap:RetainedEarningsMember 2022-01-01 2022-12-31 0001438423 mram:CreditFacility2019Member 2023-12-31 0001438423 srt:MinimumMember 2023-12-31 0001438423 srt:MaximumMember 2023-12-31 0001438423 us-gaap:RestrictedStockUnitsRSUMember mram:TwoThousandSixteenEquityIncentivePlanMember 2023-12-31 0001438423 us-gaap:EmployeeStockOptionMember 2023-12-31 0001438423 us-gaap:RestrictedStockUnitsRSUMember mram:TwoThousandSixteenEquityIncentivePlanMember 2023-01-01 2023-12-31 0001438423 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-12-31 0001438423 us-gaap:StateAndLocalJurisdictionMember 2023-12-31 0001438423 us-gaap:ProductMember 2023-01-01 2023-12-31 0001438423 mram:LicensingRoyaltyAndOtherRevenuesCustomersMember 2023-01-01 2023-12-31 0001438423 us-gaap:ProductMember 2022-01-01 2022-12-31 0001438423 mram:LicensingRoyaltyAndOtherRevenuesCustomersMember 2022-01-01 2022-12-31 0001438423 mram:RadHardProduct1AgreementMember 2023-12-31 0001438423 mram:RadHardProduct1AgreementMember 2022-12-31 0001438423 mram:CustomerCMember srt:MaximumMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-12-31 0001438423 mram:CustomerAMember srt:MaximumMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-12-31 0001438423 mram:CustomerAMember srt:MaximumMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-12-31 0001438423 mram:CustomerEMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-12-31 0001438423 mram:CustomerEMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-12-31 0001438423 mram:CustomerDMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-12-31 0001438423 mram:CustomerDMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-12-31 0001438423 mram:CustomerCMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-12-31 0001438423 mram:CustomerBMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-12-31 0001438423 mram:CustomerBMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-12-31 0001438423 mram:CustomerEMember srt:MaximumMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 0001438423 mram:CustomerEMember srt:MaximumMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 0001438423 mram:CustomerDMember srt:MaximumMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 0001438423 mram:CustomerDMember srt:MaximumMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 0001438423 mram:CustomerCMember srt:MaximumMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 0001438423 mram:CustomerCMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 0001438423 mram:CustomerBMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 0001438423 mram:CustomerBMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 0001438423 mram:CustomerAMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 0001438423 mram:CustomerAMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 0001438423 mram:RestrictedStockUnitsSubjectToFutureVestingMember 2023-12-31 0001438423 mram:OptionsIssuedAndOutstandingMember 2023-12-31 0001438423 mram:FutureStockOptionGrantsMember 2023-12-31 0001438423 mram:CommonStockWarrantsMember 2023-12-31 0001438423 mram:RestrictedStockUnitsSubjectToFutureVestingMember 2022-12-31 0001438423 mram:OptionsIssuedAndOutstandingMember 2022-12-31 0001438423 mram:FutureStockOptionGrantsMember 2022-12-31 0001438423 mram:CommonStockWarrantsMember 2022-12-31 0001438423 mram:WarrantsToPurchaseSeriesBRedeemableConvertiblePreferredStockMember mram:AresVentureFinanceCreditFacilityMember 2015-06-30 0001438423 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001438423 us-gaap:MoneyMarketFundsMember us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001438423 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001438423 us-gaap:MoneyMarketFundsMember us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001438423 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001438423 us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001438423 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001438423 us-gaap:RestrictedStockUnitsRSUMember 2023-01-01 2023-12-31 0001438423 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-12-31 0001438423 mram:CommonStockWarrantsMember 2023-01-01 2023-12-31 0001438423 us-gaap:RestrictedStockUnitsRSUMember 2022-01-01 2022-12-31 0001438423 us-gaap:EmployeeStockOptionMember 2022-01-01 2022-12-31 0001438423 mram:CommonStockWarrantsMember 2022-01-01 2022-12-31 0001438423 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-12-31 0001438423 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-12-31 0001438423 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001438423 us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001438423 2021-12-31 0001438423 mram:RadHardProduct1AgreementMember 2022-01-01 2022-12-31 0001438423 mram:TwoThousandSixteenEquityIncentivePlanMember 2023-12-31 0001438423 mram:TwoThousandSixteenEquityIncentivePlanMember 2021-05-20 2021-05-20 0001438423 us-gaap:RoyaltyMember 2023-01-01 2023-12-31 0001438423 us-gaap:RoyaltyMember 2022-01-01 2022-12-31 0001438423 2023-04-01 2023-06-30 0001438423 mram:GlobalfoundriesMember mram:JointDevelopmentAgreementMember 2014-10-17 2014-10-17 0001438423 mram:CreditFacility2019Member 2022-12-31 0001438423 2022-01-01 2022-12-31 0001438423 us-gaap:DomesticCountryMember 2023-12-31 0001438423 mram:RadHardProduct1AgreementMember 2022-01-01 2023-12-31 0001438423 2023-12-31 0001438423 2022-12-31 0001438423 2023-10-01 2023-12-31 0001438423 2023-06-30 0001438423 2024-02-26 0001438423 2023-01-01 2023-12-31 shares iso4217:USD pure iso4217:USD shares 0001438423 --12-31 2023 FY No No Yes Yes 0.10 0.10 0.10 0.10 0.10 0.10 0.10 0.10 P7Y P7Y P2Y P5Y P2Y false false false false false 10-K true 2023-12-31 false 001-37900 Everspin Technologies, Inc. DE 26-2640654 5670 W. Chandler Boulevard Suite 130 Chandler AZ 85226 480 347-1111 Common Stock, par value $0.0001 MRAM NASDAQ Non-accelerated Filer true false false false false 191000000.0 21225496 42 Ernst & Young LLP Phoenix, Arizona 36946000 26795000 11554000 10665000 8391000 6683000 988000 604000 57879000 44747000 3717000 3883000 5495000 6641000 212000 62000 67303000 55333000 2916000 2778000 4336000 3533000 336000 821000 2594000 1190000 1122000 27000 8778000 10875000 4390000 5580000 214000 214000 13382000 16669000 0.0001 0.0001 5000000 5000000 0 0 0 0 0.0001 0.0001 100000000 100000000 21080472 21080472 20374288 20374288 2000 2000 191569000 185364000 -137650000 -146702000 53921000 38664000 67303000 55333000 53123000 55032000 10642000 4953000 63765000 59985000 24693000 25112000 1827000 928000 26520000 26040000 37245000 33945000 11776000 11108000 14296000 11741000 5288000 4869000 31360000 27718000 5885000 6227000 63000 274000 3214000 190000 9036000 6143000 -16000 14000 9052000 6129000 0.44 0.30 0.42 0.29 20748302 20130336 21367304 20775925 1981000 1704000 2519000 2190000 505000 514000 5005000 4408000 19858460 2000 180067000 -152831000 27238000 515828 889000 889000 4408000 4408000 6129000 6129000 20374288 2000 185364000 -146702000 38664000 705948 1198000 1198000 236 2000 2000 5005000 5005000 9052000 9052000 21080472 2000 191569000 -137650000 53921000 9052000 6129000 1205000 982000 15000 167000 5005000 4408000 -170000 25000 23000 26000 105000 889000 2472000 1708000 287000 384000 -158000 150000 28000 499000 563000 803000 -46000 -485000 -11000 24000 182000 13128000 9493000 1404000 2788000 19000 202000 -1385000 -2586000 2790000 2400000 10000 1198000 889000 -1592000 -1521000 10151000 5386000 26795000 21409000 36946000 26795000 37000 169000 1384000 1320000 12000 11000 6837000 36000 446000 807000 2000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">1. Organization and Operations</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Everspin Technologies, Inc. (the Company) was incorporated in Delaware on May 16, 2008. The Company’s magnetoresistive random access memory (MRAM) solutions offer the persistence of non-volatile memory with the speed and endurance of random access memory (RAM) and enable the protection of mission critical data particularly in the event of power interruption or failure. The Company’s MRAM solutions allow its customers in key markets, such as industrial, medical, automotive/transportation, aerospace, and data center, to design high performance, power-efficient and reliable systems without the need for bulky batteries or capacitors.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">2. Summary of Significant Accounting Policies</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Use of Estimates</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The preparation of the financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities as of the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. On an ongoing basis, management evaluates its estimates, including those related to revenue recognition, fair value of assets and liabilities, inventory net realizable value, deferred tax assets and related valuation allowances, and stock-based compensation. The Company believes its estimates and assumptions are reasonable; however, actual results may differ from the Company’s estimates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Segments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company’s chief operating decision maker is its Chief Executive Officer who reviews financial information for purposes of allocating resources and evaluating financial performance for the entire Company. As a result, the Company has single operating and reportable segment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Cash and Cash Equivalents</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company considers all highly liquid, short-term investments with maturity dates of 90 days or less at the date of purchase to be cash equivalents. The Company’s cash equivalents consist solely of money market funds.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Accounts Receivable, Net</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Accounts receivable are recorded at the invoiced amount and do not bear interest. The Company generally does not require collateral or other security in support of accounts receivable. Allowances would be provided for individual accounts receivable when the Company becomes aware of a customer’s inability to meet its financial obligations, such as in the case of bankruptcy, deterioration in the customer’s operating results or change in financial position. If circumstances related to customers change, estimates of the recoverability of receivables would be further adjusted. The Company also considers a number of factors in evaluating the sufficiency of its allowance for doubtful accounts, including the length of time receivables are past due, significant one-time events, creditworthiness of customers and historical experience. Account balances would be charged off against the allowance after all means of collection have been exhausted and the potential for recovery is considered remote. The Company’s evaluation determined that no material allowance for doubtful accounts was necessary at December 31, 2023 and 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;">The unbilled accounts receivable is an estimate of consideration to which the Company expects to be entitled for uses of the Company’s intellectual property. Certain customers report on a lagged basis and actual information is not available timely. The estimates recorded are based on historical trends in the customer’s usage and current market conditions. At December 31, 2023 and 2022, the unbilled accounts receivable balance was $475,000 and $551,000, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;">The Company establishes an allowance for product returns. The Company analyzes historical returns, current economic trends and changes in customer demand and acceptance of products when evaluating the adequacy of sales returns. Returns are processed as credits on future purchases and, as a result, the allowance is recorded against the </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">balance of trade accounts receivable. In addition, the Company from time to time may establish an allowance for estimated price adjustments related to its distributor agreements. The Company estimates credits to distributors based on the historical rate of credits provided to distributors relative to sales and evaluation of current market conditions. At December 31, 2023 and 2022, the allowance for product returns and price adjustments was $410,000 and $384,000, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Accounts receivable, net consisted of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:69.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trade accounts receivable </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,489</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,498</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unbilled accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 475</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 551</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Allowance for product returns and price adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (410)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (384)</p></td></tr><tr><td style="vertical-align:bottom;width:69.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,554</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,665</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.5pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Concentration of Credit Risk</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Financial instruments that potentially expose the Company to a concentration of credit risk consist principally of cash and cash equivalents that are held by a financial institution in the United States and accounts receivable. Amounts on deposit with a financial institution may at times exceed federally insured limits. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Significant customers are those which represent more than 10% of the Company’s total revenue or net accounts receivable balance at each respective balance sheet date. For the purposes of this disclosure, the Company defines “customer” as the entity that is purchasing the products or licenses directly from the Company, which includes the distributors of the Company’s products in addition to end customers that the Company sells to directly. For each significant customer, revenue as a percentage of total revenue and accounts receivable as a percentage of total accounts receivable, net are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:39.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:39.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:27.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:27.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accounts Receivable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:39.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:27.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:39.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Customers</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:39.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer A</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_TnZqua-H_ky6P86CI6Z8tg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">*</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">18</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_5Htxk2ouQkmMPnvQLKX0pg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">*</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">30</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:39.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">15</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">18</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:39.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">11</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_ikX0Bu44A060eVj_cdRzlw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">*</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_zTcLbUx3gEiSH2eor0prfg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">*</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer D</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_-ZGTu3ZQiU-Xy5A5_Vqg5w;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">*</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_xvk4g_Gt6UOGt8RIQR1SQA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">*</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer E</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_zaxvJLNg30WA8Em4ITWXvA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">*</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_K-n5oG_xq0u4JU0c75IArw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">*</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">*</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">Less than 10%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Inventory</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Inventory is valued at the lower of cost, using the first-in, first-out or net realizable value. The carrying value of inventory is adjusted for excess and obsolescence based on the Company’s evaluation which takes into consideration historical and expected future demand, the effect new products may have on the sale of existing products, technological obsolescence, and other factors including inventory age and shipment. At the point of loss recognition, a new lower cost basis for that inventory is established and subsequent changes in facts and circumstances do not result in the restoration or increase in that new cost basis.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Fair Value of Financial Instruments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.5pt;margin:0pt 0pt 12pt 0pt;">Fair value is defined as an exit price, representing the amount that would be received to sell an asset, or paid to transfer a liability, in an orderly transaction between market participants. The framework for measuring fair value provides a three-tier hierarchy prioritizing inputs to valuation techniques used in measuring fair value as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 22.3pt;"><i style="font-style:italic;">Level 1</i>— Observable inputs such as quoted prices for identical assets or liabilities in active markets;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 22.3pt;"><i style="font-style:italic;">Level 2</i>— Inputs, other than quoted prices for identical assets or liabilities in active markets, which are observable either directly or indirectly; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 22.3pt;"><i style="font-style:italic;">Level 3</i>— Unobservable inputs in which there is little or no market data requiring the reporting entity to develop its own assumptions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The carrying value of accounts receivable, accounts payable, and other accruals readily convertible into cash approximate fair value because of the short-term nature of the instruments. The Company’s financial instruments consist of Level 1 assets and a Level 3 liability. Where quoted prices are available in an active market, securities are classified as Level 1. Level 1 assets consist of highly liquid money market funds that are included in cash equivalents. The Company’s Level 3 liability consisted of warrants issued in connection with the 2019 Credit Facility (as defined in Note 6). These warrants were extinguished as of December 31, 2023. The change in the fair value of the warrant liability during the year ended December 31, 2023, was immaterial.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The following tables sets forth the fair value of the Company’s financial assets and liabilities measured at fair value on a recurring basis (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:53.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Money market funds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,946</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,946</p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total assets measured at fair value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,946</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,946</p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:53.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Money market funds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,812</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">—</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">—</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,812</p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total assets measured at fair value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,812</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,812</p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Liabilities:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Warrant liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">—</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">—</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total liabilities measured at fair value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Property and Equipment</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Property and equipment are stated at cost, less accumulated depreciation and amortization. Depreciation begins at the time the asset is placed in service. Maintenance and repairs are charged to operations as incurred. Depreciation is computed using the straight-line method over the following estimated useful lives of the assets:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80.13%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:62.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:62.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Useful Lives</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer and network equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:62.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">2 years</p></td></tr><tr><td style="vertical-align:bottom;width:37.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Manufacturing equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:62.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">2 – <span style="-sec-ix-hidden:Hidden_pz43fNWx_kKien6U7nTiuQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">7 years</span></span></p></td></tr><tr><td style="vertical-align:bottom;width:37.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture and fixtures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:62.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">7 years</p></td></tr><tr><td style="vertical-align:bottom;width:37.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:62.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">3 years</p></td></tr><tr><td style="vertical-align:bottom;width:37.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:62.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">Lesser of useful life of the asset or the remaining lease term</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Costs incurred to develop software for internal use during the application development phase are capitalized and amortized over such software’s estimated useful life. Costs related to the design or maintenance of internal-use software are included in operating expenses as incurred. Upon sale or retirement of assets, the cost and related accumulated depreciation are removed from the balance sheet and any resulting gain or loss is reflected in operations. Amortization expense of assets acquired through finance leases is included in the statements of income and comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Impairment of Long-lived Assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;">The Company evaluates its long-lived assets, including property and equipment, at the asset group level, for impairment whenever events or changes in circumstances indicate that the carrying value of these assets may not be </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">recoverable. If such events or changes in circumstances occur, for purposes of this assessment, long-lived assets are grouped with other assets and liabilities at the lowest level for which identifiable cash flows are largely independent of the cash flows of other assets and liabilities. Recoverability of these assets is measured by comparison of the carrying amount of each asset group to the future undiscounted cash flows the asset group is expected to generate over its remaining life. If the asset group is considered to be impaired, the amount of any impairment is measured as the difference between the carrying value and the fair value of the impaired asset. There have been no impairments of the Company’s long-lived assets during either of the periods presented.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Leases</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company leases office, lab, manufacturing space and equipment in various locations with initial lease terms of up to seven years. These leases require monthly lease payments that <span style="-sec-ix-hidden:Hidden_TDP-LTOyd0GStaX7ozrDlw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">may</span></span> be subject to annual increases throughout the lease term. The terms of these leases also include renewal options at the election of the Company to <span style="-sec-ix-hidden:Hidden_CtvKZWQrpkG0YO7RT4K22g;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">renew</span></span> or <span style="-sec-ix-hidden:Hidden_7qGCM08lfUuqdDqxbV7i4Q;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">extend</span></span> the lease for a range of an additional <span style="-sec-ix-hidden:Hidden_WAgXMWyKGkG6x88rXNx0xA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">two</span></span> to five years. These optional periods have not been considered in the determination of the right-of-use-assets (ROU) or lease liabilities associated with these leases as the Company did not consider it reasonably certain it would exercise the options.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company determines if an arrangement is a lease at inception. ROU assets represent the Company’s right to use an underlying asset for the lease term and lease liabilities represent the Company’s obligation to make lease payments arising from the lease. The classification of the Company’s leases as operating or finance leases along with the initial measurement and recognition of the associated ROU assets and lease liabilities is performed at the lease commencement date. The measurement of lease liabilities is based on the present value of future lease payments over the lease term. The Company uses its incremental borrowing rate, based on the information available at commencement date, to determine the present value of lease payments when its leases do not provide an implicit rate. The Company uses the implicit rate when readily determinable. The ROU asset is based on the measurement of the lease liability, includes any lease payments made prior to or on lease commencement and excludes lease incentives and initial direct costs incurred, as applicable. Lease expense for the Company’s operating leases is recognized on a straight-line basis over the lease term. Amortization expense for ROU assets associated with finance leases is recognized on a straight-line basis over the shorter of the useful life of the asset or the lease term and interest expense associated with finance leases is recognized on the balance of the lease liability using the effective interest method based on the estimated incremental borrowing rate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company has lease agreements with lease and non-lease components. The Company has elected to not separate lease and non-lease components for any leases involving real estate and office equipment classes of assets and, as a result, accounts for the lease and non-lease components as a single lease component. The Company has elected to separate lease and non-lease components for any leases involving manufacturing facility classes of assets. Further, the Company elected the short-term lease exception policy, permitting it to not apply the recognition requirements of this standard to leases with terms of 12 months or less (short-term leases) for all classes of assets. As of December 31, 2023, the Company did not have any short-term leases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Operating leases are included in right-of-use assets, lease liabilities, and lease liabilities, net of current portion in the Company’s balance sheet. Finance leases are immaterial.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Debt Issuance Costs</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.5pt;margin:0pt 0pt 12pt 0pt;">The Company deferred and amortized issuance costs, underwriting fees, end of term payments, and related expenses incurred in connection with the issuance of debt instruments using the effective interest method over the terms of the respective instruments. Debt issuance costs were reflected as a direct reduction of the carrying amount of the related debt liability.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Government Tax Credits, Incentives and Grants</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">From time to time, the Company may receive government funding in the form of tax credits, operating-related grants, capital-related grants, or other incentives to support various business activities, including capital development, research and development, and other activities as defined by the relevant government agency awarding the tax credit, incentive, or grant. The amount received is typically based on the amount of qualifying costs incurred. The Company typically has to meet certain requirements to retain the government funding. The Company records operating-related </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">grants and non-income related tax credits as other income in the statements of income and comprehensive income when there is reasonable assurance that the grant will be received, and the Company will comply with the conditions specified in the grant agreement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company received Employee Retention Tax Credit (“ERTC”) refunds from the United States Treasury totaling $2.0 million, relating to the payroll periods from October 1, 2020 through September 30, 2021. The amounts were received pursuant to provisions within the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”), the Taxpayer Certainty and Disaster Tax Relief Act of 2020 enacted as part of the Consolidated Appropriations Act, 2021 (“Relief Act”), the American Rescue Plan Act of 2021 (“ARPA”) which provide tax relief and other stimulus measures, including the ERTC. The ERTC program allows for employers to claim a refundable tax credit against a portion of the employer share of Social Security tax for qualified wages paid to employees from March 13, 2020 through September 30, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company recognized the $2.0 million tax credit within other income, net in the statements of income and comprehensive income in the second quarter of 2023, which is when the amount was received and it was determined that those amounts were reasonably assured to be retained by the Company. The Company’s compliance with the program’s qualifications may be subject to audit through the year ended December 31, 2025, which is when the statute of limitation expires. The Company has received all expected ERTC refunds based on applications that have been submitted.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Revenue Recognition</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company recognizes revenue when a customer obtains control of the promised products or services, in an amount that reflects the consideration the Company expects to receive in exchange for those products or services. Revenue is recognized net of allowances for returns and price adjustments, and any taxes imposed on specific revenue-producing transactions, which are subsequently remitted to governmental authorities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Nature of Products and Services</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company’s revenue is derived from the sale of MRAM-based products in discrete unit form, licenses of and royalties on its MRAM and magnetic sensor technology, the sale of backend foundry services and design services to third parties. Sales of products in discrete unit form are recognized at a point in time, revenue related to licensing agreements is recognized when the Company has delivered control of the technology, revenue related to royalty agreements is recognized in the period in which sales generated from products sold using the Company’s technology occurs, sales of backend foundry services are recognized over time, and design services to third parties are recognized either at a point in time or over time, depending on the nature of the services.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Product Revenue</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">For products sold in their discrete form, the Company either sells its products directly to OEMs, ODMs and CMs, or through a network of distributors, who in turn sell to those customers. For sales directly to OEMs, ODMs and CMs, revenue is recognized when the OEM, ODM or CM obtains control of the product, which occurs at a point in time, generally upon shipment to the customer. Contracts for sales of products are generally less than one year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">From time to time, the Company may provide distributors with price adjustments subsequent to the delivery of product to them and such amounts are dependent on the end customer and product sales price. Price adjustments can be based on a variety of factors, including customer, product, quantity, geography, and competitive differentiation. Price protection rights grant distributors the right to a credit in the event of declines in the price of the Company’s products. Under these circumstances, the Company remits back to the distributor a portion of their original purchase price after the resale transaction is completed in the form of a credit against the distributors’ outstanding accounts receivable balance. The credits are on a per unit basis and are not given to the distributor until the distributor provides information regarding the sale to their end customer. The Company estimates these credits and record such estimates in the same period the related revenue is recognized, resulting in a reduction of product revenue and the establishment of an allowance for price adjustments for amounts due to distributors. The Company estimates credits to distributors based on the historical rate of credits provided to distributors relative to sales and evaluation of current market conditions. Revenue on shipments to distributors is recorded when control of the products has been transferred to the distributor.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company estimates the amount of our product sales that may be returned by its customers and records this estimate as a reduction of revenue in the period the related product revenue is recognized. The Company estimates its product return liability by analyzing its historical returns, current economic trends and changes in customer demand and acceptance of products. The Company has received insignificant returns to date and believes that returns of its products will continue to not be material.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Upon the transfer of control, generally at shipment, the Company records a trade receivable for the selling price as there is a legally enforceable obligation of the distributor to pay for the product delivered, an allowance is recorded for the estimated discount that will be provided to the distributor, and the net of these amounts is recorded as revenue on the statements of income and comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">License Revenue</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">For licenses of technology, recognition of revenue is dependent upon whether the Company has delivered rights to the technology, and whether there are future performance obligations under the contract. In some instances, the license agreements call for future events or activities to occur in order for milestones amounts to become due from the customer. The terms of such agreements include payment to the Company of one or more of the following: non-refundable upfront fees; and royalties on net sales of licensed products. Historically, these license agreements have not included other future performance obligations for the Company once the license has been transferred to the customer.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Revenue from non-refundable upfront payments is recognized when the license is transferred to the customer and the Company has no other performance obligations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;">The Company entered into a contractual agreement with a customer in 2021 for the development of a RAD-Hard product, consisting of a technology license, a design license agreement and development contract, and separate contractual agreements with a customer in 2022 and 2023 for the development of a strategic radiation hardened field programmable gate array product, consisting of a technology license to provide design and development services under the contractual agreement. The Company applies a five-step approach in determining the amount and timing of revenue to be recognized: (1) identifying the contract with a customer; (2) identifying the performance obligations in the contract; (3) determining the transaction price; (4) allocating the transaction price to the performance obligations in the contract; and (5) recognizing revenue when the performance obligation is satisfied. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;">The Company concluded these contractual arrangements represent one arrangement and evaluated its promises to the customer and whether the performance obligations granted under the arrangement were distinct. The licenses provided to the customer are not transferable, are of limited value without the promised development services, and the customer cannot benefit from the license agreements without the specific obligated services in the development subcontract, as there is strong interdependency between the licenses and the development subcontract. Accordingly, the Company determined the licenses were not distinct within the context of the contract and combined the license with other performance obligations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.5pt;margin:0pt;">As a result, the Company is recognizing revenue related to the performance obligations over the duration of the contract using the input method based on costs incurred to date relative to the total expected costs of the contract over the contract period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Patents</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">In an effort to monetize on its intellectual property, the Company may sell patents to customers. The performance obligations are satisfied at the point in time at which the customer obtains control of the patents.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Royalties</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Revenue from sales-based royalties from licenses of the Company’s technology are recognized at the later of when (1) the sale occurs or (2) the performance obligation to which some or all of the sales-based royalty has been allocated is satisfied (in whole or in part). The Company will record an unbilled receivable (within accounts receivable, net) for the portion of sales-based royalties that have been earned, but not invoiced at the end of each reporting period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Other Revenue</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">For certain revenue streams, the Company recognizes revenue based on the pattern of transfer of the services. The Company uses the input method of measuring costs incurred to date compared to total estimated costs to be incurred under the contract as this method most faithfully depicts its performance. The Company will record an unbilled receivable (within accounts receivable, net) for the portion of the work that has been completed but not invoiced at the end of each reporting period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">At the inception of each agreement that includes milestone payments, the Company evaluates whether the milestones are considered probable of being reached and estimates the amount to be included in the transaction price by using the most likely amount method. If it is probable that a significant reversal of cumulative revenue would not occur, the associated milestone value is included in the transaction price. At the end of each subsequent reporting period, the Company re-evaluates the probability or achievement of each such milestone and any related constraint, and if necessary, adjusts its estimate of the overall transaction price. Any such adjustments are recorded on a cumulative catch-up basis, which would affect revenues and earnings in the period of adjustment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Product Warranty</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company generally sells products with a limited warranty of product quality and a limited indemnification of customers against intellectual property infringement claims related to the Company’s products. The Company accrues for known warranty and indemnification issues if a loss is probable and can be reasonably estimated and accrues for estimated losses incurred for unidentified issues based on historical experience. A warranty liability was not recorded at December 31, 2023 and 2022, as the estimated future warranty costs were not material based on the Company’s historical experience.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Research and Development</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Research and development expenses are incurred in support of internal development programs or as part of the Company’s joint development agreement with GLOBALFOUNDRIES (see Note 10). Research and development expenses include personnel-related costs (including stock-based compensation), circuit design costs, purchases of materials and laboratory supplies, fabrication and packaging of experimental integrated circuit products, depreciation of research and development related capital equipment and overhead and are expensed as incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Stock-based Compensation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Stock-based compensation arrangements include stock option grants and restricted stock unit (RSU) awards under the Company’s equity incentive plans, as well as shares issued under the Company’s Employee Stock Purchase Plan (ESPP), through which employees may purchase the Company’s common stock at a discount to the market price.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;">The Company uses RSUs with a service condition as its primary equity incentive compensation instrument for employees.  Share-based compensation expense for RSUs is measured on the grant date based on the fair market value of the Company’s common stock and is recognized over the requisite service period using the straight-line method. The Company accounts for forfeitures as they occur.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;">The Company measures its stock option grants based on the estimated fair value of the options as of the grant date using the Black-Scholes option-pricing model. Stock-based compensation expense for stock option grants is recognized over the requisite service period using the straight-line method. The Company accounts for forfeitures as they occur.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Expected volatility.</i> The Company determines the expected stock price volatility based on the historical volatility of its common stock and the historical volatilities of a peer group. Industry peers consist of several public companies in the technology industry similar in size, stage of life cycle and financial leverage. If circumstances change such that the identified companies are no longer similar, the Company will revise its peer group to substitute more suitable companies in this calculation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Risk-free interest rate.</i> The risk-free interest rate is based on the U.S. Treasury yield with a maturity equal to the expected term of the option in effect at the time of grant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Expected term.</i> The expected term represents the period that the stock-based awards are expected to be outstanding. The Company used the simplified method to determine the expected term, which is calculated as the average of the time to vesting and the contractual life of the options.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Dividend yield.</i> The Company has never paid dividends on its common stock and is prohibited from paying dividends on its common stock. Therefore, the Company used an expected dividend yield of zero.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Income Taxes</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company uses the liability method of accounting for income taxes. Under this method, deferred tax assets and liabilities are determined based on the differences between the financial reporting and the tax bases of assets and liabilities and are measured using the enacted tax rates and laws that will be in effect when the differences are expected to reverse. The Company must then assess the likelihood that the resulting deferred tax assets will be realized. A valuation allowance is provided when it is more likely than not that some portion or all of a deferred tax asset will not be realized.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company recognizes benefits of uncertain tax positions if it is more likely than not that such positions will be sustained upon examination based solely on their technical merits, as the largest amount of benefit that is more likely than not to be realized upon the ultimate settlement. The Company’s policy is to recognize interest and penalties related to the underpayment of income taxes as a component of income tax expense or benefit.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Net Income per Common Share</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Basic net income per common share is calculated by dividing the net income by the weighted-average number of shares of common stock outstanding for the period less shares subject to repurchase, without consideration of potentially dilutive securities. Diluted earnings per share is calculated using the treasury stock method by dividing net income by the total weighted average shares of common stock outstanding in addition to the potential impact of dilutive securities including restricted stock units, warrants, and options. In periods with a net loss, diluted net loss per common share is the same as basic net loss per common share since the effect of potentially dilutive securities is anti-dilutive.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Recently Issued Pronouncements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In June 2016, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) No. 2016-13, <i style="font-style:italic;">Financial Instruments-Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments</i>, which amends the incurred loss impairment methodology in current GAAP with a methodology that reflects expected credit losses and requires consideration of a broader range of reasonable and supportable information to inform credit loss estimates. As the Company is a smaller reporting company, ASU 2016-13 is effective for the Company’s annual reporting periods, and interim periods within those years, beginning after December 15, 2022, and requires a cumulative effect adjustment to the balance sheet as of the beginning of the first reporting period in which the guidance is effective. In April 2019, the FASB issued ASU 2019-04, <i style="font-style:italic;">Codification Improvements Financial Instruments-Credit Losses (Topic 326)</i>. ASU 2019-04 provides narrow-scope amendments to help apply ASU 2016-13, and is effective with the adoption of ASU 2016-13. The Company adopted ASU 2016-13 and ASU 2019-04 on January 1, 2023, and it did not have a material impact on its financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In December 2023, the FASB issued ASU No. 2023-09<i style="font-style:italic;">, Income Taxes (Topic 740): Improvements to Income Tax Disclosures</i>, which is intended to improve an entity’s income tax disclosures, primarily through disaggregated information about an entity’s effective income tax rate reconciliation and additional disclosures regarding income taxes paid. ASU 2023-09 is effective for the Company’s annual reporting periods, and interim periods within those years, beginning after December 15, 2024, on a prospective basis. The Company is currently evaluating the impact that the standard will have on its financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="color:#212529;background:#ffffff;">The Company </span><span style="background:#ffffff;">reviewed</span><span style="color:#212529;background:#ffffff;"> all other recently issued accounting pronouncements and concluded that they were either not applicable or not expected to have a significant impact to the financial statements.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Subsequent Events</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;">The Company evaluated events after December 31, 2023, and through the date the financial statements were issued, and determined any events or transactions occurring during this period that would require recognition or disclosure are appropriately addressed in these financial statements.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Use of Estimates</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The preparation of the financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities as of the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. On an ongoing basis, management evaluates its estimates, including those related to revenue recognition, fair value of assets and liabilities, inventory net realizable value, deferred tax assets and related valuation allowances, and stock-based compensation. The Company believes its estimates and assumptions are reasonable; however, actual results may differ from the Company’s estimates.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Segments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company’s chief operating decision maker is its Chief Executive Officer who reviews financial information for purposes of allocating resources and evaluating financial performance for the entire Company. As a result, the Company has single operating and reportable segment.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Cash and Cash Equivalents</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company considers all highly liquid, short-term investments with maturity dates of 90 days or less at the date of purchase to be cash equivalents. The Company’s cash equivalents consist solely of money market funds.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Accounts Receivable, Net</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Accounts receivable are recorded at the invoiced amount and do not bear interest. The Company generally does not require collateral or other security in support of accounts receivable. Allowances would be provided for individual accounts receivable when the Company becomes aware of a customer’s inability to meet its financial obligations, such as in the case of bankruptcy, deterioration in the customer’s operating results or change in financial position. If circumstances related to customers change, estimates of the recoverability of receivables would be further adjusted. The Company also considers a number of factors in evaluating the sufficiency of its allowance for doubtful accounts, including the length of time receivables are past due, significant one-time events, creditworthiness of customers and historical experience. Account balances would be charged off against the allowance after all means of collection have been exhausted and the potential for recovery is considered remote. The Company’s evaluation determined that no material allowance for doubtful accounts was necessary at December 31, 2023 and 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;">The unbilled accounts receivable is an estimate of consideration to which the Company expects to be entitled for uses of the Company’s intellectual property. Certain customers report on a lagged basis and actual information is not available timely. The estimates recorded are based on historical trends in the customer’s usage and current market conditions. At December 31, 2023 and 2022, the unbilled accounts receivable balance was $475,000 and $551,000, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;">The Company establishes an allowance for product returns. The Company analyzes historical returns, current economic trends and changes in customer demand and acceptance of products when evaluating the adequacy of sales returns. Returns are processed as credits on future purchases and, as a result, the allowance is recorded against the </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">balance of trade accounts receivable. In addition, the Company from time to time may establish an allowance for estimated price adjustments related to its distributor agreements. The Company estimates credits to distributors based on the historical rate of credits provided to distributors relative to sales and evaluation of current market conditions. At December 31, 2023 and 2022, the allowance for product returns and price adjustments was $410,000 and $384,000, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Accounts receivable, net consisted of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:69.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trade accounts receivable </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,489</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,498</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unbilled accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 475</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 551</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Allowance for product returns and price adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (410)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (384)</p></td></tr><tr><td style="vertical-align:bottom;width:69.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,554</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,665</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.5pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 475000 551000 410000 384000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Accounts receivable, net consisted of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:69.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trade accounts receivable </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,489</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,498</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unbilled accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 475</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 551</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Allowance for product returns and price adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (410)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (384)</p></td></tr><tr><td style="vertical-align:bottom;width:69.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,554</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,665</p></td></tr></table> 11489000 10498000 475000 551000 410000 384000 11554000 10665000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Concentration of Credit Risk</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Financial instruments that potentially expose the Company to a concentration of credit risk consist principally of cash and cash equivalents that are held by a financial institution in the United States and accounts receivable. Amounts on deposit with a financial institution may at times exceed federally insured limits. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Significant customers are those which represent more than 10% of the Company’s total revenue or net accounts receivable balance at each respective balance sheet date. For the purposes of this disclosure, the Company defines “customer” as the entity that is purchasing the products or licenses directly from the Company, which includes the distributors of the Company’s products in addition to end customers that the Company sells to directly. For each significant customer, revenue as a percentage of total revenue and accounts receivable as a percentage of total accounts receivable, net are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:39.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:39.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:27.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:27.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accounts Receivable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:39.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:27.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:39.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Customers</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:39.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer A</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_TnZqua-H_ky6P86CI6Z8tg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">*</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">18</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_5Htxk2ouQkmMPnvQLKX0pg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">*</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">30</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:39.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">15</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">18</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:39.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">11</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_ikX0Bu44A060eVj_cdRzlw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">*</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_zTcLbUx3gEiSH2eor0prfg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">*</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer D</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_-ZGTu3ZQiU-Xy5A5_Vqg5w;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">*</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_xvk4g_Gt6UOGt8RIQR1SQA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">*</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer E</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_zaxvJLNg30WA8Em4ITWXvA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">*</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_K-n5oG_xq0u4JU0c75IArw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">*</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">*</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">Less than 10%</p></td></tr></table> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:39.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:39.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:27.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:27.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accounts Receivable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:39.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:27.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:39.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Customers</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:39.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer A</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_TnZqua-H_ky6P86CI6Z8tg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">*</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">18</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_5Htxk2ouQkmMPnvQLKX0pg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">*</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">30</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:39.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">15</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">18</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:39.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">11</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_ikX0Bu44A060eVj_cdRzlw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">*</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_zTcLbUx3gEiSH2eor0prfg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">*</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer D</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_-ZGTu3ZQiU-Xy5A5_Vqg5w;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">*</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_xvk4g_Gt6UOGt8RIQR1SQA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">*</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:39.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer E</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_zaxvJLNg30WA8Em4ITWXvA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">*</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_K-n5oG_xq0u4JU0c75IArw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">*</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">*</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">Less than 10%</p></td></tr></table> 0.18 0.30 0.15 0.15 0.13 0.18 0.12 0.11 0.11 0.22 0.17 0.37 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Inventory</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Inventory is valued at the lower of cost, using the first-in, first-out or net realizable value. The carrying value of inventory is adjusted for excess and obsolescence based on the Company’s evaluation which takes into consideration historical and expected future demand, the effect new products may have on the sale of existing products, technological obsolescence, and other factors including inventory age and shipment. At the point of loss recognition, a new lower cost basis for that inventory is established and subsequent changes in facts and circumstances do not result in the restoration or increase in that new cost basis.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Fair Value of Financial Instruments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.5pt;margin:0pt 0pt 12pt 0pt;">Fair value is defined as an exit price, representing the amount that would be received to sell an asset, or paid to transfer a liability, in an orderly transaction between market participants. The framework for measuring fair value provides a three-tier hierarchy prioritizing inputs to valuation techniques used in measuring fair value as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 22.3pt;"><i style="font-style:italic;">Level 1</i>— Observable inputs such as quoted prices for identical assets or liabilities in active markets;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 22.3pt;"><i style="font-style:italic;">Level 2</i>— Inputs, other than quoted prices for identical assets or liabilities in active markets, which are observable either directly or indirectly; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 22.3pt;"><i style="font-style:italic;">Level 3</i>— Unobservable inputs in which there is little or no market data requiring the reporting entity to develop its own assumptions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The carrying value of accounts receivable, accounts payable, and other accruals readily convertible into cash approximate fair value because of the short-term nature of the instruments. The Company’s financial instruments consist of Level 1 assets and a Level 3 liability. Where quoted prices are available in an active market, securities are classified as Level 1. Level 1 assets consist of highly liquid money market funds that are included in cash equivalents. The Company’s Level 3 liability consisted of warrants issued in connection with the 2019 Credit Facility (as defined in Note 6). These warrants were extinguished as of December 31, 2023. The change in the fair value of the warrant liability during the year ended December 31, 2023, was immaterial.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The following tables sets forth the fair value of the Company’s financial assets and liabilities measured at fair value on a recurring basis (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:53.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Money market funds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,946</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,946</p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total assets measured at fair value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,946</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,946</p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:53.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Money market funds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,812</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">—</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">—</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,812</p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total assets measured at fair value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,812</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,812</p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Liabilities:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Warrant liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">—</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">—</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total liabilities measured at fair value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td></tr></table> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The following tables sets forth the fair value of the Company’s financial assets and liabilities measured at fair value on a recurring basis (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:53.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Money market funds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,946</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,946</p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total assets measured at fair value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,946</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,946</p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:53.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 1</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 2</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Level 3</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Money market funds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,812</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">—</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">—</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,812</p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total assets measured at fair value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,812</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,812</p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Liabilities:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Warrant liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">—</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">—</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td></tr><tr><td style="vertical-align:bottom;width:44.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total liabilities measured at fair value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td></tr></table> 36946000 36946000 36946000 36946000 26812000 26812000 26812000 26812000 27000 27000 27000 27000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Property and Equipment</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Property and equipment are stated at cost, less accumulated depreciation and amortization. Depreciation begins at the time the asset is placed in service. Maintenance and repairs are charged to operations as incurred. Depreciation is computed using the straight-line method over the following estimated useful lives of the assets:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80.13%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:62.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:62.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Useful Lives</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer and network equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:62.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">2 years</p></td></tr><tr><td style="vertical-align:bottom;width:37.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Manufacturing equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:62.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">2 – <span style="-sec-ix-hidden:Hidden_pz43fNWx_kKien6U7nTiuQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">7 years</span></span></p></td></tr><tr><td style="vertical-align:bottom;width:37.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture and fixtures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:62.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">7 years</p></td></tr><tr><td style="vertical-align:bottom;width:37.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:62.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">3 years</p></td></tr><tr><td style="vertical-align:bottom;width:37.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:62.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">Lesser of useful life of the asset or the remaining lease term</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Costs incurred to develop software for internal use during the application development phase are capitalized and amortized over such software’s estimated useful life. Costs related to the design or maintenance of internal-use software are included in operating expenses as incurred. Upon sale or retirement of assets, the cost and related accumulated depreciation are removed from the balance sheet and any resulting gain or loss is reflected in operations. Amortization expense of assets acquired through finance leases is included in the statements of income and comprehensive income.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80.13%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:62.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:62.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Useful Lives</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer and network equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:62.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">2 years</p></td></tr><tr><td style="vertical-align:bottom;width:37.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Manufacturing equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:62.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">2 – <span style="-sec-ix-hidden:Hidden_pz43fNWx_kKien6U7nTiuQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">7 years</span></span></p></td></tr><tr><td style="vertical-align:bottom;width:37.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture and fixtures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:62.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">7 years</p></td></tr><tr><td style="vertical-align:bottom;width:37.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:62.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">3 years</p></td></tr><tr><td style="vertical-align:bottom;width:37.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:62.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">Lesser of useful life of the asset or the remaining lease term</p></td></tr></table> P2Y P2Y P7Y P3Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Impairment of Long-lived Assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;">The Company evaluates its long-lived assets, including property and equipment, at the asset group level, for impairment whenever events or changes in circumstances indicate that the carrying value of these assets may not be </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">recoverable. If such events or changes in circumstances occur, for purposes of this assessment, long-lived assets are grouped with other assets and liabilities at the lowest level for which identifiable cash flows are largely independent of the cash flows of other assets and liabilities. Recoverability of these assets is measured by comparison of the carrying amount of each asset group to the future undiscounted cash flows the asset group is expected to generate over its remaining life. If the asset group is considered to be impaired, the amount of any impairment is measured as the difference between the carrying value and the fair value of the impaired asset. There have been no impairments of the Company’s long-lived assets during either of the periods presented.</p> 0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Leases</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company leases office, lab, manufacturing space and equipment in various locations with initial lease terms of up to seven years. These leases require monthly lease payments that <span style="-sec-ix-hidden:Hidden_TDP-LTOyd0GStaX7ozrDlw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">may</span></span> be subject to annual increases throughout the lease term. The terms of these leases also include renewal options at the election of the Company to <span style="-sec-ix-hidden:Hidden_CtvKZWQrpkG0YO7RT4K22g;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">renew</span></span> or <span style="-sec-ix-hidden:Hidden_7qGCM08lfUuqdDqxbV7i4Q;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">extend</span></span> the lease for a range of an additional <span style="-sec-ix-hidden:Hidden_WAgXMWyKGkG6x88rXNx0xA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">two</span></span> to five years. These optional periods have not been considered in the determination of the right-of-use-assets (ROU) or lease liabilities associated with these leases as the Company did not consider it reasonably certain it would exercise the options.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company determines if an arrangement is a lease at inception. ROU assets represent the Company’s right to use an underlying asset for the lease term and lease liabilities represent the Company’s obligation to make lease payments arising from the lease. The classification of the Company’s leases as operating or finance leases along with the initial measurement and recognition of the associated ROU assets and lease liabilities is performed at the lease commencement date. The measurement of lease liabilities is based on the present value of future lease payments over the lease term. The Company uses its incremental borrowing rate, based on the information available at commencement date, to determine the present value of lease payments when its leases do not provide an implicit rate. The Company uses the implicit rate when readily determinable. The ROU asset is based on the measurement of the lease liability, includes any lease payments made prior to or on lease commencement and excludes lease incentives and initial direct costs incurred, as applicable. Lease expense for the Company’s operating leases is recognized on a straight-line basis over the lease term. Amortization expense for ROU assets associated with finance leases is recognized on a straight-line basis over the shorter of the useful life of the asset or the lease term and interest expense associated with finance leases is recognized on the balance of the lease liability using the effective interest method based on the estimated incremental borrowing rate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company has lease agreements with lease and non-lease components. The Company has elected to not separate lease and non-lease components for any leases involving real estate and office equipment classes of assets and, as a result, accounts for the lease and non-lease components as a single lease component. The Company has elected to separate lease and non-lease components for any leases involving manufacturing facility classes of assets. Further, the Company elected the short-term lease exception policy, permitting it to not apply the recognition requirements of this standard to leases with terms of 12 months or less (short-term leases) for all classes of assets. As of December 31, 2023, the Company did not have any short-term leases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Operating leases are included in right-of-use assets, lease liabilities, and lease liabilities, net of current portion in the Company’s balance sheet. Finance leases are immaterial.</p> P7Y true true P5Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Debt Issuance Costs</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.5pt;margin:0pt 0pt 12pt 0pt;">The Company deferred and amortized issuance costs, underwriting fees, end of term payments, and related expenses incurred in connection with the issuance of debt instruments using the effective interest method over the terms of the respective instruments. Debt issuance costs were reflected as a direct reduction of the carrying amount of the related debt liability.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Government Tax Credits, Incentives and Grants</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">From time to time, the Company may receive government funding in the form of tax credits, operating-related grants, capital-related grants, or other incentives to support various business activities, including capital development, research and development, and other activities as defined by the relevant government agency awarding the tax credit, incentive, or grant. The amount received is typically based on the amount of qualifying costs incurred. The Company typically has to meet certain requirements to retain the government funding. The Company records operating-related </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">grants and non-income related tax credits as other income in the statements of income and comprehensive income when there is reasonable assurance that the grant will be received, and the Company will comply with the conditions specified in the grant agreement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company received Employee Retention Tax Credit (“ERTC”) refunds from the United States Treasury totaling $2.0 million, relating to the payroll periods from October 1, 2020 through September 30, 2021. The amounts were received pursuant to provisions within the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”), the Taxpayer Certainty and Disaster Tax Relief Act of 2020 enacted as part of the Consolidated Appropriations Act, 2021 (“Relief Act”), the American Rescue Plan Act of 2021 (“ARPA”) which provide tax relief and other stimulus measures, including the ERTC. The ERTC program allows for employers to claim a refundable tax credit against a portion of the employer share of Social Security tax for qualified wages paid to employees from March 13, 2020 through September 30, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company recognized the $2.0 million tax credit within other income, net in the statements of income and comprehensive income in the second quarter of 2023, which is when the amount was received and it was determined that those amounts were reasonably assured to be retained by the Company. The Company’s compliance with the program’s qualifications may be subject to audit through the year ended December 31, 2025, which is when the statute of limitation expires. The Company has received all expected ERTC refunds based on applications that have been submitted.</p> 2000000.0 2000000.0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Revenue Recognition</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company recognizes revenue when a customer obtains control of the promised products or services, in an amount that reflects the consideration the Company expects to receive in exchange for those products or services. Revenue is recognized net of allowances for returns and price adjustments, and any taxes imposed on specific revenue-producing transactions, which are subsequently remitted to governmental authorities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Nature of Products and Services</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company’s revenue is derived from the sale of MRAM-based products in discrete unit form, licenses of and royalties on its MRAM and magnetic sensor technology, the sale of backend foundry services and design services to third parties. Sales of products in discrete unit form are recognized at a point in time, revenue related to licensing agreements is recognized when the Company has delivered control of the technology, revenue related to royalty agreements is recognized in the period in which sales generated from products sold using the Company’s technology occurs, sales of backend foundry services are recognized over time, and design services to third parties are recognized either at a point in time or over time, depending on the nature of the services.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Product Revenue</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">For products sold in their discrete form, the Company either sells its products directly to OEMs, ODMs and CMs, or through a network of distributors, who in turn sell to those customers. For sales directly to OEMs, ODMs and CMs, revenue is recognized when the OEM, ODM or CM obtains control of the product, which occurs at a point in time, generally upon shipment to the customer. Contracts for sales of products are generally less than one year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">From time to time, the Company may provide distributors with price adjustments subsequent to the delivery of product to them and such amounts are dependent on the end customer and product sales price. Price adjustments can be based on a variety of factors, including customer, product, quantity, geography, and competitive differentiation. Price protection rights grant distributors the right to a credit in the event of declines in the price of the Company’s products. Under these circumstances, the Company remits back to the distributor a portion of their original purchase price after the resale transaction is completed in the form of a credit against the distributors’ outstanding accounts receivable balance. The credits are on a per unit basis and are not given to the distributor until the distributor provides information regarding the sale to their end customer. The Company estimates these credits and record such estimates in the same period the related revenue is recognized, resulting in a reduction of product revenue and the establishment of an allowance for price adjustments for amounts due to distributors. The Company estimates credits to distributors based on the historical rate of credits provided to distributors relative to sales and evaluation of current market conditions. Revenue on shipments to distributors is recorded when control of the products has been transferred to the distributor.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company estimates the amount of our product sales that may be returned by its customers and records this estimate as a reduction of revenue in the period the related product revenue is recognized. The Company estimates its product return liability by analyzing its historical returns, current economic trends and changes in customer demand and acceptance of products. The Company has received insignificant returns to date and believes that returns of its products will continue to not be material.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Upon the transfer of control, generally at shipment, the Company records a trade receivable for the selling price as there is a legally enforceable obligation of the distributor to pay for the product delivered, an allowance is recorded for the estimated discount that will be provided to the distributor, and the net of these amounts is recorded as revenue on the statements of income and comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">License Revenue</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">For licenses of technology, recognition of revenue is dependent upon whether the Company has delivered rights to the technology, and whether there are future performance obligations under the contract. In some instances, the license agreements call for future events or activities to occur in order for milestones amounts to become due from the customer. The terms of such agreements include payment to the Company of one or more of the following: non-refundable upfront fees; and royalties on net sales of licensed products. Historically, these license agreements have not included other future performance obligations for the Company once the license has been transferred to the customer.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Revenue from non-refundable upfront payments is recognized when the license is transferred to the customer and the Company has no other performance obligations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;">The Company entered into a contractual agreement with a customer in 2021 for the development of a RAD-Hard product, consisting of a technology license, a design license agreement and development contract, and separate contractual agreements with a customer in 2022 and 2023 for the development of a strategic radiation hardened field programmable gate array product, consisting of a technology license to provide design and development services under the contractual agreement. The Company applies a five-step approach in determining the amount and timing of revenue to be recognized: (1) identifying the contract with a customer; (2) identifying the performance obligations in the contract; (3) determining the transaction price; (4) allocating the transaction price to the performance obligations in the contract; and (5) recognizing revenue when the performance obligation is satisfied. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;">The Company concluded these contractual arrangements represent one arrangement and evaluated its promises to the customer and whether the performance obligations granted under the arrangement were distinct. The licenses provided to the customer are not transferable, are of limited value without the promised development services, and the customer cannot benefit from the license agreements without the specific obligated services in the development subcontract, as there is strong interdependency between the licenses and the development subcontract. Accordingly, the Company determined the licenses were not distinct within the context of the contract and combined the license with other performance obligations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.5pt;margin:0pt;">As a result, the Company is recognizing revenue related to the performance obligations over the duration of the contract using the input method based on costs incurred to date relative to the total expected costs of the contract over the contract period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Patents</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">In an effort to monetize on its intellectual property, the Company may sell patents to customers. The performance obligations are satisfied at the point in time at which the customer obtains control of the patents.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Royalties</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Revenue from sales-based royalties from licenses of the Company’s technology are recognized at the later of when (1) the sale occurs or (2) the performance obligation to which some or all of the sales-based royalty has been allocated is satisfied (in whole or in part). The Company will record an unbilled receivable (within accounts receivable, net) for the portion of sales-based royalties that have been earned, but not invoiced at the end of each reporting period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Other Revenue</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">For certain revenue streams, the Company recognizes revenue based on the pattern of transfer of the services. The Company uses the input method of measuring costs incurred to date compared to total estimated costs to be incurred under the contract as this method most faithfully depicts its performance. The Company will record an unbilled receivable (within accounts receivable, net) for the portion of the work that has been completed but not invoiced at the end of each reporting period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">At the inception of each agreement that includes milestone payments, the Company evaluates whether the milestones are considered probable of being reached and estimates the amount to be included in the transaction price by using the most likely amount method. If it is probable that a significant reversal of cumulative revenue would not occur, the associated milestone value is included in the transaction price. At the end of each subsequent reporting period, the Company re-evaluates the probability or achievement of each such milestone and any related constraint, and if necessary, adjusts its estimate of the overall transaction price. Any such adjustments are recorded on a cumulative catch-up basis, which would affect revenues and earnings in the period of adjustment.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Product Warranty</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company generally sells products with a limited warranty of product quality and a limited indemnification of customers against intellectual property infringement claims related to the Company’s products. The Company accrues for known warranty and indemnification issues if a loss is probable and can be reasonably estimated and accrues for estimated losses incurred for unidentified issues based on historical experience. A warranty liability was not recorded at December 31, 2023 and 2022, as the estimated future warranty costs were not material based on the Company’s historical experience.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Research and Development</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Research and development expenses are incurred in support of internal development programs or as part of the Company’s joint development agreement with GLOBALFOUNDRIES (see Note 10). Research and development expenses include personnel-related costs (including stock-based compensation), circuit design costs, purchases of materials and laboratory supplies, fabrication and packaging of experimental integrated circuit products, depreciation of research and development related capital equipment and overhead and are expensed as incurred.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Stock-based Compensation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Stock-based compensation arrangements include stock option grants and restricted stock unit (RSU) awards under the Company’s equity incentive plans, as well as shares issued under the Company’s Employee Stock Purchase Plan (ESPP), through which employees may purchase the Company’s common stock at a discount to the market price.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;">The Company uses RSUs with a service condition as its primary equity incentive compensation instrument for employees.  Share-based compensation expense for RSUs is measured on the grant date based on the fair market value of the Company’s common stock and is recognized over the requisite service period using the straight-line method. The Company accounts for forfeitures as they occur.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;">The Company measures its stock option grants based on the estimated fair value of the options as of the grant date using the Black-Scholes option-pricing model. Stock-based compensation expense for stock option grants is recognized over the requisite service period using the straight-line method. The Company accounts for forfeitures as they occur.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Expected volatility.</i> The Company determines the expected stock price volatility based on the historical volatility of its common stock and the historical volatilities of a peer group. Industry peers consist of several public companies in the technology industry similar in size, stage of life cycle and financial leverage. If circumstances change such that the identified companies are no longer similar, the Company will revise its peer group to substitute more suitable companies in this calculation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Risk-free interest rate.</i> The risk-free interest rate is based on the U.S. Treasury yield with a maturity equal to the expected term of the option in effect at the time of grant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Expected term.</i> The expected term represents the period that the stock-based awards are expected to be outstanding. The Company used the simplified method to determine the expected term, which is calculated as the average of the time to vesting and the contractual life of the options.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Dividend yield.</i> The Company has never paid dividends on its common stock and is prohibited from paying dividends on its common stock. Therefore, the Company used an expected dividend yield of zero.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Income Taxes</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company uses the liability method of accounting for income taxes. Under this method, deferred tax assets and liabilities are determined based on the differences between the financial reporting and the tax bases of assets and liabilities and are measured using the enacted tax rates and laws that will be in effect when the differences are expected to reverse. The Company must then assess the likelihood that the resulting deferred tax assets will be realized. A valuation allowance is provided when it is more likely than not that some portion or all of a deferred tax asset will not be realized.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company recognizes benefits of uncertain tax positions if it is more likely than not that such positions will be sustained upon examination based solely on their technical merits, as the largest amount of benefit that is more likely than not to be realized upon the ultimate settlement. The Company’s policy is to recognize interest and penalties related to the underpayment of income taxes as a component of income tax expense or benefit.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Net Income per Common Share</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Basic net income per common share is calculated by dividing the net income by the weighted-average number of shares of common stock outstanding for the period less shares subject to repurchase, without consideration of potentially dilutive securities. Diluted earnings per share is calculated using the treasury stock method by dividing net income by the total weighted average shares of common stock outstanding in addition to the potential impact of dilutive securities including restricted stock units, warrants, and options. In periods with a net loss, diluted net loss per common share is the same as basic net loss per common share since the effect of potentially dilutive securities is anti-dilutive.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Recently Issued Pronouncements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In June 2016, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) No. 2016-13, <i style="font-style:italic;">Financial Instruments-Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments</i>, which amends the incurred loss impairment methodology in current GAAP with a methodology that reflects expected credit losses and requires consideration of a broader range of reasonable and supportable information to inform credit loss estimates. As the Company is a smaller reporting company, ASU 2016-13 is effective for the Company’s annual reporting periods, and interim periods within those years, beginning after December 15, 2022, and requires a cumulative effect adjustment to the balance sheet as of the beginning of the first reporting period in which the guidance is effective. In April 2019, the FASB issued ASU 2019-04, <i style="font-style:italic;">Codification Improvements Financial Instruments-Credit Losses (Topic 326)</i>. ASU 2019-04 provides narrow-scope amendments to help apply ASU 2016-13, and is effective with the adoption of ASU 2016-13. The Company adopted ASU 2016-13 and ASU 2019-04 on January 1, 2023, and it did not have a material impact on its financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In December 2023, the FASB issued ASU No. 2023-09<i style="font-style:italic;">, Income Taxes (Topic 740): Improvements to Income Tax Disclosures</i>, which is intended to improve an entity’s income tax disclosures, primarily through disaggregated information about an entity’s effective income tax rate reconciliation and additional disclosures regarding income taxes paid. ASU 2023-09 is effective for the Company’s annual reporting periods, and interim periods within those years, beginning after December 15, 2024, on a prospective basis. The Company is currently evaluating the impact that the standard will have on its financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="color:#212529;background:#ffffff;">The Company </span><span style="background:#ffffff;">reviewed</span><span style="color:#212529;background:#ffffff;"> all other recently issued accounting pronouncements and concluded that they were either not applicable or not expected to have a significant impact to the financial statements.</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Subsequent Events</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;">The Company evaluated events after December 31, 2023, and through the date the financial statements were issued, and determined any events or transactions occurring during this period that would require recognition or disclosure are appropriately addressed in these financial statements.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">3. Revenue</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company sells products to its distributors, ODMs and OEMs. The Company also recognizes revenue under licensing, patent, and royalty agreements with some customers. The following table presents the Company’s revenues disaggregated by sales channel (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:39.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Distributor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,845</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,943</p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-distributor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,920</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,042</p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,765</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,985</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The following table presents the Company’s revenues disaggregated by timing of recognition (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:39.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Point in time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 54,183</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56,675</p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Over time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,582</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,310</p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,765</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,985</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The following table presents the Company’s revenues disaggregated by type (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:39.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Product sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,123</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,032</p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Licensing</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,476</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,937</p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Royalties</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 862</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,414</p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,304</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,602</p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,765</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,985</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company licenses its intellectual property and is entitled to consideration based on the customer’s sales. The Company makes estimates in instances when the customer reports sales on a lagged basis and actual information is not available timely. The estimates are based on historical trends in the customer’s activity and current market conditions. In the year ended December 31, 2023, the Company recognized less than $0.1 million of royalty revenue related to activity occurring in the year ended December 31, 2022. In the year ended December 31, 2022, the Company recognized $0.3 million of royalty revenue related to activity occurring in the year ended December 31, 2021. This is a change in estimate and is based on actual information received from the customer. The amounts are reported in licensing, royalty, patent and other revenue in the statements of income and comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">We recognize revenue by geography based on the region in which our products are sold, and not to where the end products in which they are assembled are shipped. Our revenue by region for the periods indicated was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:39.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">APAC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33,096</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,631</p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">North America</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,922</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,533</p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">EMEA</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,747</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,821</p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,765</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,985</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p> The following table presents the Company’s revenues disaggregated by sales channel (in thousands):<p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:39.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Distributor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,845</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,943</p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-distributor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,920</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,042</p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,765</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,985</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The following table presents the Company’s revenues disaggregated by timing of recognition (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:39.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Point in time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 54,183</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56,675</p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Over time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,582</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,310</p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,765</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,985</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The following table presents the Company’s revenues disaggregated by type (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:39.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Product sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,123</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,032</p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Licensing</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,476</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,937</p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Royalties</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 862</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,414</p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,304</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,602</p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,765</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,985</p></td></tr></table>Our revenue by region for the periods indicated was as follows (in thousands):<p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:39.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">APAC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33,096</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,631</p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">North America</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,922</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,533</p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">EMEA</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,747</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,821</p></td></tr><tr><td style="vertical-align:bottom;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,765</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,985</p></td></tr></table> 49845000 50943000 13920000 9042000 63765000 59985000 54183000 56675000 9582000 3310000 63765000 59985000 53123000 55032000 7476000 1937000 862000 1414000 2304000 1602000 63765000 59985000 100000 300000 33096000 35631000 15922000 14533000 14747000 9821000 63765000 59985000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">4. Balance Sheet Components</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Inventory</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Inventory consisted of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Raw materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 189</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 666</p></td></tr><tr><td style="vertical-align:bottom;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Work-in-process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,724</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,746</p></td></tr><tr><td style="vertical-align:bottom;width:69.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finished goods</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,478</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,271</p></td></tr><tr><td style="vertical-align:bottom;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total inventory</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,391</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,683</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Property and Equipment, Net</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Property and equipment, net consisted of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:78.79%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:69.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Manufacturing equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,494</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,130</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer and network equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 520</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,124</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture and fixtures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 113</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 187</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 825</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 929</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,476</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,444</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total property and equipment, gross</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,428</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,814</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: accumulated depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (12,711)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (15,931)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total property and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,717</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,883</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Depreciation and amortization expense during the years ended December 31, 2023 and 2022 was $1.2 million and $1.0 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Accrued Liabilities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Accrued liabilities consisted of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Payroll-related expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,347</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,886</p></td></tr><tr><td style="vertical-align:bottom;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Inventory </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 317</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 185</p></td></tr><tr><td style="vertical-align:bottom;width:69.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 672</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 462</p></td></tr><tr><td style="vertical-align:bottom;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,336</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,533</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Deferred Revenue</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">During the year ended December 31, 2022, the Company executed contractual arrangements with a customer for the development of a RAD-Hard product, consisting of a technology license, design license agreement and development subcontract (RAD-Hard 1). The Company does not share in the rights to future revenues or royalties. The total arrangements are for $6.5 million in consideration.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">The Company concluded these contractual arrangements represent one arrangement and evaluated its promises to the customer and whether the performance obligations granted under the arrangement were distinct. The licenses provided to the customer are not transferable, are of limited value without the promised development services, and the customer cannot benefit from the license agreements without the specific obligated services in the development subcontract, as there is strong interdependency between the licenses and the development subcontract. Accordingly, the Company determined the licenses were not distinct within the context of the contract and combined the license with other performance obligations. The total transaction price of $6.5 million was allocated to the single performance obligation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company recognizes revenue related to the performance obligations over time using the input method based on costs incurred to date relative to the total expected costs of the contract and began recognizing revenue in the second quarter of 2021 over the contract period. This method depicts performance under the contract and requires the Company to make estimates about the future costs expected to be incurred to perform under the contact, including labor and material costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">As of December 31, 2023, the Company has billed $6.0 million for the performance under the RAD-Hard 1 contractual agreements. Under the input method of recognition, the Company has recognized $0.7 million in revenue for the year ending December 31, 2023, and $5.7 million in revenue since inception of the contractual agreements. As a result, the Company has recorded $0.3 million in deferred revenue as of December 31, 2023. The Company expects to recognize the remaining $0.8 million of the transaction price as services are performed throughout the contractual period and performance is expected to be complete in the year ended December 31, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">As of December 31, 2022, the Company had recorded $0.8 million in deferred revenue, of which $0.7 million was recognized as revenue during the year ending December 31, 2023.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Inventory consisted of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Raw materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 189</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 666</p></td></tr><tr><td style="vertical-align:bottom;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Work-in-process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,724</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,746</p></td></tr><tr><td style="vertical-align:bottom;width:69.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finished goods</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,478</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,271</p></td></tr><tr><td style="vertical-align:bottom;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total inventory</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,391</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,683</p></td></tr></table> 189000 666000 6724000 4746000 1478000 1271000 8391000 6683000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Property and equipment, net consisted of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:78.79%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:69.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Manufacturing equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,494</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,130</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer and network equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 520</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,124</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture and fixtures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 113</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 187</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 825</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 929</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,476</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,444</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total property and equipment, gross</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,428</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,814</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: accumulated depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (12,711)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (15,931)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total property and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,717</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,883</p></td></tr></table> 13494000 16130000 520000 1124000 113000 187000 825000 929000 1476000 1444000 16428000 19814000 12711000 15931000 3717000 3883000 1200000 1000000.0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Accrued liabilities consisted of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Payroll-related expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,347</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,886</p></td></tr><tr><td style="vertical-align:bottom;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Inventory </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 317</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 185</p></td></tr><tr><td style="vertical-align:bottom;width:69.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 672</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 462</p></td></tr><tr><td style="vertical-align:bottom;width:69.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,336</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.65%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,533</p></td></tr></table> 3347000 2886000 317000 185000 672000 462000 4336000 3533000 6500000 6500000 6000000.0 700000 5700000 300000 800000 800000 700000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">5. Commitments and Contingencies</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Leases</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Operating leases consist of fabrication, lab, and office space expiring at various dates through 2029. Finance leases relate to a server lease expiring in January 2025. The Company’s lease agreements do not contain any material residual value guarantees or material restrictive covenants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The undiscounted future non-cancellable lease payments under the Company’s operating and finance leases were as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">As of December 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,411</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,416</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,431</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,314</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 529</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,139</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (559)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,580</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Less: current portion of lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,190)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total lease liabilities, net of current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,390</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 10pt 0pt;">Other information related to the Company's operating lease liabilities was as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:68.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted-average remaining lease term (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">4.37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">5.35</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted-average discount rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">4.50</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">4.50</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 10pt 0pt;">Other information related to the Company’s finance lease liabilities was as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:68.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted-average remaining lease term (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">1.09</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">2.09</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted-average discount rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">4.50</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">4.50</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 10pt 0pt;">Lease costs for the Company’s operating leases were $1.4 million for the years ended December 31, 2023 and 2022, respectively. Lease costs for the Company’s finance lease were immaterial for the years ended December 31, 2023 and 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Legal Proceedings</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">From time to time, the Company may become involved in legal proceedings arising from the ordinary course of its business. Management is currently not aware of any matters that it expects will have a material adverse effect on the financial position, results of operations or cash flows of the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Indemnifications</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">In the ordinary course of business, the Company enters into agreements that may include indemnification provisions. Pursuant to such agreements, the Company may indemnify, hold harmless and defend an indemnified party for losses suffered or incurred by the indemnified party. Some of the provisions will limit losses to those arising from third party actions. In some cases, the indemnification will continue after the termination of the agreement. The maximum potential amount of future payments the Company could be required to make under these provisions is not determinable. The Company has never incurred material costs to defend lawsuits or settle claims related to these indemnification provisions. The Company has also entered into indemnification agreements with its directors and officers that may require the Company to indemnify its directors and officers against liabilities that may arise by reason of their status or service as directors or officers to the fullest extent permitted by Delaware corporate law. The Company currently has directors’ and officers’ insurance.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The undiscounted future non-cancellable lease payments under the Company’s operating and finance leases were as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">As of December 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,411</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,416</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,431</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,314</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 529</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,139</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (559)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,580</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Less: current portion of lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,190)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total lease liabilities, net of current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,390</p></td></tr></table> 1411000 1416000 1431000 1314000 529000 38000 6139000 559000 5580000 1190000 4390000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:68.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted-average remaining lease term (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">4.37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">5.35</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted-average discount rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">4.50</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">4.50</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:68.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted-average remaining lease term (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">1.09</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">2.09</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">    </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted-average discount rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">4.50</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">4.50</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table> P4Y4M13D P5Y4M6D 0.0450 0.0450 P1Y1M2D P2Y1M2D 0.0450 0.0450 1400000 1400000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;margin:0pt;"><b style="font-weight:bold;">6. Debt</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:14pt;text-indent:18pt;background:#ffffff;margin:2pt 0pt 0pt 0pt;">In March 2023, the 2019 Credit Facility, consisting of the Company’s Term Loan and Line of Credit, was paid in full, and there was no outstanding balance as of December 31, 2023. The Company paid an early termination and prepayment fee of $170,000<span style="white-space:pre-wrap;">, which was recorded within other income (expense) within the statements of income and comprehensive income for the year ended December 31, 2023. The Company was in compliance with all covenants throughout the 2019 Credit Facility payoff date in March 2023. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;background:#ffffff;margin:0pt;">The amortization of the debt issuance costs and accretion of the debt discount is included in interest expense within the statements of income and comprehensive income and included in non-cash interest expense within the statement of cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:14pt 0pt 12pt 0pt;">The carrying value of the Company’s 2019 Credit Facility at December 31, 2022, was as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Current</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Long-Term</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Portion</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Debt</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Credit Facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,620</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,620</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Unamortized debt discounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (26)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (26)</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Net carrying value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,594</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,594</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 0 170000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:14pt 0pt 12pt 0pt;">The carrying value of the Company’s 2019 Credit Facility at December 31, 2022, was as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Current</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Long-Term</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Portion</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Debt</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Credit Facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,620</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,620</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Unamortized debt discounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (26)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (26)</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Net carrying value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,594</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.66%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,594</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 2620000 2620000 26000 26000 2594000 2594000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">7. Stockholders’ Equity</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Common Stock</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Common stockholders are entitled to dividends if and when declared by the board of directors. As of December 31, 2023, no dividends on common stock had been declared by the board of directors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Reserved Shares of Common Stock</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company had reserved shares of common stock for future issuance as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:76.26%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Options issued and outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,793,485</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,994,726</p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Shares available for future option grants</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 598,397</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 689,472</p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">RSUs subject to future vesting</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 905,781</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 656,646</p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Common stock warrants</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,461</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,461</p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,316,124</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.95%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,359,305</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Warrants</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;">In connection with the Company’s prior credit facility with Ares Venture Finance entered into in June 2015, the Company issued Ares Venture Finance a warrant to purchase 18,461 shares of the Company’s common stock at an exercise price of $26.00 per share. The warrant can be exercised at any time and expires on June 5, 2025.</p> 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:76.26%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Options issued and outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,793,485</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,994,726</p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Shares available for future option grants</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 598,397</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 689,472</p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">RSUs subject to future vesting</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 905,781</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 656,646</p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Common stock warrants</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,461</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,461</p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,316,124</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.95%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,359,305</p></td></tr></table> 1793485 1994726 598397 689472 905781 656646 18461 18461 3316124 3359305 18461 26.00 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">8. Stock-Based Compensation</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">2016 Employee Incentive Plan</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company’s board of directors adopted the 2016 Equity Incentive Plan (the 2016 Plan) on April 25, 2016, which was subsequently approved on September 20, 2016 by the Company’s stockholders. The 2016 Plan became effective on October 7, 2016, the date the Company’s S-8 registration statement relating to the 2016 Plan was declared effective by the SEC.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company’s 2016 Plan provides for the grant of incentive stock options, non-statutory stock options, stock appreciation rights, restricted stock awards, restricted stock unit awards, performance-based stock awards, and other forms of equity compensation to employees, directors, and consultants. In addition, the Company’s 2016 Plan provides for the grant of performance cash awards to employees, directors, and consultants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The maximum number of shares of common stock that may be issued under the Company’s 2016 Plan was initially 500,000 subject to an automatic increase on January 1 of each year, beginning on January 1, 2017, and continuing through and including January 1, 2026, by 3% of the total number of shares of capital stock outstanding on December 31 of the preceding calendar year, or a lesser number of shares determined by the Company’s board of directors. On May 20, 2021, the Company’s stockholders approved an amendment to the 2016 Plan to increase the total number of authorized shares of common stock available for grant thereunder by an additional 550,000 shares. At December 31, 2023, of the 3,297,663 shares of common stock reserved and available for grant under the 2016 Plan, 598,397 shares of common stock remain available for grant under the 2016 Plan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">2008 Employee Incentive Plan</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The 2008 Equity Incentive Plan (the 2008 Plan) provided for the issuance of incentive stock options (ISO), nonqualified stock options, and other stock compensation awards. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Due to the adoption of the 2016 Plan, no further grants will be made under the Company’s 2008 Plan. However, any outstanding stock awards granted under the 2008 Plan will remain outstanding, subject to the terms of the Company’s 2008 Plan and the applicable stock award agreements, until such outstanding stock awards that are stock options are exercised or until they terminate or expire by their terms, or until such stock awards are fully settled, terminated, or forfeited. At December 31, 2023, 35,943 options under the 2008 Plan remained outstanding.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Summary of Stock Option Activity</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The following table summarizes the stock option and award activity for all grants under the 2008 Plan and 2016 Plan:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:47.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:47.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:40.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options Outstanding</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options and</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> Awards</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Available for</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Price Per</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Life (years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In thousands)</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance—December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 689,472</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,994,726</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.88</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,275</p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Authorized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 611,228</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">RSUs granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (713,301)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">RSUs cancelled/forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,057</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Warrants exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (236)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Options granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,000)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.47</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Options exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (161,121)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.99</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 679</p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Options cancelled/forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,177</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (12,177)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.48</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance—December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 598,397</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,829,428</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.96</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,676</p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Options exercisable—December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,296,776</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.67</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,411</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">During the years ended December 31, 2023 and 2022, the Company granted options with a weighted-average grant date fair value of $3.85 and $5.40 per share, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The total fair value of options vested during the year was $2.0 million and $1.3 million, for the years ended December 31, 2023, and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2023, there was $2.3 million of total unrecognized compensation expense related to unvested options which is expected to be recognized over a weighted-average period of 1.7 years. Compensation cost capitalized within inventory at December 31, 2023 and 2022 was not material.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company estimated the fair value of each option grant using the Black-Scholes option-pricing model. The fair value of employee stock options is being amortized on a straight-line basis over the requisite service period of the awards. The fair value of employee stock options was estimated using the assumptions below.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:82.23%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:26.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Expected volatility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">50.9 - 73.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">73.7 - 74.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Risk-free interest rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">2.33 - 3.45</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">2.13 - 2.93</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Expected term (in years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">6.01 - 6.05</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">6.05 - 6.08</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Dividend yield</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">2016 Employee Stock Purchase Plan</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company’s board of directors adopted the 2016 Employee Stock Purchase Plan (the ESPP) on April 25, 2016, which was subsequently approved on September 20, 2016 by the Company’s stockholders. The Company had 890,161 shares available for issuance under the Company’s ESPP as of December 31, 2023. Employees purchased 87,718 shares for $394,000 during the year ended December 31, 2023, and 77,221 shares for $342,000 during the year ended December 31, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Restricted Stock Units</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;">In September 2017, the Company’s board of directors authorized the issuance of restricted stock units (RSUs), under the 2016 Plan and adopted a form of Restricted Stock Unit Award Agreement, which is intended to serve as a standard form agreement for RSU grants issued to employees, executive officers, directors, and consultants. The fair </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">value of the RSUs is recognized as expense ratably over the vesting period, as determined by the board of directors on the date of grant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">The following table summarizes RSU activity for the year ended December 31, 2023:</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:29.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">RSUs Outstanding</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value Per</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance—December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 656,646</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.45</p></td></tr><tr><td style="vertical-align:bottom;width:68.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 713,301</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.52</p></td></tr><tr><td style="vertical-align:bottom;width:68.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (457,109)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.29</p></td></tr><tr><td style="vertical-align:bottom;width:68.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Cancelled/forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7,057)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.32</p></td></tr><tr><td style="vertical-align:bottom;width:68.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance—December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 905,781</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.59</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">The fair value of RSUs is determined on the date of grant based on the market price of the Company’s common stock on that date. As of December 31, 2023, there was </span><span style="background:#ffffff;">$4.6</span><span style="background:#ffffff;"> million of unrecognized stock-based compensation expense related to RSUs to be recognized over a weighted-average period of </span><span style="background:#ffffff;">1.8</span><span style="background:#ffffff;"> years. Compensation cost capitalized within inventory at December 31, 2023 and 2022 was not material.</span></p> 500000 0.03 550000 3297663 598397 0 35943 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:47.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:47.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:40.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options Outstanding</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options and</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> Awards</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Available for</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Price Per</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Life (years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In thousands)</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance—December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 689,472</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,994,726</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.88</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,275</p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Authorized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 611,228</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">RSUs granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (713,301)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">RSUs cancelled/forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,057</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Warrants exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (236)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Options granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,000)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.47</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Options exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (161,121)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.99</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 679</p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Options cancelled/forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,177</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (12,177)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.48</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance—December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 598,397</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,829,428</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.96</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,676</p></td></tr><tr><td style="vertical-align:bottom;width:47.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Options exercisable—December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,296,776</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.67</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,411</p></td></tr></table> 689472 1994726 5.88 P7Y9M18D 1275000 611228 713301 7057 236 -8000 8000 6.47 161121 4.99 679000 12177 12177 6.48 598397 1829428 5.96 P6Y10M24D 5676000 1296776 5.67 P6Y6M 4411000 3.85 5.40 2000000.0 1300000 2300000 P1Y8M12D <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:82.23%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:26.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Expected volatility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">50.9 - 73.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">73.7 - 74.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Risk-free interest rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">2.33 - 3.45</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">2.13 - 2.93</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Expected term (in years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">6.01 - 6.05</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">6.05 - 6.08</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Dividend yield</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table> 0.509 0.739 0.737 0.741 0.0233 0.0345 0.0213 0.0293 P6Y3D P6Y18D P6Y18D P6Y29D 890161 87718 394000 77221 342000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:29.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">RSUs Outstanding</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value Per</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance—December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 656,646</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.45</p></td></tr><tr><td style="vertical-align:bottom;width:68.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 713,301</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.52</p></td></tr><tr><td style="vertical-align:bottom;width:68.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (457,109)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.29</p></td></tr><tr><td style="vertical-align:bottom;width:68.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Cancelled/forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7,057)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.32</p></td></tr><tr><td style="vertical-align:bottom;width:68.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance—December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 905,781</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.59</p></td></tr></table> 656646 6.45 713301 6.52 457109 6.29 7057 6.32 905781 6.59 4600000 P1Y9M18D <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">9. 401(k) Plan</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company has a defined contribution employee benefit plan pursuant to Section 401(k) of the Internal Revenue Code. The plan allows eligible employees to defer a portion of their annual compensation up to certain statutory limits. At the election of the Board of Directors, the Company may elect to match employee contributions but has not done so to date.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">10. Significant Agreements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">GLOBALFOUNDRIES, Inc. Joint Development Agreement</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Since October 17, 2014, the Company has participated in a joint development agreement (JDA) with GLOBALFOUNDRIES Inc. (GF), a semiconductor foundry, for the joint development of STT-MRAM technology to produce a family of discrete and embedded MRAM technologies. The term of the agreement is until the completion, termination, or expiration of the last statement of work entered into pursuant to the joint development agreement. The agreement was extended on December 31, 2019 to include a new phase of support for 12nm MRAM development.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Under the current JDA extension terms, each party licenses its relevant intellectual property to the other party. For certain jointly developed works, the parties have agreed to follow an invention allocation procedure to determine ownership. In addition, GF possesses the exclusive right to manufacture the Company’s discrete and embedded STT-MRAM devices developed pursuant to the agreement until the earlier of three years after the qualification of the MRAM device for a particular technology node or four years after the completion of the relevant statement of work under which the device was developed. For the same exclusivity period associated with the relevant device, GF agreed not to license intellectual property developed in connection with the JDA to named competitors of the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">If GF manufactures, sells, or transfers to customers wafers containing production quantified STT-MRAM devices that utilize certain design information, GF will be required to pay the Company a royalty.</p> P3Y P4Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">11. Geographic Information</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Property and equipment, net by country was as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,555</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,335</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,077</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,459</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 85</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 89</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,717</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,883</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Revenue from customers is designated based on the geographic region or country to which the product is delivered or the licensee is located. Revenue by country was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,599</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,585</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,216</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,442</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Hong Kong</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,748</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,820</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Germany</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,767</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,839</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,285</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,075</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">China</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,727</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,739</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,324</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,670</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">All other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,099</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,815</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,765</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,985</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">Property and equipment, net by country was as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,555</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,335</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,077</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,459</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 85</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 89</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,717</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,883</p></td></tr></table> 2555000 2335000 1077000 1459000 85000 89000 3717000 3883000 Revenue by country was as follows (in thousands):<p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,599</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,585</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,216</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,442</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Hong Kong</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,748</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,820</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Germany</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,767</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,839</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,285</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,075</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">China</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,727</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,739</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,324</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,670</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">All other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,099</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,815</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,765</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,985</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 14599000 14585000 12216000 12442000 10748000 12820000 9767000 3839000 4285000 1075000 2727000 3739000 1324000 5670000 8099000 5815000 63765000 59985000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">12. Income Taxes</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;">For the years ended December 31, 2023 and 2022, the Company’s provision for income tax consisted of (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 134</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total Current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 134</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (190)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total Deferred</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (150)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (16)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;">The reconciliation of the statutory federal income tax rate to the Company’s effective tax rate is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:69.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:24.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Tax at statutory federal rate </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">State taxes, net of federal benefit </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stock-based compensation </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">IRC section 162(m) limitation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Change in valuation allowance </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (28.5)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (28.0)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Provision for income taxes </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The tax effects of temporary differences and carryforwards that give rise to significant portions of the deferred tax assets are as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Net operating loss carryforwards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,068</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,110</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Inventory</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 287</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 273</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accruals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 863</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 737</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Research and experimental expenditures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,728</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,229</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 268</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 270</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Right of use liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,245</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,477</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Gross deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,472</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,123</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (27,748)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (30,328)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,724</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,795</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Right of use asset</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,226)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,463)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (348)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (332)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,574)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,795)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Net deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 150</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The Company is required to reduce its deferred tax assets by a valuation allowance if it is more likely than not that some or all of its deferred tax assets will not be realized. Management must use judgment in assessing the potential need for a valuation allowance, which requires an evaluation of both negative and positive evidence. The weight given to the potential effect of negative and positive evidence should be commensurate with the extent to which it can be objectively verified. In determining the need for and amount of the valuation allowance, if any, the Company assesses the likelihood that it will be able to recover its deferred tax assets using historical levels of income, estimates of future income and tax planning strategies. As a result of projected taxable income, the Company determined that, based on all available evidence, there was substantial certainty as to whether it will recover recorded net deferred taxes for certain state jurisdictions in future periods. However, as it pertains to the federal, Arizona, and Colorado net deferred tax assets, based on all the available evidence, there is substantial uncertainty as to whether it will recover recorded net deferred taxes in future periods. Accordingly, the Company recorded a partial and full valuation allowance against all of its net deferred tax assets as of December 31, 2023 and 2022, respectively. The net valuation allowance decreased by $2.6 million in 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2023, the Company has federal net operating loss carryforwards of approximately $96.2 million, of which $55.8 million will expire in 2028 through 2037 if not utilized, and $40.5 million that will carryover indefinitely. In addition, the Company has state net operating loss carryforwards of approximately $48.7 million, of which $45.9 million will expire in 2028 through 2043 if not utilized, and $2.8 million that will carryover indefinitely.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;">The Tax Reform Act of 1986 (the Act) provides for a limitation on the annual use of net operating loss carryforwards following certain ownership changes (as defined by the Act and codified under Section 382 of the U.S. Internal Revenue Code of 1986, as amended (the Code)) that could limit the Company’s ability to utilize these carryforwards. Further, a portion of the carryforwards may expire before utilized to reduce future income tax liabilities </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">as a result of the annual limitation. The Company experienced an ownership change in October 2016 and as a result, $43.8 million ($9.2 million tax effected) of the federal NOLs are expected to expire unutilized due to limitation under Section 382 of the Code. The NOLs expected to expire unutilized are included in the NOL carryforward amounts disclosed, subject to a valuation allowance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.5pt;margin:0pt;">The Company files income tax returns in the U.S. federal and various state jurisdictions. The Company is generally subject to U.S. federal and state income tax examination for all tax years beginning in 2008, due to the net operating losses that are carried forward.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;">A summary of changes in the Company’s gross unrecognized tax benefits for the years ended December 31, 2023 and 2022 was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unrecognized tax expense, beginning of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Decrease related to prior year tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="-sec-ix-hidden:Hidden_NDWSm6WFHkC7AKse08bqnA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> —</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (16)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Increase related to prior year tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 368</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Increase related to current year tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="-sec-ix-hidden:Hidden_hLIJ6JqQvkSvbQ80IroAgw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> —</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unrecognized tax expense, end of year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 473</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.5pt;margin:0pt;">Included in the balance of unrecognized tax benefits as of December 31, 2023, are $105,000 of tax benefit that, if recognized, would affect the effective tax rate. Included in the balance of uncertain tax benefits as of December 31, 2023 is $368,000 of tax benefits that, if recognized, would result in adjustments to deferred taxes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.5pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.5pt;margin:0pt;">The Company's policy is to recognize interest and penalties accrued on any unrecognized tax benefit as a component of income tax expense. The Company has accrued penalties and interest of $155,000, as of both December 31, 2023 and 2022.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;">For the years ended December 31, 2023 and 2022, the Company’s provision for income tax consisted of (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 134</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total Current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 134</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (190)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total Deferred</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (150)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (16)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14</p></td></tr></table> 134000 14000 134000 14000 40000 -190000 -150000 -16000 14000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:69.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:24.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Tax at statutory federal rate </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">State taxes, net of federal benefit </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Stock-based compensation </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">IRC section 162(m) limitation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Change in valuation allowance </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (28.5)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (28.0)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:69.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Provision for income taxes </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.76%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td></tr></table> 0.210 0.210 0.017 0.019 0.006 0.042 0.039 0.011 -0.285 -0.280 0.011 -0.002 0.002 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The tax effects of temporary differences and carryforwards that give rise to significant portions of the deferred tax assets are as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Net operating loss carryforwards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,068</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,110</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Inventory</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 287</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 273</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accruals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 863</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 737</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Research and experimental expenditures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,728</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,229</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 268</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 270</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Right of use liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,245</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,477</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Gross deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,472</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,123</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (27,748)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (30,328)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,724</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,795</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Right of use asset</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,226)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,463)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (348)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (332)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,574)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,795)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:73.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Net deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 150</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.83%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr></table> 22068000 27110000 287000 273000 863000 737000 13000 27000 4728000 2229000 268000 270000 1245000 1477000 29472000 32123000 27748000 30328000 1724000 1795000 1226000 1463000 348000 332000 1574000 1795000 150000 -2600000 96200000 55800000 40500000 48700000 45900000 2800000 43800000 9200000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;">A summary of changes in the Company’s gross unrecognized tax benefits for the years ended December 31, 2023 and 2022 was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unrecognized tax expense, beginning of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Decrease related to prior year tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="-sec-ix-hidden:Hidden_NDWSm6WFHkC7AKse08bqnA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> —</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (16)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Increase related to prior year tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 368</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Increase related to current year tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="-sec-ix-hidden:Hidden_hLIJ6JqQvkSvbQ80IroAgw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> —</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unrecognized tax expense, end of year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 473</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.02%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 105</p></td></tr></table> 105000 105000 16000 368000 16000 473000 105000 105000 368000 155000 155000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">13. Net Income Per Common Share</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The following table sets forth the computation of basic and diluted net income per share (in thousands, except share and per share amounts):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 36pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Basic EPS</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 36pt;"><span style="margin-left:0pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Numerator:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-weight:bold;">  </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,052</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,129</p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Denominator:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Weighted-average shares of common stock outstanding, basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,748,302</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,130,336</p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Net income per common share, basic</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.44</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.30</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 36pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Diluted EPS</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Numerator:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-weight:bold;">  </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,052</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,129</p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Less: warrant liability fair value gain recognized  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (25)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (23)</p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Net income attributable to common stockholders, diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,106</p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Denominator:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Weighted-average shares of common stock outstanding, basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,748,302</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,130,336</p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Dilutive effect of stock options and RSUs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 619,002</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 645,589</p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Weighted-average shares of common stock outstanding, diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,367,304</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,775,925</p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Net income per common share, diluted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.42</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.29</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The following outstanding shares of potentially dilutive securities outstanding have been excluded from the computation of diluted net income per common share for the periods presented as their inclusion would be anti-dilutive:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:28.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Options to purchase common stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 613,652</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 841,845</p></td></tr><tr><td style="vertical-align:bottom;width:71.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">RSUs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 330,082</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,147</p></td></tr><tr><td style="vertical-align:bottom;width:71.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Common stock warrants</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,461</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,461</p></td></tr><tr><td style="vertical-align:bottom;width:71.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">ESPP</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:71.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 962,195</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.9%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 864,453</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:22.3pt;margin:0pt 0pt 12pt 0pt;">The following table sets forth the computation of basic and diluted net income per share (in thousands, except share and per share amounts):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 36pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Basic EPS</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 36pt;"><span style="margin-left:0pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Numerator:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-weight:bold;">  </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,052</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,129</p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Denominator:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Weighted-average shares of common stock outstanding, basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,748,302</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,130,336</p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Net income per common share, basic</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.44</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.30</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 36pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Diluted EPS</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Numerator:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-weight:bold;">  </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,052</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,129</p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Less: warrant liability fair value gain recognized  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (25)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (23)</p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Net income attributable to common stockholders, diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,106</p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Denominator:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Weighted-average shares of common stock outstanding, basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,748,302</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,130,336</p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Dilutive effect of stock options and RSUs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 619,002</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 645,589</p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Weighted-average shares of common stock outstanding, diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,367,304</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,775,925</p></td></tr><tr><td style="vertical-align:bottom;width:64.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Net income per common share, diluted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.42</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.29</p></td></tr></table> 9052000 6129000 20748302 20130336 0.44 0.30 9052000 6129000 25000 23000 9027000 6106000 20748302 20130336 619002 645589 21367304 20775925 0.42 0.29 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:28.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Options to purchase common stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 613,652</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 841,845</p></td></tr><tr><td style="vertical-align:bottom;width:71.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">RSUs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 330,082</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,147</p></td></tr><tr><td style="vertical-align:bottom;width:71.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Common stock warrants</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,461</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,461</p></td></tr><tr><td style="vertical-align:bottom;width:71.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">ESPP</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:71.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 962,195</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.9%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 864,453</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 613652 841845 330082 4147 18461 18461 962195 864453