<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2020-01-31"
  xmlns:exdx="http://www.exagen.com/20201231"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2020-01-31"
  xmlns:us-gaap="http://fasb.org/us-gaap/2020-01-31"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="exdx-20201231.xsd" xlink:type="simple"/>
    <context id="iac638a334d2d4a41982db55571d79004_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i140e1c0c979f493ab5bbee92875a255d_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="ied1333e512914d588c7ba153b4b54d39_I20210312">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
        </entity>
        <period>
            <instant>2021-03-12</instant>
        </period>
    </context>
    <context id="i161aa9f12f5040b598e25e1d7896f041_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i616b08c4738d433b924c1dc44c268b4f_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i3617efc1423e40249453b903e951175d_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ibdd8f716641546a99b2b0acc6ea44d50_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i6884440164f1463aa6e4fed299d3fe16_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i5a5cbdb8b75149f1a2107742fed852bf_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i0e3a91a5115e431d98f3d1ae4a1da9ec_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="iec9c6a63268f49088d28e756daf8e252_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i9108d9e9df164e8eba47e0ed7eb067a1_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i7b1f74c554494d0aa167b4a49c8d556e_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesGPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i0d13881d6e83434597f3a5e81badbe4e_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesHPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i000894d3cadd4d209d2620841a05dcf0_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i300aabe27b694c5aaf0c9a700cbe11ce_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i69da35ef92234938bcda9473aefd88f5_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i724b6d08dcb54c94ae1352b8b23c595f_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="icd0eeddf8cc6442eb98678ca3b18bcdd_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i412f9e5c8a1c4205ae72e84686f1ca98_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ic85d4c855b6840b89f8a4974a7609bdd_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iecb93b3b0cdf41e3bf8d1a677147f799_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i31e794abff7a43f59c1e323fa7e55d45_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="if6dbfbafdf8a408ca1bbfc730926cc14_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i79849924192d4855a9bbf663964883f8_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesGPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i58bbeeeb7ca04910aa09ec0626a71e3f_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesHPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i9199af1acdba490286a4ab9fdd0909e0_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">exdx:MedicareMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i9563b9ab6fbe4adcbdfbac8e2cf19b22_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">exdx:MedicareMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="id8c6b3ac4c664091b47227b153e9eb44_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">exdx:JanssenSIMPONIMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iac265b2ebdbc43e59ef20ea50e78de9f_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">exdx:BlueShieldMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="idb52827a0d5e4d20bbb2e688d4965f2b_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">exdx:BlueShieldMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="id90ff0582bfa4beb88fa29365bcf05c9_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">exdx:MedicareAdvantageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i075b7f5ce30f4250b3fa7b1319fa76d0_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">exdx:MedicareAdvantageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i7cbc755e54584988a46ac09b03ba0a03_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">exdx:UnitedHealthcareMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ia683090804ac4bbea90d92b75159efe3_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">exdx:JanssenSIMPONIMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">exdx:ReceivableBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i031b116f01f44ea5890d77e14040a529_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">exdx:JanssenSIMPONIMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">exdx:ReceivableBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i5031346fd2374b0e97451ce84bad8260_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">exdx:BlueShieldMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">exdx:ReceivableBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if76b41f869c640688904f2ecf988e33e_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">exdx:BlueShieldMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">exdx:ReceivableBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ie09521d642ec49dd9f6fb93b6226a986_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">exdx:UnitedHealthcareMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">exdx:ReceivableBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="icc34f2aa5b494ba4b697db93d5108663_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">exdx:AVISECTDTestMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ie6e601deab964329936be94a4d256bc9_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">exdx:AVISECTDTestMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i15b8ceb139cf4e0d97db9be7ea8aacf7_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ifd041b98c6ab476eb80888f8676c3df5_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i5690cf2946e8412bb86195a6c74a9316_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">exdx:HealthcareInsurersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ibcaa2249e3c640468e6ad463c58824a6_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">exdx:HealthcareInsurersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i8a5f71713fcf420b86e6051da049e7ac_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">exdx:Government1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i18229da67eb54a6b8110b348c32b2f80_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">exdx:Government1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i06930bdf59ec4a7490fb90caaee4d192_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">exdx:ClientMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i94d5f0f3606b4c66949b12896e3d82ad_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">exdx:ClientMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i9d2d0f3c92004d4d8ea0b1587e20bd73_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">us-gaap:OtherCustomerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ie26b529fa0544e3fa5ffa639ffaaa3da_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">us-gaap:OtherCustomerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ie43dd45431384ad48a4a7cd39396b772_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">exdx:JanssenSIMPONIMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ic8f51ada9f8b45298c0c793b85f782e6_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">exdx:JanssenSIMPONIMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i4e3c2fa4dc5f49e8b1099bc7e449e3a2_I20161231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="i69d2e2c6f0774bcdb394050b9d53ee76_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i4573db3dc09e4fa8a58677b574d5c416_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="icc003e40daf641ccbe499297076b288b_D20190923-20190923">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-09-23</startDate>
            <endDate>2019-09-23</endDate>
        </period>
    </context>
    <context id="i854adb164db541fa9bd24fb1ccb21010_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="ia5c2c61809374714a756188ab1adadbc_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i9ce5a530334e4915b0436079dca953ff_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i20146f37e33a40dab402238b6ea56800_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i9156fd411b7741a8a39d1c43983a5800_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="ic0b7b9ea1d814dbbbeed9b14692e78ca_D20201001-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
        </entity>
        <period>
            <startDate>2020-10-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ic3d6c90706d94887a50acb583e7d32ad_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i397b406c9c0747b0a7f3b67d4d6870e3_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i9dcc6ed5d40246baabade8cb1d9fba6b_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i695ae53d59f94e27b87eefce82393e8a_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i3a03a4097faf4d70895448f0b1cdccc9_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i0f45eef28e7d4c2e8752293801f70ab3_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i62cb5f8c97194f02924e255c54bed267_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">exdx:JanssenSIMPONIMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iddf6e035476945cfb9d2423367a0fd96_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">exdx:JanssenSIMPONIMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i358dc56770ab42ceace2ba4c29570329_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="iaf8dba0b2d464952ad492cfb4b91e9c4_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i33102e8052874bcf8f4819af73b17cd3_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i1320fd0f2999411e8bd7d1a4b841aa24_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i01e558ece6214f16b6c3df7e771db6be_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="idc02f1f51b5c4b199fc8848ae372e425_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ib235ec96e6b1472d9f54d1de7b43b02f_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i9c1e7be53ff34ffab13c26e9df1ddc43_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="if8fa1a8305f5404892b12cd15d2ac129_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i280bdc8f8aa947aaa8f3ba67d5a4d42e_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i1aa0e2237a4349c6975a3792c1a40fc6_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">exdx:LaboratoryEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i856d0b8d5d514828b59f52af21200f9c_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">exdx:LaboratoryEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i674956e7e0a8446f921f15096e981198_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">exdx:ComputerEquipmentAndSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ied9f4988242043ae86e49c5b25240e58_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">exdx:ComputerEquipmentAndSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i8e6f34cf3e1b429c8056d14a2e90b57a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i611274158822483e99565868e2143ccd_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i3c15b3b387924344b6a488918b7724a2_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i3795b5fddf0a474ca1f456c3011836fa_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i12d22bc21e2b4d42828df3456f0b74ad_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">exdx:AssetsUnderCapitalLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i9ddb14c3a29441f2a69234c84b0a601e_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">exdx:AssetsUnderCapitalLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ife50f4946ea24f0c9f4e38cbd7f1110e_D20170901-20170930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">exdx:Term2017Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">exdx:InnovatusLifeSciencesLendingFundMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-09-01</startDate>
            <endDate>2017-09-30</endDate>
        </period>
    </context>
    <context id="iac6c4076618141cbb3d72f35bc91b3a9_D20170901-20170930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">exdx:CapitalRoyaltyPartnersIILPMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-09-01</startDate>
            <endDate>2017-09-30</endDate>
        </period>
    </context>
    <context id="i54e6b9922db74a3a9cb86c52f2a90cc9_D20181207-20181207">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">exdx:Term2017Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">exdx:InnovatusLifeSciencesLendingFundMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-12-07</startDate>
            <endDate>2018-12-07</endDate>
        </period>
    </context>
    <context id="id42bbd7899154e72a4ec0bed957b96f6_I20191130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">exdx:Term2017Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">exdx:InnovatusLifeSciencesLendingFundMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-11-30</instant>
        </period>
    </context>
    <context id="i93863c5d02f74d6fbddc2c9e1ada92b6_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">exdx:Term2017Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">exdx:InnovatusLifeSciencesLendingFundMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i0e96141de3c64fe29a0de8fc804cff2f_D20191101-20191130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">exdx:Term2017Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">exdx:InnovatusLifeSciencesLendingFundMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2019-11-30</endDate>
        </period>
    </context>
    <context id="i5149cc8ef1ff4fac911ed00c49b7db71_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">exdx:Term2017Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">exdx:InnovatusLifeSciencesLendingFundMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:PaymentInKindPIKNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i6e5ddd398de1458e8e1e64f2e9afd8d4_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">exdx:Term2017Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">exdx:InnovatusLifeSciencesLendingFundMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:PaymentInKindPIKNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ia4e8d767ab4e4e08b29e497a8ba26739_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">exdx:Term2017Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">exdx:InnovatusLifeSciencesLendingFundMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LoansPayableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ic0b28ea3fe8a47bb9b1c724647721207_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="exdx:RentalPropertyByTypeAxis">exdx:OfficeAndLaboratoryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i1cd6af4be1f145b0979bab0cafe7ad2b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="exdx:RentalPropertyByTypeAxis">exdx:OfficeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="icf87f2f3f4094314ace80d3de6cfbb51_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">exdx:PrometheusLaboratoriesIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i626d033bbe12451bb544fb9ccd602d11_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">exdx:PrometheusLaboratoriesIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="if5eb4831058d4b62a7506f80397c58e7_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">us-gaap:LicenseAgreementTermsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i90378dc8f33d4c0db9c9f5e510cefc73_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis">us-gaap:LicenseAgreementTermsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iba13f5e80e074fd6b19a2bdd3acd9e2c_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i13eef4c0f9f34ead9206411d3e70f27f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i1b416cd8bb1f4d6f86d98f542ac3cc5d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ibe0eeb17dc7c4414a87f1ab0a5c0341f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i44d0579e1e494431ae288f59027174a1_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="if0a61521b77e46aa90eed63b0c7ba9b2_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i8a24aaf692c5444cbf9b46ed5a052bee_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="iafb32079e8ef4b6ab57b666c86ab1379_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i9202b030fd1b4086bdec9b70b92d1d84_D20190101-20190131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesGPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-01-31</endDate>
        </period>
    </context>
    <context id="i6b9462e096714f6a8a52d7ae7c4dea8a_D20190701-20190731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesHPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2019-07-31</endDate>
        </period>
    </context>
    <context id="ic80f1b4b2b84440db98c9a7375a7570f_D20190701-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesHPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="iaf86d568866c4251832b028da29ff071_D20190701-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="i5b650b6b9d754c97a85b32a60d451667_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemableConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i0ccae1c8177a4c3b9f45dfceb5efa42f_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:RedeemableConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i7e709efd0a0841ec93329ef2a03791d0_I20190923">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-09-23</instant>
        </period>
    </context>
    <context id="ia73d28ff344b45b7be16393a226e65c1_D20190923-20190923">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:OverAllotmentOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-09-23</startDate>
            <endDate>2019-09-23</endDate>
        </period>
    </context>
    <context id="i1a07d69f07f04c6387c8ad004db5b9e5_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">exdx:ExpirationJan192026Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i466315a145504f92bab9954a4653b6ef_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">exdx:ExpirationMar312026Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib41d9dd15cfd43ffb4381905d0b9593e_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">exdx:ExpirationApr12026Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ia8a60c0a83494af48451bdffb74f8657_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">exdx:ExpirationSep72024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i01c677925f1f405988f482d6e0c41691_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">exdx:ExpirationDec72025Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ia8548f93c1bc48f8ae505f3a7aa3a457_D20190906-20190906">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
        </entity>
        <period>
            <startDate>2019-09-06</startDate>
            <endDate>2019-09-06</endDate>
        </period>
    </context>
    <context id="i7a2f80c2b6c5444ba34456f703d38c67_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">exdx:IncentiveAwardPlan2019Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib1c2da91d4274340b7a12109641dbffb_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i2dcffc3099e440189a3fa6ca69d78390_I20210101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">exdx:IncentiveAwardPlan2019Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-01-01</instant>
        </period>
    </context>
    <context id="i5baedf86b8244d9b8762ecb0ae605c30_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="id9df7a83f79940ddb50644d9534b8e4a_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ib3119fce349b4f6587c19f908367b2dc_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i4c062635dbd2451889987f0af257f830_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i039ef34e84814a89a51794da58440c49_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ieeaded307e5245739ed101c326ac2e81_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i41b5f6bca8d2400bb78d64d3ee723516_I20210101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-01-01</instant>
        </period>
    </context>
    <context id="i1a0359964fa449d7b394ee812510e987_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i702cbb6d8580485a8ed9b7d9da8a2093_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i3a70ce52ba824bfda7ecfd9065c1b7c3_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i703d6361d7e7459d8f59cb73b645d79e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if5d73be98d664ccfa3f52b1b3925d8b1_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="id612b120136c4606a30275dd302975ba_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ieeed2007d8ce423190963dac6498acc6_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ib3d9a5ee720049a2943b6461407a26c4_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="icb4954aca44d475bbcf2bdfd5f3e8918_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">exdx:CommonStockOptionGrantsIssuedAndOutstandingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib009a5d12eec454f807f70204c3f2c94_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">exdx:CommonSharesAvailableForGrantUnderTheStockOptionPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i95195c5be0cf48859f028de27b41c233_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:OneTimeTerminationBenefitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i9a7dd8fe1c69457ebd695bca19af30c8_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i801df2af82e6463ebc78fe5a1417689d_D20200401-20200430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-04-30</endDate>
        </period>
    </context>
    <context id="ic992af68648c493b97deed5f40c92944_D20200416-20200416">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001274737</identifier>
        </entity>
        <period>
            <startDate>2020-04-16</startDate>
            <endDate>2020-04-16</endDate>
        </period>
    </context>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="unit">
        <measure>exdx:unit</measure>
    </unit>
    <unit id="segment">
        <measure>exdx:segment</measure>
    </unit>
    <unit id="payment">
        <measure>exdx:payment</measure>
    </unit>
    <dei:DocumentFiscalYearFocus
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl80L2ZyYWc6NjIzNjdiYTBhNjg3NDg2MDhmNGU4NDgyZDNjZWNlYmUvdGFibGU6NTA5ZDAwOTI4Zjc0NDIyM2FlMmQ1ZTRkY2U1ZmMxZDUvdGFibGVyYW5nZTo1MDlkMDA5MjhmNzQ0MjIzYWUyZDVlNGRjZTVmYzFkNV81LTEtMS0xLTA_1514ecab-4413-4396-a445-82805306ee12">2020</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl80L2ZyYWc6NjIzNjdiYTBhNjg3NDg2MDhmNGU4NDgyZDNjZWNlYmUvdGFibGU6NTA5ZDAwOTI4Zjc0NDIyM2FlMmQ1ZTRkY2U1ZmMxZDUvdGFibGVyYW5nZTo1MDlkMDA5MjhmNzQ0MjIzYWUyZDVlNGRjZTVmYzFkNV82LTEtMS0xLTA_d79d13fe-3a32-4555-9ccf-ad352e713a47">FY</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl80L2ZyYWc6NjIzNjdiYTBhNjg3NDg2MDhmNGU4NDgyZDNjZWNlYmUvdGFibGU6NTA5ZDAwOTI4Zjc0NDIyM2FlMmQ1ZTRkY2U1ZmMxZDUvdGFibGVyYW5nZTo1MDlkMDA5MjhmNzQ0MjIzYWUyZDVlNGRjZTVmYzFkNV83LTEtMS0xLTA_6bbeae4d-7c6f-4bd5-9b75-c8745bd3010a">false</dei:AmendmentFlag>
    <dei:EntityCentralIndexKey
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl80L2ZyYWc6NjIzNjdiYTBhNjg3NDg2MDhmNGU4NDgyZDNjZWNlYmUvdGV4dHJlZ2lvbjo2MjM2N2JhMGE2ODc0ODYwOGY0ZTg0ODJkM2NlY2ViZV84MA_4b9dd082-c1b1-4fa4-9a88-9a72bd8da972">0001274737</dei:EntityCentralIndexKey>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i69d2e2c6f0774bcdb394050b9d53ee76_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI3NDg3NzkxMDgyNDg_5d33f4a2-8289-402f-bda6-723da8e7978f">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="ia8548f93c1bc48f8ae505f3a7aa3a457_D20190906-20190906"
      decimals="7"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl83ODQvZnJhZzpkNDJkNTc2ZDc1OTI0ZjUyYWEyMmE5Njk2NjAzMWI2Ni90ZXh0cmVnaW9uOmQ0MmQ1NzZkNzU5MjRmNTJhYTIyYTk2OTY2MDMxYjY2XzI3NDg3NzkwNjk1NjA_fe834be9-baa0-4754-80a9-5e38fdb6143e"
      unitRef="number">0.0054456</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <dei:DocumentType
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGV4dHJlZ2lvbjo0ZTkwNTQ4MWQzZmQ0YTIzOGFjZGVhOGZmYjAyMmVmMV84NA_bc5de619-f932-4f3d-9868-bcaf5615d07b">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGFibGU6MTVkYmI1ZWNhYTU3NDViZGI1NGRkYWEzMTEzNjY3N2QvdGFibGVyYW5nZToxNWRiYjVlY2FhNTc0NWJkYjU0ZGRhYTMxMTM2Njc3ZF8xLTAtMS0xLTA_32d5726a-db96-4f7f-b11d-8b082220a7ce">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGFibGU6MTVkYmI1ZWNhYTU3NDViZGI1NGRkYWEzMTEzNjY3N2QvdGFibGVyYW5nZToxNWRiYjVlY2FhNTc0NWJkYjU0ZGRhYTMxMTM2Njc3ZF8yLTAtMS0xLTAvdGV4dHJlZ2lvbjphNzI3MmYxZmFlODQ0MzBmOTY4MjUyZWFhNTY2Yzg1N18zMA_b78ed932-761c-48e4-9abb-25185bec0f76">2020-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGFibGU6MTVkYmI1ZWNhYTU3NDViZGI1NGRkYWEzMTEzNjY3N2QvdGFibGVyYW5nZToxNWRiYjVlY2FhNTc0NWJkYjU0ZGRhYTMxMTM2Njc3ZF8yLTAtMS0xLTAvdGV4dHJlZ2lvbjphNzI3MmYxZmFlODQ0MzBmOTY4MjUyZWFhNTY2Yzg1N18zMA_63660815-1a2e-4f0b-8d33-4eea793f2470">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentTransitionReport
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGFibGU6MTVkYmI1ZWNhYTU3NDViZGI1NGRkYWEzMTEzNjY3N2QvdGFibGVyYW5nZToxNWRiYjVlY2FhNTc0NWJkYjU0ZGRhYTMxMTM2Njc3ZF8zLTAtMS0xLTA_44d1329a-2ad0-4fdb-9f62-223ef3b308a8">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGV4dHJlZ2lvbjo0ZTkwNTQ4MWQzZmQ0YTIzOGFjZGVhOGZmYjAyMmVmMV8xNzQ_6e1e8aa6-529e-404f-9989-66638415a9f3">001-39049</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGV4dHJlZ2lvbjo0ZTkwNTQ4MWQzZmQ0YTIzOGFjZGVhOGZmYjAyMmVmMV8xNzg_49fd3bd6-66e1-40e0-bf2e-d5d561a683c9">EXAGEN INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGFibGU6NTZlNGY1ZjgwNzJjNDJjMTkxOGJkY2IwOTMyN2NhZGEvdGFibGVyYW5nZTo1NmU0ZjVmODA3MmM0MmMxOTE4YmRjYjA5MzI3Y2FkYV8wLTAtMS0xLTA_f51ea8de-ea3f-4664-b7ad-2a0676cf401b">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGFibGU6NTZlNGY1ZjgwNzJjNDJjMTkxOGJkY2IwOTMyN2NhZGEvdGFibGVyYW5nZTo1NmU0ZjVmODA3MmM0MmMxOTE4YmRjYjA5MzI3Y2FkYV8wLTYtMS0xLTA_cf5d64b8-f71d-4987-ab27-52d9f28bb0bd">20-0434866</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGFibGU6NTZlNGY1ZjgwNzJjNDJjMTkxOGJkY2IwOTMyN2NhZGEvdGFibGVyYW5nZTo1NmU0ZjVmODA3MmM0MmMxOTE4YmRjYjA5MzI3Y2FkYV8zLTEtMS0xLTA_52d608fd-30d1-4d79-95f6-9be4e3c73330">1261 Liberty Way</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGFibGU6NTZlNGY1ZjgwNzJjNDJjMTkxOGJkY2IwOTMyN2NhZGEvdGFibGVyYW5nZTo1NmU0ZjVmODA3MmM0MmMxOTE4YmRjYjA5MzI3Y2FkYV80LTEtMS0xLTA_1e3dc09b-b0d8-4c93-8d2f-343243b544cd">Vista</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGFibGU6NTZlNGY1ZjgwNzJjNDJjMTkxOGJkY2IwOTMyN2NhZGEvdGFibGVyYW5nZTo1NmU0ZjVmODA3MmM0MmMxOTE4YmRjYjA5MzI3Y2FkYV80LTItMS0xLTA_982cc3d8-5934-458a-a2f4-c42294c873f6">CA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGFibGU6NTZlNGY1ZjgwNzJjNDJjMTkxOGJkY2IwOTMyN2NhZGEvdGFibGVyYW5nZTo1NmU0ZjVmODA3MmM0MmMxOTE4YmRjYjA5MzI3Y2FkYV80LTYtMS0xLTA_ba6d3d2c-044c-4aa4-b8fa-a3019c40cadb">92081</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGFibGU6YTFkMDRkZWI0NmRmNGM5MzgwMmQ4YzdkOGU2NGRhOTYvdGFibGVyYW5nZTphMWQwNGRlYjQ2ZGY0YzkzODAyZDhjN2Q4ZTY0ZGE5Nl8wLTAtMS0xLTA_1ac1dd49-fa3c-4323-845d-ea6928db0893">(760)</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGFibGU6YTFkMDRkZWI0NmRmNGM5MzgwMmQ4YzdkOGU2NGRhOTYvdGFibGVyYW5nZTphMWQwNGRlYjQ2ZGY0YzkzODAyZDhjN2Q4ZTY0ZGE5Nl8wLTEtMS0xLTA_cb6a946c-5502-42c2-b17b-81ead4028d16">560-1501</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGFibGU6MzM5NGJhYzE4MTYyNGNhZGJmY2NhNGMxODNmZTBmYmQvdGFibGVyYW5nZTozMzk0YmFjMTgxNjI0Y2FkYmZjY2E0YzE4M2ZlMGZiZF8xLTAtMS0xLTA_30fa1133-b121-49c7-b12d-fb597dfada62">Common Stock, par value $0.001 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGFibGU6MzM5NGJhYzE4MTYyNGNhZGJmY2NhNGMxODNmZTBmYmQvdGFibGVyYW5nZTozMzk0YmFjMTgxNjI0Y2FkYmZjY2E0YzE4M2ZlMGZiZF8xLTItMS0xLTA_f1749afe-babe-4df3-b058-e60efc705188">XGN</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGFibGU6MzM5NGJhYzE4MTYyNGNhZGJmY2NhNGMxODNmZTBmYmQvdGFibGVyYW5nZTozMzk0YmFjMTgxNjI0Y2FkYmZjY2E0YzE4M2ZlMGZiZF8xLTQtMS0xLTA_1e608a9b-de5f-42f5-94f0-7c3efd240d17">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGV4dHJlZ2lvbjo0ZTkwNTQ4MWQzZmQ0YTIzOGFjZGVhOGZmYjAyMmVmMV8yOTcz_085025c4-613e-4384-85ec-82b7dbd62ba8">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGV4dHJlZ2lvbjo0ZTkwNTQ4MWQzZmQ0YTIzOGFjZGVhOGZmYjAyMmVmMV8yOTc0_a779178d-cee9-4b3d-b086-ad0de7151288">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGV4dHJlZ2lvbjo0ZTkwNTQ4MWQzZmQ0YTIzOGFjZGVhOGZmYjAyMmVmMV85Nzg_07a5142d-1331-4d9e-9e81-5a57a11da851">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGV4dHJlZ2lvbjo0ZTkwNTQ4MWQzZmQ0YTIzOGFjZGVhOGZmYjAyMmVmMV8xMjgw_3f8c3bb3-072a-46f5-b8a1-f7ce6eab168c">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGFibGU6NDNmNzQ0YTFhMzNiNDgzYWJhMjgyZmI2ZDgyZjk0NzMvdGFibGVyYW5nZTo0M2Y3NDRhMWEzM2I0ODNhYmEyODJmYjZkODJmOTQ3M18yLTAtMS0xLTA_7e8c37fa-4fd0-4948-b160-369f6eee6a5b">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGFibGU6NDNmNzQ0YTFhMzNiNDgzYWJhMjgyZmI2ZDgyZjk0NzMvdGFibGVyYW5nZTo0M2Y3NDRhMWEzM2I0ODNhYmEyODJmYjZkODJmOTQ3M18yLTQtMS0xLTA_e6d75e67-a3a3-4e9a-8dd5-57b3bd5493a0">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGFibGU6NDNmNzQ0YTFhMzNiNDgzYWJhMjgyZmI2ZDgyZjk0NzMvdGFibGVyYW5nZTo0M2Y3NDRhMWEzM2I0ODNhYmEyODJmYjZkODJmOTQ3M180LTQtMS0xLTA_1bd81a4e-4543-46ea-a7a9-50e455fad29f">true</dei:EntityEmergingGrowthCompany>
    <dei:EntityExTransitionPeriod
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGV4dHJlZ2lvbjo0ZTkwNTQ4MWQzZmQ0YTIzOGFjZGVhOGZmYjAyMmVmMV8xOTE1_47afb3b4-130b-4b65-9e9c-0804ad5e229e">false</dei:EntityExTransitionPeriod>
    <dei:IcfrAuditorAttestationFlag
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGV4dHJlZ2lvbjo0ZTkwNTQ4MWQzZmQ0YTIzOGFjZGVhOGZmYjAyMmVmMV8zMjk4NTM0ODg3Mzg5_81af924c-e234-4665-bf7c-6c51fff4eb0a">false</dei:IcfrAuditorAttestationFlag>
    <dei:EntityShellCompany
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGV4dHJlZ2lvbjo0ZTkwNTQ4MWQzZmQ0YTIzOGFjZGVhOGZmYjAyMmVmMV8yMDM1_bffc0dbb-11f7-4687-8b4c-24d0df8fcdbd">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="i140e1c0c979f493ab5bbee92875a255d_I20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGV4dHJlZ2lvbjo0ZTkwNTQ4MWQzZmQ0YTIzOGFjZGVhOGZmYjAyMmVmMV8yMTg4_b9f8e9a7-8a8c-44a1-9023-73bfee4f021c"
      unitRef="usd">83400000</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="ied1333e512914d588c7ba153b4b54d39_I20210312"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGV4dHJlZ2lvbjo0ZTkwNTQ4MWQzZmQ0YTIzOGFjZGVhOGZmYjAyMmVmMV8yNjIw_54f53d00-cbde-42ad-8f53-86449bf436f9"
      unitRef="shares">12669816</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xL2ZyYWc6NGU5MDU0ODFkM2ZkNGEyMzhhY2RlYThmZmIwMjJlZjEvdGV4dHJlZ2lvbjo0ZTkwNTQ4MWQzZmQ0YTIzOGFjZGVhOGZmYjAyMmVmMV8yOTc1_010eab0e-6370-404a-b2a1-6936291a92b5">Certain information required to be disclosed in Part III of this report is incorporated by reference from the registrant's definitive Proxy Statement for the 2021 Annual Meeting of Stockholders, which proxy statement will be filed not later than 120 days after the end of the fiscal year covered by this Form 10-K.</dei:DocumentsIncorporatedByReferenceTextBlock>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzMtNC0xLTEtMA_31ae29bf-59d4-4c45-b747-58e7dee32781"
      unitRef="usd">57448000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzMtNi0xLTEtMA_d51bb770-f1e6-41e7-9ddd-f211e061eaa6"
      unitRef="usd">72084000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzQtNC0xLTEtMA_9818f7da-b40d-47a0-a695-6f8ac1919543"
      unitRef="usd">8910000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzQtNi0xLTEtMA_7dddff8d-04d5-465e-acf4-e82ebda9828a"
      unitRef="usd">5715000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssets
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzUtNC0xLTEtMA_0a3f2208-1277-4efb-95a8-6931f8ddd676"
      unitRef="usd">4159000</us-gaap:PrepaidExpenseAndOtherAssets>
    <us-gaap:PrepaidExpenseAndOtherAssets
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzUtNi0xLTEtMA_da9b0535-dc40-413b-8a20-abe2ed31b1c8"
      unitRef="usd">3451000</us-gaap:PrepaidExpenseAndOtherAssets>
    <us-gaap:AssetsCurrent
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzYtNC0xLTEtMA_3dfa1f97-ee8b-4e5e-bcff-ae4c924213e5"
      unitRef="usd">70517000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzYtNi0xLTEtMA_051bb0e3-def0-4e56-8924-63b0a5dd7c54"
      unitRef="usd">81250000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzctNC0xLTEtMA_c54b5f37-32c5-4023-9175-feb7a1e5b2b7"
      unitRef="usd">2102000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzctNi0xLTEtMA_02ee460f-7ae7-423f-b98e-278983c9f6e5"
      unitRef="usd">1380000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Goodwill
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzgtNC0xLTEtMA_ad98b527-1e49-4523-bd46-da513e4f3078"
      unitRef="usd">5506000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzgtNi0xLTEtMA_1252ce76-9508-4c06-917a-576550c51119"
      unitRef="usd">5506000</us-gaap:Goodwill>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzktNC0xLTEtMA_00030cc6-0887-43d0-809e-38d8f960d30a"
      unitRef="usd">250000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzktNi0xLTEtMA_6bd890a9-f5dc-4067-b22e-bc3d12be7958"
      unitRef="usd">174000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzEwLTQtMS0xLTA_c2b745fa-5960-4dd2-a365-f0d9d0789ba6"
      unitRef="usd">78375000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzEwLTYtMS0xLTA_4a0136da-fe74-4333-87b6-3e57a9683257"
      unitRef="usd">88310000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzEzLTQtMS0xLTA_58ce0402-cbba-4163-8947-b38b63c21645"
      unitRef="usd">3014000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzEzLTYtMS0xLTA_5c1a3bf3-3f7e-4f8f-8824-e7e531b8c1e8"
      unitRef="usd">1476000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzE0LTQtMS0xLTA_9e5d88d1-9ac5-4c04-a877-65765b1f5cdf"
      unitRef="usd">5757000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzE0LTYtMS0xLTA_c28d522a-08bc-4b72-b582-3fe369d6dc89"
      unitRef="usd">4419000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzE2LTQtMS0xLTA_45282170-a20f-4c37-85aa-5234561b169a"
      unitRef="usd">8771000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzE2LTYtMS0xLTA_eb8959a9-822b-470d-88cf-2f296a5b6ffc"
      unitRef="usd">5895000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzE3LTQtMS0xLTA_5221d41a-126f-4031-995b-1b97e0b016f7"
      unitRef="usd">26659000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzE3LTYtMS0xLTA_9ce14864-4600-4db3-a773-a62216099e95"
      unitRef="usd">25854000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzE5LTQtMS0xLTA_ba3930f0-83f0-4c13-b8e4-a48595ade7a8"
      unitRef="usd">158000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzE5LTYtMS0xLTA_79e227e0-be2e-4336-8230-4fa9f94c05d2"
      unitRef="usd">264000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzIwLTQtMS0xLTA_fc080b07-7d5f-43bd-9c97-20ce667212c0"
      unitRef="usd">948000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzIwLTYtMS0xLTA_619310af-9d54-46d4-8512-b032c678a2ae"
      unitRef="usd">638000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzIxLTQtMS0xLTA_d10735e7-c6f2-465f-8bfd-8e963b5552fa"
      unitRef="usd">36536000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzIxLTYtMS0xLTA_20b37527-4f50-4f25-8ef3-d93fff63caa7"
      unitRef="usd">32651000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzIyLTQtMS0xLTA_3333b57a-3d85-4185-907b-4530cc19fafd"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzIyLTYtMS0xLTA_860c2a37-f9be-40c9-8944-d0d7db736229"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI1LTAtMS0xLTAvdGV4dHJlZ2lvbjozOTY3ZjI3YzZmZTQ0ZmMzOWIzM2IwZGE5MGFlZWZiNl8yMQ_643c2f96-1e5d-4842-aea7-5cb379bc4a7d"
      unitRef="usdPerShare">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI1LTAtMS0xLTAvdGV4dHJlZ2lvbjozOTY3ZjI3YzZmZTQ0ZmMzOWIzM2IwZGE5MGFlZWZiNl8yMQ_8d15e96e-441b-436e-8cce-8a91f6d658cb"
      unitRef="usdPerShare">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI1LTAtMS0xLTAvdGV4dHJlZ2lvbjozOTY3ZjI3YzZmZTQ0ZmMzOWIzM2IwZGE5MGFlZWZiNl8zNQ_7cd2a1f1-c9ff-4e48-9eec-718e7dec2b96"
      unitRef="shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI1LTAtMS0xLTAvdGV4dHJlZ2lvbjozOTY3ZjI3YzZmZTQ0ZmMzOWIzM2IwZGE5MGFlZWZiNl8zNQ_a6ca3629-6c72-45d9-a0e8-85bc92f5a290"
      unitRef="shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI1LTAtMS0xLTAvdGV4dHJlZ2lvbjozOTY3ZjI3YzZmZTQ0ZmMzOWIzM2IwZGE5MGFlZWZiNl81Nw_27dd6383-9461-4db5-963d-376d18075343"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI1LTAtMS0xLTAvdGV4dHJlZ2lvbjozOTY3ZjI3YzZmZTQ0ZmMzOWIzM2IwZGE5MGFlZWZiNl81Nw_5e846a68-1142-4fd3-bdad-073d59e7fb00"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI1LTAtMS0xLTAvdGV4dHJlZ2lvbjozOTY3ZjI3YzZmZTQ0ZmMzOWIzM2IwZGE5MGFlZWZiNl81Nw_989460a6-c762-453a-88a2-1ea4b6a845a7"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI1LTAtMS0xLTAvdGV4dHJlZ2lvbjozOTY3ZjI3YzZmZTQ0ZmMzOWIzM2IwZGE5MGFlZWZiNl81Nw_fba9d52f-f838-44d0-86b7-51638eda7268"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockValue
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI1LTQtMS0xLTA_236e174b-4d72-467d-b7f3-3d11190b93e9"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI1LTYtMS0xLTA_9a706612-c859-4875-b768-1a798936d5ad"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI2LTAtMS0xLTAvdGV4dHJlZ2lvbjo1NjgxNzg4OTA1ZDc0M2JhOGM5NjhmYjRiZjJlM2E0M18xOA_578a4852-7f86-415f-977e-434dda58a912"
      unitRef="usdPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI2LTAtMS0xLTAvdGV4dHJlZ2lvbjo1NjgxNzg4OTA1ZDc0M2JhOGM5NjhmYjRiZjJlM2E0M18xOA_795f99a9-5e4a-48f1-a2b2-cc9bd8174754"
      unitRef="usdPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI2LTAtMS0xLTAvdGV4dHJlZ2lvbjo1NjgxNzg4OTA1ZDc0M2JhOGM5NjhmYjRiZjJlM2E0M18zMg_397770a0-e3fe-4611-b89f-dc0f3bebcbd1"
      unitRef="shares">200000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI2LTAtMS0xLTAvdGV4dHJlZ2lvbjo1NjgxNzg4OTA1ZDc0M2JhOGM5NjhmYjRiZjJlM2E0M18zMg_c9b2a9a1-1f53-41cf-85a0-ca5e3dcbb2f0"
      unitRef="shares">200000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI2LTAtMS0xLTAvdGV4dHJlZ2lvbjo1NjgxNzg4OTA1ZDc0M2JhOGM5NjhmYjRiZjJlM2E0M18xMTg_466c6449-e9f1-4c2b-a8b3-dc86d9d4ad60"
      unitRef="shares">12652308</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI2LTAtMS0xLTAvdGV4dHJlZ2lvbjo1NjgxNzg4OTA1ZDc0M2JhOGM5NjhmYjRiZjJlM2E0M18xMTg_9660ed2d-c441-487f-98c9-c3d2a28a5334"
      unitRef="shares">12652308</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI2LTAtMS0xLTAvdGV4dHJlZ2lvbjo1NjgxNzg4OTA1ZDc0M2JhOGM5NjhmYjRiZjJlM2E0M18xMjU_084ebfef-3b44-45ab-b280-4a0d300cad0d"
      unitRef="shares">12560990</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI2LTAtMS0xLTAvdGV4dHJlZ2lvbjo1NjgxNzg4OTA1ZDc0M2JhOGM5NjhmYjRiZjJlM2E0M18xMjU_778fe8fd-6b35-4f73-9745-15da24e9432c"
      unitRef="shares">12560990</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI2LTQtMS0xLTA_9ed1327f-8984-418c-84cf-e988d1a3fdab"
      unitRef="usd">13000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI2LTYtMS0xLTA_062b9263-c1e2-48a1-9ffe-38b6f53ef77a"
      unitRef="usd">13000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI3LTQtMS0xLTA_dc52b1dd-81b2-436c-92c3-8f964e34de2a"
      unitRef="usd">223115000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI3LTYtMS0xLTA_86a2a8b3-de20-4572-8c65-a86eb83e2f22"
      unitRef="usd">220248000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI4LTQtMS0xLTA_73145ba2-8e17-44b9-b32c-ca116ed141c1"
      unitRef="usd">-181289000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI4LTYtMS0xLTA_9eb3174f-a1c5-4fcc-9a75-a02ae83ce3e8"
      unitRef="usd">-164602000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI5LTQtMS0xLTA_3eccc39b-17b2-47e3-b893-d6667207b9a4"
      unitRef="usd">41839000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzI5LTYtMS0xLTA_daa5c10e-965d-4305-8670-19a86ea17540"
      unitRef="usd">55659000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzMwLTQtMS0xLTA_a58f0e3f-e0af-47f6-8fd0-65d9ca8aeb15"
      unitRef="usd">78375000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDMvZnJhZzoyNTBiMzk2OWUxNDM0M2I5YmU5ODdmNmNiY2RmYjhkMC90YWJsZTo4ZmU0ODVkMzM3MjI0MmZjYTU1NWJjOWY3ZGZhYmM4YS90YWJsZXJhbmdlOjhmZTQ4NWQzMzcyMjQyZmNhNTU1YmM5ZjdkZmFiYzhhXzMwLTYtMS0xLTA_01b2291a-2b91-41ac-9b25-122d203fb888"
      unitRef="usd">88310000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzMtNi0xLTEtMA_b6b1f265-b538-43b9-a293-69624e6092e6"
      unitRef="usd">41975000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzMtOC0xLTEtMA_a07d6680-4963-42d5-8615-1fb03525cf12"
      unitRef="usd">40387000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzUtNi0xLTEtMA_92cec360-2f8b-404b-93e9-1fb0de2308f6"
      unitRef="usd">16559000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzUtOC0xLTEtMA_d8bdf4f1-4d26-4dcf-97fd-14ce1f8b8747"
      unitRef="usd">18808000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzYtNi0xLTEtMA_703a186d-dfaf-449f-bc3f-dead8e6e4e81"
      unitRef="usd">37033000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzYtOC0xLTEtMA_6e2e969b-2855-4e96-8c0f-a5d5103e3d4c"
      unitRef="usd">28702000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzctNi0xLTEtMA_ec352c04-9aa6-463b-bac1-3a370c8195c1"
      unitRef="usd">3568000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzctOC0xLTEtMA_c353d09d-8b5c-4914-8cb3-883afbce8d5f"
      unitRef="usd">2176000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:CostsAndExpenses
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzEwLTYtMS0xLTA_001ed7d2-295c-436c-9dde-736406708d49"
      unitRef="usd">57160000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzEwLTgtMS0xLTA_cb90f252-d9f3-4705-a7c8-1c8fdeb69f5a"
      unitRef="usd">49686000</us-gaap:CostsAndExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzExLTYtMS0xLTA_c484398c-bd3c-41a3-9846-c30b73d8341e"
      unitRef="usd">-15185000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzExLTgtMS0xLTA_7fa6d723-05c3-4dfd-a0b5-01f4db519db5"
      unitRef="usd">-9299000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzEyLTYtMS0xLTA_ac19ee01-2c00-43ef-a81f-29e6873d6f71"
      unitRef="usd">2565000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzEyLTgtMS0xLTA_79a1ff69-2450-4fbf-b0d9-d0ec0bbab5b4"
      unitRef="usd">3491000</us-gaap:InterestExpense>
    <exdx:IncreaseDecreaseInFairValueOfFinancialInstruments
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzEzLTYtMS0xLTA_1c2eb117-7ad1-4bc0-9ea4-4ab3e4e0d8f0"
      unitRef="usd">0</exdx:IncreaseDecreaseInFairValueOfFinancialInstruments>
    <exdx:IncreaseDecreaseInFairValueOfFinancialInstruments
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzEzLTgtMS0xLTA_3edc9866-24fb-40f1-ae26-29f011deaf72"
      unitRef="usd">267000</exdx:IncreaseDecreaseInFairValueOfFinancialInstruments>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzE0LTYtMS0xLTA_3555c0ec-b81a-4620-a897-3ace6538de33"
      unitRef="usd">984000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzE0LTgtMS0xLTA_58388825-79a0-43bb-840a-b7fadc4c5663"
      unitRef="usd">510000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossAttributableToParent
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzE1LTYtMS0xLTA_09e7a421-fd85-4629-9beb-20a10fd091db"
      unitRef="usd">-16766000</us-gaap:IncomeLossAttributableToParent>
    <us-gaap:IncomeLossAttributableToParent
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzE1LTgtMS0xLTA_7ecc3d7f-dfa8-43c8-b37a-603b5491df71"
      unitRef="usd">-12013000</us-gaap:IncomeLossAttributableToParent>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzE2LTYtMS0xLTA_626bef7a-32e4-49ae-9a87-d5609750fcd8"
      unitRef="usd">-79000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzE2LTgtMS0xLTA_a408641a-7920-48a3-8ffa-8929d0f50cc7"
      unitRef="usd">25000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzE3LTYtMS0xLTA_58ff90b5-d72e-4115-bf48-89331be0595e"
      unitRef="usd">-16687000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzE3LTgtMS0xLTA_2263a104-b12a-4c7c-bddf-010dd70f9973"
      unitRef="usd">-12038000</us-gaap:NetIncomeLoss>
    <us-gaap:TemporaryEquityAccretionToRedemptionValueAdjustment
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzE4LTYtMS0xLTA_0ad703c7-6537-426e-a8ed-ef3154dec86c"
      unitRef="usd">0</us-gaap:TemporaryEquityAccretionToRedemptionValueAdjustment>
    <us-gaap:TemporaryEquityAccretionToRedemptionValueAdjustment
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzE4LTgtMS0xLTA_b90f6b98-a5a9-4342-a588-c1af483726f2"
      unitRef="usd">4640000</us-gaap:TemporaryEquityAccretionToRedemptionValueAdjustment>
    <us-gaap:OtherPreferredStockDividendsAndAdjustments
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzE5LTYtMS0xLTA_800ce1e2-4101-46ab-9c15-b3a55021d2b2"
      unitRef="usd">0</us-gaap:OtherPreferredStockDividendsAndAdjustments>
    <us-gaap:OtherPreferredStockDividendsAndAdjustments
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzE5LTgtMS0xLTA_454940ba-7a79-4016-bc85-7b09b3c00c17"
      unitRef="usd">13601000</us-gaap:OtherPreferredStockDividendsAndAdjustments>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzIwLTYtMS0xLTA_bbb3fd8c-48dc-4e4b-a015-02d74f88c509"
      unitRef="usd">-16687000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzIwLTgtMS0xLTA_5aa7e53a-8773-4878-8037-1c5ab00ee131"
      unitRef="usd">-30279000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzIxLTYtMS0xLTA_636e3f0d-d82b-4bfd-b580-2a98cfd845f8"
      unitRef="usdPerShare">-1.32</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzIxLTgtMS0xLTA_02e5aa83-bb50-4e20-b7fe-a443a1df4f7d"
      unitRef="usdPerShare">-8.46</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzIyLTYtMS0xLTA_63331411-3b44-4548-9426-8cc931464be6"
      unitRef="shares">12632780</us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted>
    <us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDYvZnJhZzo5MTFiM2QwZTg5N2Q0MDkwODkyODljZGJkNjdjMzZhZS90YWJsZToxNTA4MjcwZWVkNjI0ODQwOWYwYzdmYWQ5N2I2ZmJhYS90YWJsZXJhbmdlOjE1MDgyNzBlZWQ2MjQ4NDA5ZjBjN2ZhZDk3YjZmYmFhXzIyLTgtMS0xLTA_df3085f6-37b2-4105-9df1-ac766d416d96"
      unitRef="shares">3578771</us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted>
    <us-gaap:TemporaryEquitySharesOutstanding
      contextRef="ibdd8f716641546a99b2b0acc6ea44d50_I20181231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzgtMi0xLTEtMA_11372114-e4ff-41b8-80e6-7b0f8ac098c8"
      unitRef="shares">532606084</us-gaap:TemporaryEquitySharesOutstanding>
    <us-gaap:TemporaryEquityCarryingAmountAttributableToParent
      contextRef="ibdd8f716641546a99b2b0acc6ea44d50_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzgtNC0xLTEtMA_dedbf4a9-ca59-481e-b1ed-e22ac0629497"
      unitRef="usd">105232000</us-gaap:TemporaryEquityCarryingAmountAttributableToParent>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i6884440164f1463aa6e4fed299d3fe16_I20181231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzgtNi0xLTEtMA_84379aad-9ca0-43ab-aef0-51df3a847c75"
      unitRef="shares">63005</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i6884440164f1463aa6e4fed299d3fe16_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzgtOC0xLTEtMA_2ea54a7e-5830-4fd0-9df8-ae85e915ef3a"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5a5cbdb8b75149f1a2107742fed852bf_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzgtMTAtMS0xLTA_aac02bd1-2f90-4d9e-928b-729b3410f694"
      unitRef="usd">40598000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i0e3a91a5115e431d98f3d1ae4a1da9ec_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzgtMTItMS0xLTA_bbbce9c5-e542-42d3-b09c-7b4e9eace0e0"
      unitRef="usd">-152564000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ibdd8f716641546a99b2b0acc6ea44d50_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzgtMTQtMS0xLTA_df2db667-dfcd-4cc9-9b84-509df52798d1"
      unitRef="usd">-111966000</us-gaap:StockholdersEquity>
    <us-gaap:TemporaryEquityAccretionToRedemptionValue
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzktNC0xLTEtMA_cccc8424-405e-4187-81e7-bbbbed87e642"
      unitRef="usd">4640000</us-gaap:TemporaryEquityAccretionToRedemptionValue>
    <exdx:AdjustmentsToAdditionalPaidInCapitalTemporaryEquityAccretionToRedemptionValue
      contextRef="iec9c6a63268f49088d28e756daf8e252_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzktMTAtMS0xLTA_7b2022d7-75f5-4e21-b234-79a9cf9c739a"
      unitRef="usd">4640000</exdx:AdjustmentsToAdditionalPaidInCapitalTemporaryEquityAccretionToRedemptionValue>
    <exdx:AdjustmentsToAdditionalPaidInCapitalTemporaryEquityAccretionToRedemptionValue
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzktMTQtMS0xLTA_5722380f-d786-4290-80bf-e9e9e6493203"
      unitRef="usd">4640000</exdx:AdjustmentsToAdditionalPaidInCapitalTemporaryEquityAccretionToRedemptionValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i9108d9e9df164e8eba47e0ed7eb067a1_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzEwLTYtMS0xLTA_0641b0a6-a66e-4d95-b081-48c638ffe2ed"
      unitRef="shares">1548</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="iec9c6a63268f49088d28e756daf8e252_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzEwLTEwLTEtMS0w_69009976-ec7e-4b48-9ffe-a68199d1b272"
      unitRef="usd">4000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzEwLTE0LTEtMS0w_dd7d13e2-f456-45e1-8dd0-a25c6b534c0d"
      unitRef="usd">4000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="iec9c6a63268f49088d28e756daf8e252_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzExLTEwLTEtMS0w_adaec370-8482-4b30-90e8-8c4832512672"
      unitRef="usd">572000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzExLTE0LTEtMS0w_e466d560-4df6-4655-851e-d18a13ac8f72"
      unitRef="usd">572000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <exdx:SaleOfTemporaryEquityPricePerShare
      contextRef="i7b1f74c554494d0aa167b4a49c8d556e_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzEyLTAtMS0xLTAvdGV4dHJlZ2lvbjpjNTA0ZGNkYTkyNWQ0MTI2YjliMzNhOGVhMDlhNjE0M185MA_63a43e61-7508-45c5-b4a4-c629fff5d530"
      unitRef="usdPerShare">0.078</exdx:SaleOfTemporaryEquityPricePerShare>
    <exdx:TemporaryEquityIssuanceCosts
      contextRef="i7b1f74c554494d0aa167b4a49c8d556e_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzEyLTAtMS0xLTAvdGV4dHJlZ2lvbjpjNTA0ZGNkYTkyNWQ0MTI2YjliMzNhOGVhMDlhNjE0M18xMjk_d640c9c1-9508-436e-8e44-9dca3a311435"
      unitRef="usd">124000</exdx:TemporaryEquityIssuanceCosts>
    <exdx:TemporaryEquityIssuedDuringThePeriodSharesRedeemableConvertiblePreferredStock
      contextRef="i7b1f74c554494d0aa167b4a49c8d556e_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzEyLTItMS0xLTA_3f564dd3-b161-4f44-8278-4a75f6b865f9"
      unitRef="shares">148928337</exdx:TemporaryEquityIssuedDuringThePeriodSharesRedeemableConvertiblePreferredStock>
    <exdx:TemporaryEquityIssuedDuringThePeriodValueRedeemableConvertiblePreferredStock
      contextRef="i7b1f74c554494d0aa167b4a49c8d556e_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzEyLTQtMS0xLTA_7c35bcde-5c40-4c33-9edd-96f3b57bcf17"
      unitRef="usd">11492000</exdx:TemporaryEquityIssuedDuringThePeriodValueRedeemableConvertiblePreferredStock>
    <exdx:SaleOfTemporaryEquityPricePerShare
      contextRef="i0d13881d6e83434597f3a5e81badbe4e_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzEzLTAtMS0xLTAvdGV4dHJlZ2lvbjpjZTAyOTliODZkMGI0ZjI0ODZjNzFiMjgwZTUxYTc2N185MA_f18c8003-d7f1-4e82-835c-7a82759cfc54"
      unitRef="usdPerShare">0.047</exdx:SaleOfTemporaryEquityPricePerShare>
    <exdx:TemporaryEquityIssuanceCosts
      contextRef="i0d13881d6e83434597f3a5e81badbe4e_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzEzLTAtMS0xLTAvdGV4dHJlZ2lvbjpjZTAyOTliODZkMGI0ZjI0ODZjNzFiMjgwZTUxYTc2N18xMjk_2c072dee-3e7f-4a35-ab69-424258cce0b8"
      unitRef="usd">318000</exdx:TemporaryEquityIssuanceCosts>
    <exdx:TemporaryEquityIssuedDuringThePeriodSharesRedeemableConvertiblePreferredStock
      contextRef="i0d13881d6e83434597f3a5e81badbe4e_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzEzLTItMS0xLTA_6bd5fc8c-8feb-4fa0-8d3d-d01a0b4c03d7"
      unitRef="shares">233446519</exdx:TemporaryEquityIssuedDuringThePeriodSharesRedeemableConvertiblePreferredStock>
    <exdx:TemporaryEquityIssuedDuringThePeriodValueRedeemableConvertiblePreferredStock
      contextRef="i0d13881d6e83434597f3a5e81badbe4e_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzEzLTQtMS0xLTA_45cb176b-684c-401a-8172-23762601eddb"
      unitRef="usd">3941000</exdx:TemporaryEquityIssuedDuringThePeriodValueRedeemableConvertiblePreferredStock>
    <exdx:AdjustmentsToAdditionalPaidInCapitalIssuanceOfTemporaryEquity
      contextRef="iec9c6a63268f49088d28e756daf8e252_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzEzLTEwLTEtMS0w_82f5fc95-2305-48e3-b7bc-eefbcc10115d"
      unitRef="usd">6741000</exdx:AdjustmentsToAdditionalPaidInCapitalIssuanceOfTemporaryEquity>
    <exdx:AdjustmentsToAdditionalPaidInCapitalIssuanceOfTemporaryEquity
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzEzLTE0LTEtMS0w_a6302082-e0dd-40c9-966e-8d0765d22962"
      unitRef="usd">6741000</exdx:AdjustmentsToAdditionalPaidInCapitalIssuanceOfTemporaryEquity>
    <exdx:TemporaryEquityDeemedDividendsWithBeneficialConversionFeature
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzE0LTQtMS0xLTA_d25d3094-df8d-4796-b06e-8644899e2bdf"
      unitRef="usd">6741000</exdx:TemporaryEquityDeemedDividendsWithBeneficialConversionFeature>
    <exdx:AdjustmentsToAdditionalPaidInCapitalTemporaryEquityWithBeneficialConversionFeature
      contextRef="iec9c6a63268f49088d28e756daf8e252_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzE0LTEwLTEtMS0w_593dc169-3771-446b-8ce9-290f66b39c2e"
      unitRef="usd">6741000</exdx:AdjustmentsToAdditionalPaidInCapitalTemporaryEquityWithBeneficialConversionFeature>
    <exdx:AdjustmentsToAdditionalPaidInCapitalTemporaryEquityWithBeneficialConversionFeature
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzE0LTE0LTEtMS0w_b4982da8-fcbe-4eb3-b764-26237bc6f0b9"
      unitRef="usd">6741000</exdx:AdjustmentsToAdditionalPaidInCapitalTemporaryEquityWithBeneficialConversionFeature>
    <exdx:TemporaryEquityDeemedDividendSharesIssued
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzE1LTItMS0xLTA_d06c6d4f-6dbd-4be0-be2b-22f682082de1"
      unitRef="shares">97592739</exdx:TemporaryEquityDeemedDividendSharesIssued>
    <exdx:TemporaryEquityDeemedDividend
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzE1LTQtMS0xLTA_65b4c8d4-e618-44aa-811b-41535eec6412"
      unitRef="usd">6860000</exdx:TemporaryEquityDeemedDividend>
    <exdx:AdjustmentsToAdditionalPaidInCapitalTemporaryEquityDeemedDividends
      contextRef="iec9c6a63268f49088d28e756daf8e252_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzE1LTEwLTEtMS0w_aadd7a60-b421-4b28-81a9-7e7f2ed0c101"
      unitRef="usd">6860000</exdx:AdjustmentsToAdditionalPaidInCapitalTemporaryEquityDeemedDividends>
    <exdx:AdjustmentsToAdditionalPaidInCapitalTemporaryEquityDeemedDividends
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzE1LTE0LTEtMS0w_d52e4b4f-2bda-465b-8305-7741312b1ba2"
      unitRef="usd">6860000</exdx:AdjustmentsToAdditionalPaidInCapitalTemporaryEquityDeemedDividends>
    <exdx:TemporaryEquitySharesRedeemedUponConversion
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzE2LTItMS0xLTA_775e49fe-cc64-44c8-8e3f-dc8f2e959e51"
      unitRef="shares">1012573679</exdx:TemporaryEquitySharesRedeemedUponConversion>
    <exdx:TemporaryEquitySharesRedeemedUponConversionAmount
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzE2LTQtMS0xLTA_93a2e433-5a07-4b74-bbb9-710a40ba53b8"
      unitRef="usd">138906000</exdx:TemporaryEquitySharesRedeemedUponConversionAmount>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="i9108d9e9df164e8eba47e0ed7eb067a1_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzE2LTYtMS0xLTA_96420639-73b1-4ecc-9e0e-5d6443466338"
      unitRef="shares">7816643</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="i9108d9e9df164e8eba47e0ed7eb067a1_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzE2LTgtMS0xLTA_97ce7924-441b-4e38-a6cb-e03c8ba64a50"
      unitRef="usd">8000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="iec9c6a63268f49088d28e756daf8e252_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzE2LTEwLTEtMS0w_f05dda18-6ea1-40a6-8d67-bffe751e1658"
      unitRef="usd">138898000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzE2LTE0LTEtMS0w_887ff9da-021a-4e11-b578-88d7ba55396a"
      unitRef="usd">138906000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="i9108d9e9df164e8eba47e0ed7eb067a1_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzE3LTYtMS0xLTA_0bcea484-4660-4863-8189-a9ddacaa66b5"
      unitRef="shares">4140000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i9108d9e9df164e8eba47e0ed7eb067a1_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzE3LTgtMS0xLTA_4fd5418f-d55d-4a13-a21f-aefdb162d47e"
      unitRef="usd">4000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="iec9c6a63268f49088d28e756daf8e252_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzE3LTEwLTEtMS0w_773cb117-d9ef-42e9-8239-eff30cea5dad"
      unitRef="usd">50440000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzE3LTE0LTEtMS0w_1bedad57-1c68-4ea9-b609-8f2d8c0cd6ff"
      unitRef="usd">50444000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <exdx:StockIssuedDuringPeriodSharesWarrantsExercisedNet
      contextRef="i9108d9e9df164e8eba47e0ed7eb067a1_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzE4LTYtMS0xLTA_dc3c8003-28f7-46f2-8f24-75274f5acda4"
      unitRef="shares">539794</exdx:StockIssuedDuringPeriodSharesWarrantsExercisedNet>
    <exdx:StockIssuedDuringPeriodValueWarrantsExercisedNet
      contextRef="i9108d9e9df164e8eba47e0ed7eb067a1_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzE4LTgtMS0xLTA_9b5a15ac-b50c-4bfc-83d2-3a844e3eed7b"
      unitRef="usd">1000</exdx:StockIssuedDuringPeriodValueWarrantsExercisedNet>
    <exdx:StockIssuedDuringPeriodValueWarrantsExercisedNet
      contextRef="iec9c6a63268f49088d28e756daf8e252_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzE4LTEwLTEtMS0w_572211d0-10c4-4f17-b3de-670b05355713"
      unitRef="usd">510000</exdx:StockIssuedDuringPeriodValueWarrantsExercisedNet>
    <exdx:StockIssuedDuringPeriodValueWarrantsExercisedNet
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzE4LTE0LTEtMS0w_cf6648f0-2301-4832-986c-fecc3cd4cf9d"
      unitRef="usd">511000</exdx:StockIssuedDuringPeriodValueWarrantsExercisedNet>
    <exdx:AdjustmentsToAdditionalPaidInCapitalReclassificationOfPreferredStockWarrantLiability
      contextRef="iec9c6a63268f49088d28e756daf8e252_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzE5LTEwLTEtMS0w_ce7d3c92-f868-44fb-b832-81f8d559845f"
      unitRef="usd">726000</exdx:AdjustmentsToAdditionalPaidInCapitalReclassificationOfPreferredStockWarrantLiability>
    <exdx:AdjustmentsToAdditionalPaidInCapitalReclassificationOfPreferredStockWarrantLiability
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzE5LTE0LTEtMS0w_d504f147-7acd-41b5-baa8-01c5349ef09e"
      unitRef="usd">726000</exdx:AdjustmentsToAdditionalPaidInCapitalReclassificationOfPreferredStockWarrantLiability>
    <us-gaap:NetIncomeLoss
      contextRef="i000894d3cadd4d209d2620841a05dcf0_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzIwLTEyLTEtMS0w_b97eefb9-b941-43ad-b7c8-80dc2a581d82"
      unitRef="usd">-12038000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzIwLTE0LTEtMS0w_b452239a-5410-41b7-96b4-492eb585a534"
      unitRef="usd">-12038000</us-gaap:NetIncomeLoss>
    <us-gaap:TemporaryEquitySharesOutstanding
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzIxLTItMS0xLTA_a4f284f1-7e31-4793-97b8-d04a5e11b5df"
      unitRef="shares">0</us-gaap:TemporaryEquitySharesOutstanding>
    <us-gaap:TemporaryEquityCarryingAmountAttributableToParent
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzIxLTQtMS0xLTA_4c53b5e3-f7ea-45e9-8a51-fba69df1b640"
      unitRef="usd">0</us-gaap:TemporaryEquityCarryingAmountAttributableToParent>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i300aabe27b694c5aaf0c9a700cbe11ce_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzIxLTYtMS0xLTA_ba779cf6-0ce9-4725-8961-7f170e3f7875"
      unitRef="shares">12560990</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i300aabe27b694c5aaf0c9a700cbe11ce_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzIxLTgtMS0xLTA_c703d93a-23e1-41e0-a984-cecf3f67adcc"
      unitRef="usd">13000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i69da35ef92234938bcda9473aefd88f5_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzIxLTEwLTEtMS0w_112169c8-0b08-4310-9524-6ae660c368cf"
      unitRef="usd">220248000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i724b6d08dcb54c94ae1352b8b23c595f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzIxLTEyLTEtMS0w_adbd3310-eda9-4352-900b-7057f7deda56"
      unitRef="usd">-164602000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzIxLTE0LTEtMS0w_d310e147-bd0a-47b2-97f8-fe965c4d8fd0"
      unitRef="usd">55659000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="icd0eeddf8cc6442eb98678ca3b18bcdd_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzIyLTYtMS0xLTEwMQ_2ac8db5b-8a82-4dab-a992-49a569857210"
      unitRef="shares">47549</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i412f9e5c8a1c4205ae72e84686f1ca98_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzIyLTEwLTEtMS0xMjg_62a9a885-58b5-44ba-b106-5360f05a458e"
      unitRef="usd">13000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzIyLTE0LTEtMS0xMzY_75d88d91-b0e3-480a-a85f-c33d2fd8882f"
      unitRef="usd">13000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="icd0eeddf8cc6442eb98678ca3b18bcdd_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzIzLTYtMS0xLTEwMQ_420a8f71-3ec0-4cfe-9be9-40c73f18f258"
      unitRef="shares">11649</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i412f9e5c8a1c4205ae72e84686f1ca98_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzIzLTEwLTEtMS0xMjg_c7601199-efd6-4da0-accd-7a032511b003"
      unitRef="usd">142000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzIzLTE0LTEtMS0xMzY_d5d7d842-0769-4a6c-a14c-e82fba8c79a3"
      unitRef="usd">142000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i412f9e5c8a1c4205ae72e84686f1ca98_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzI0LTEwLTEtMS0xMjg_017b1b2b-9640-43a6-9a43-99693162f3ec"
      unitRef="usd">2694000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzI0LTE0LTEtMS0xMzY_17f4afd5-a44d-4565-a4b0-02f5849d282c"
      unitRef="usd">2694000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <exdx:StockIssuedDuringPeriodSharesWarrantsExercisedNet
      contextRef="icd0eeddf8cc6442eb98678ca3b18bcdd_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzI1LTYtMS0xLTEwMQ_3815202f-ca3a-4620-b50a-19394bc139ee"
      unitRef="shares">32120</exdx:StockIssuedDuringPeriodSharesWarrantsExercisedNet>
    <exdx:StockIssuedDuringPeriodValueWarrantsExercisedNet
      contextRef="i412f9e5c8a1c4205ae72e84686f1ca98_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzI1LTEwLTEtMS0xMjg_09c21b16-9589-4e80-aad0-47c6fe445f2d"
      unitRef="usd">18000</exdx:StockIssuedDuringPeriodValueWarrantsExercisedNet>
    <exdx:StockIssuedDuringPeriodValueWarrantsExercisedNet
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzI1LTE0LTEtMS0xMzY_88215e08-84b1-4348-b92f-e6c4251f323b"
      unitRef="usd">18000</exdx:StockIssuedDuringPeriodValueWarrantsExercisedNet>
    <us-gaap:NetIncomeLoss
      contextRef="ic85d4c855b6840b89f8a4974a7609bdd_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzI2LTEyLTEtMS0xMzI_0d87408b-8f22-4713-a295-3ebad6397366"
      unitRef="usd">-16687000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzI2LTE0LTEtMS0xMzY_212dbc3d-666f-4146-a10f-2fa4cb4d7fa9"
      unitRef="usd">-16687000</us-gaap:NetIncomeLoss>
    <us-gaap:TemporaryEquitySharesOutstanding
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzI3LTItMS0xLTExNg_135806b6-4b88-4290-b9a6-3606a2771312"
      unitRef="shares">0</us-gaap:TemporaryEquitySharesOutstanding>
    <us-gaap:TemporaryEquityCarryingAmountAttributableToParent
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzI3LTQtMS0xLTEyMA_435f6593-6603-4972-9be2-47222ae51ef7"
      unitRef="usd">0</us-gaap:TemporaryEquityCarryingAmountAttributableToParent>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="iecb93b3b0cdf41e3bf8d1a677147f799_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzI3LTYtMS0xLTEwMQ_1be86c69-a8ef-4584-b547-15d29ad2236d"
      unitRef="shares">12652308</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="iecb93b3b0cdf41e3bf8d1a677147f799_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzI3LTgtMS0xLTEyNA_5e1a1975-21f7-452d-92e1-93fdfa1c07bf"
      unitRef="usd">13000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i31e794abff7a43f59c1e323fa7e55d45_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzI3LTEwLTEtMS0xMjg_b726ffbc-2a4b-48c2-b549-7b9cee742182"
      unitRef="usd">223115000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if6dbfbafdf8a408ca1bbfc730926cc14_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzI3LTEyLTEtMS0xMzI_ed5fd58f-f5b2-4444-9995-c2f73de39058"
      unitRef="usd">-181289000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMDkvZnJhZzowMjUyM2VlMGZjOWU0Y2RlOTgwNjlhMDc4Mzk2N2NiMS90YWJsZTo2ZmMwOTY2YmRkMWU0YjQyYjA5YTBmNzA5ZjYxNDJmNi90YWJsZXJhbmdlOjZmYzA5NjZiZGQxZTRiNDJiMDlhMGY3MDlmNjE0MmY2XzI3LTE0LTEtMS0xMzY_37694814-8a9c-4dbb-8d88-823d1701fd4e"
      unitRef="usd">41839000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzQtNi0xLTEtMA_6e6568cb-a1d5-46bb-b0d9-37dd8306d335"
      unitRef="usd">-16687000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzQtOC0xLTEtMA_2950fafb-9df1-4c05-84de-76b8f9d92bd6"
      unitRef="usd">-12038000</us-gaap:NetIncomeLoss>
    <us-gaap:CostOfGoodsAndServicesSoldDepreciationAndAmortization
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzYtNi0xLTEtMA_544089f1-91ac-4ddd-90ad-0a66f4b8d2d5"
      unitRef="usd">546000</us-gaap:CostOfGoodsAndServicesSoldDepreciationAndAmortization>
    <us-gaap:CostOfGoodsAndServicesSoldDepreciationAndAmortization
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzYtOC0xLTEtMA_de231a07-54bb-4d04-b450-dfe7d37e1357"
      unitRef="usd">591000</us-gaap:CostOfGoodsAndServicesSoldDepreciationAndAmortization>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzctNi0xLTEtMA_c7731aad-a730-4a53-8c09-8434ffae897d"
      unitRef="usd">274000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzctOC0xLTEtMA_a5500d03-f03d-4f05-9a61-1e710b35f4e1"
      unitRef="usd">691000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:PaidInKindInterest
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzgtNi0xLTEtMA_f0a5b4f6-62d2-4601-a5f9-ec5f9ab17b2f"
      unitRef="usd">531000</us-gaap:PaidInKindInterest>
    <us-gaap:PaidInKindInterest
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzgtOC0xLTEtMA_f8a6eacc-c849-459f-a2b4-127d9d5a5205"
      unitRef="usd">546000</us-gaap:PaidInKindInterest>
    <us-gaap:FairValueAdjustmentOfWarrants
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzktNi0xLTEtMA_7d43e419-a1a0-4126-acb4-776643240df3"
      unitRef="usd">0</us-gaap:FairValueAdjustmentOfWarrants>
    <us-gaap:FairValueAdjustmentOfWarrants
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzktOC0xLTEtMA_92de762e-6017-4c3e-8522-f264a384302b"
      unitRef="usd">-267000</us-gaap:FairValueAdjustmentOfWarrants>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzEwLTYtMS0xLTA_88951393-4b7b-4751-a917-07b0ff2a1851"
      unitRef="usd">-106000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzEwLTgtMS0xLTA_40835c0c-cbe8-4112-a0f4-444567431776"
      unitRef="usd">0</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzExLTYtMS0xLTA_f49b5148-d87f-46d9-951a-914e8d7853b8"
      unitRef="usd">0</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzExLTgtMS0xLTA_1e049ecf-b56e-48ce-b8d8-50f113a4b111"
      unitRef="usd">-20000</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:ShareBasedCompensation
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzEyLTYtMS0xLTA_2b5bb34c-0fdc-40fd-a2e9-6866bd28f9fe"
      unitRef="usd">2694000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzEyLTgtMS0xLTA_a86aa1fa-c3d7-4c46-bd86-20eb881cdcd2"
      unitRef="usd">572000</us-gaap:ShareBasedCompensation>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzE0LTYtMS0xLTA_823e7f9b-6be2-45da-b7f8-5816c3f8f98d"
      unitRef="usd">3195000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzE0LTgtMS0xLTA_c082547c-876e-47d1-aaa8-9728cfd3d57f"
      unitRef="usd">-237000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <exdx:IncreaseDecreaseInPrepaidExpenseAndCurrentOtherAssets
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzE1LTYtMS0xLTA_d058f9f1-9642-465f-bd8e-834b5859f6b7"
      unitRef="usd">708000</exdx:IncreaseDecreaseInPrepaidExpenseAndCurrentOtherAssets>
    <exdx:IncreaseDecreaseInPrepaidExpenseAndCurrentOtherAssets
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzE1LTgtMS0xLTA_756330f0-ffef-47fc-bb72-2d3aae38d7dc"
      unitRef="usd">1255000</exdx:IncreaseDecreaseInPrepaidExpenseAndCurrentOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzE2LTYtMS0xLTA_9eaa92f1-2f25-4ebc-947d-24bb97d7c2c1"
      unitRef="usd">15000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzE2LTgtMS0xLTA_f53b7687-d037-45ea-ac64-6878f8b97e61"
      unitRef="usd">24000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzE3LTYtMS0xLTA_ba5c5ce8-8f3c-42d8-8b70-c4a5af9443b7"
      unitRef="usd">986000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzE3LTgtMS0xLTA_4ab790fd-495a-4fde-bdf1-bd030079cec4"
      unitRef="usd">528000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzE4LTYtMS0xLTA_c2e371f7-e7fd-4ed4-b0a4-691404f26d00"
      unitRef="usd">1596000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzE4LTgtMS0xLTA_ec0e59cb-2446-410e-abe8-c6fceef5ccf1"
      unitRef="usd">688000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzIwLTYtMS0xLTA_8241f105-2e87-49ce-a562-6870a87775fb"
      unitRef="usd">-14084000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzIwLTgtMS0xLTA_9efd2d4d-d576-430a-b36e-4f072e841568"
      unitRef="usd">-9711000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzIyLTYtMS0xLTA_2d7cf7ea-596c-4f14-8c9c-3408c670d2a5"
      unitRef="usd">455000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzIyLTgtMS0xLTA_4fd19c63-677f-4117-81ec-814ff8fbd6bd"
      unitRef="usd">403000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzIzLTYtMS0xLTA_156ced16-2eda-4895-a403-25cfac089c3f"
      unitRef="usd">0</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzIzLTgtMS0xLTA_d837d82c-261e-4fd8-8b42-957c230bd986"
      unitRef="usd">300000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzI2LTYtMS0xLTA_f80b3dc9-a1e8-4311-b837-c5bda66420b9"
      unitRef="usd">-455000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzI2LTgtMS0xLTA_ef98572f-8068-4872-8c93-655466cadab8"
      unitRef="usd">-103000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzI4LTYtMS0xLTA_68d91bfd-a7d3-4121-aa44-d4c0248702f2"
      unitRef="usd">13000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzI4LTgtMS0xLTA_748d45cf-de48-40ed-9f85-2112da12b83b"
      unitRef="usd">4000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockPlans
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzI5LTYtMS0xLTE2Mw_7a8dae1e-c7a4-4b7f-b246-d271c3eb00ae"
      unitRef="usd">142000</us-gaap:ProceedsFromStockPlans>
    <us-gaap:ProceedsFromStockPlans
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzI5LTgtMS0xLTE1OQ_3c525bd4-0f94-444d-9135-87e7c3051526"
      unitRef="usd">0</us-gaap:ProceedsFromStockPlans>
    <us-gaap:ProceedsFromWarrantExercises
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzMwLTYtMS0xLTE2Mw_79366000-65f4-4298-abb4-2af38f77281a"
      unitRef="usd">18000</us-gaap:ProceedsFromWarrantExercises>
    <us-gaap:ProceedsFromWarrantExercises
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzMwLTgtMS0xLTE1OQ_7138ad5e-b575-4c98-8cf0-a4554e1ca3ef"
      unitRef="usd">0</us-gaap:ProceedsFromWarrantExercises>
    <us-gaap:RepaymentsOfLongTermCapitalLeaseObligations
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzI5LTYtMS0xLTA_d3aa1031-5205-4c59-8257-61b1f5d4ddb9"
      unitRef="usd">249000</us-gaap:RepaymentsOfLongTermCapitalLeaseObligations>
    <us-gaap:RepaymentsOfLongTermCapitalLeaseObligations
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzI5LTgtMS0xLTA_733b0fba-d5a6-47d7-923e-fdaeecb61a4e"
      unitRef="usd">138000</us-gaap:RepaymentsOfLongTermCapitalLeaseObligations>
    <exdx:CoronavirusAidReliefAndEconomicSecuritiesCARESActProceedsFromLoan
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzMzLTYtMS0xLTE3MQ_b87bcd42-503b-4203-a6ad-a6184cb57f15"
      unitRef="usd">2865000</exdx:CoronavirusAidReliefAndEconomicSecuritiesCARESActProceedsFromLoan>
    <exdx:CoronavirusAidReliefAndEconomicSecuritiesCARESActProceedsFromLoan
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzMzLTgtMS0xLTE2Nw_72f6b3a2-6d52-45ab-afdc-1953633eda7b"
      unitRef="usd">0</exdx:CoronavirusAidReliefAndEconomicSecuritiesCARESActProceedsFromLoan>
    <exdx:CoronavirusAidReliefAndEconomicSecuritiesCARESActRepaymentsOfLoan
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzM0LTYtMS0xLTE3MQ_3e25f041-8ffc-43e9-9963-7c826ad6c8d5"
      unitRef="usd">2865000</exdx:CoronavirusAidReliefAndEconomicSecuritiesCARESActRepaymentsOfLoan>
    <exdx:CoronavirusAidReliefAndEconomicSecuritiesCARESActRepaymentsOfLoan
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzM0LTgtMS0xLTE2Nw_3655a537-9776-4be9-bd6c-396668ec9c2c"
      unitRef="usd">0</exdx:CoronavirusAidReliefAndEconomicSecuritiesCARESActRepaymentsOfLoan>
    <us-gaap:ProceedsFromIssuanceInitialPublicOffering
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzMxLTYtMS0xLTA_d6a8f464-c015-4bd9-8224-9b7d5bc35682"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceInitialPublicOffering>
    <us-gaap:ProceedsFromIssuanceInitialPublicOffering
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzMxLTgtMS0xLTA_fdf03ebb-8d32-4a94-a3cf-e063deaf0660"
      unitRef="usd">50444000</us-gaap:ProceedsFromIssuanceInitialPublicOffering>
    <exdx:ProceedsFromIssuanceOrSaleOfTemporaryEquity
      contextRef="i79849924192d4855a9bbf663964883f8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzMzLTYtMS0xLTA_47237215-49ca-4059-874d-61f91b3e5add"
      unitRef="usd">0</exdx:ProceedsFromIssuanceOrSaleOfTemporaryEquity>
    <exdx:ProceedsFromIssuanceOrSaleOfTemporaryEquity
      contextRef="i7b1f74c554494d0aa167b4a49c8d556e_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzMzLTgtMS0xLTA_1b8b5334-3c50-4fd4-bb7f-68977eb1f33b"
      unitRef="usd">7742000</exdx:ProceedsFromIssuanceOrSaleOfTemporaryEquity>
    <exdx:ProceedsFromIssuanceOrSaleOfTemporaryEquity
      contextRef="i58bbeeeb7ca04910aa09ec0626a71e3f_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzM0LTYtMS0xLTA_807defa2-56da-4c67-b6c6-621aaf783a06"
      unitRef="usd">0</exdx:ProceedsFromIssuanceOrSaleOfTemporaryEquity>
    <exdx:ProceedsFromIssuanceOrSaleOfTemporaryEquity
      contextRef="i0d13881d6e83434597f3a5e81badbe4e_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzM0LTgtMS0xLTA_af94cf32-f49a-4e41-98ef-4d784b29431f"
      unitRef="usd">10682000</exdx:ProceedsFromIssuanceOrSaleOfTemporaryEquity>
    <us-gaap:PaymentOfFinancingAndStockIssuanceCosts
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzM1LTYtMS0xLTA_047adf37-f4f4-40a0-b6cd-e1eece6f4868"
      unitRef="usd">21000</us-gaap:PaymentOfFinancingAndStockIssuanceCosts>
    <us-gaap:PaymentOfFinancingAndStockIssuanceCosts
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzM1LTgtMS0xLTA_801fc878-064a-49b2-8668-feceaff429b6"
      unitRef="usd">0</us-gaap:PaymentOfFinancingAndStockIssuanceCosts>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzM2LTYtMS0xLTA_5dbd50e2-87d0-49da-8bda-8f055d01008b"
      unitRef="usd">-97000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzM2LTgtMS0xLTA_c0985424-f20c-4b1b-a8d6-5c47ad0d6e05"
      unitRef="usd">68734000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzM3LTYtMS0xLTA_b5a6f063-5c48-4504-92b0-0ba6e64d8844"
      unitRef="usd">-14636000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzM3LTgtMS0xLTA_72fa05a7-afbc-4432-984f-6d8c06a1cc15"
      unitRef="usd">58920000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzM4LTYtMS0xLTA_0554a641-94c0-48da-b3e9-f5878bac6d1b"
      unitRef="usd">72184000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ibdd8f716641546a99b2b0acc6ea44d50_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzM4LTgtMS0xLTA_9ec18dde-fa8b-4124-890c-c2d4a42b2bed"
      unitRef="usd">13264000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzM5LTYtMS0xLTA_d587f621-a239-43bb-80ae-ae58755e5581"
      unitRef="usd">57548000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzM5LTgtMS0xLTA_cea1ab2d-d93d-4765-9893-ff7ef0bf4bad"
      unitRef="usd">72184000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzQxLTYtMS0xLTA_7858ab3c-8ad8-417c-8d14-274d1718268d"
      unitRef="usd">1758000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzQxLTgtMS0xLTA_ec7871c2-c7ee-4d0e-b8d5-46f272fa71c6"
      unitRef="usd">2288000</us-gaap:InterestPaidNet>
    <us-gaap:TemporaryEquityAccretionToRedemptionValue
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzQzLTYtMS0xLTA_ae05c099-bd68-4d7b-a3de-f1b6c6fba137"
      unitRef="usd">0</us-gaap:TemporaryEquityAccretionToRedemptionValue>
    <us-gaap:TemporaryEquityAccretionToRedemptionValue
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzQzLTgtMS0xLTA_fb8ebeab-6518-412e-9812-da6e23467c67"
      unitRef="usd">4640000</us-gaap:TemporaryEquityAccretionToRedemptionValue>
    <exdx:EquipmentPurchasedUnderCapitalLease
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzQ0LTYtMS0xLTA_2a75bd17-72ed-4d23-93dd-98acf1c444ee"
      unitRef="usd">260000</exdx:EquipmentPurchasedUnderCapitalLease>
    <exdx:EquipmentPurchasedUnderCapitalLease
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzQ0LTgtMS0xLTA_b8342b7e-5df2-48a5-b629-30e9f6ea0e07"
      unitRef="usd">654000</exdx:EquipmentPurchasedUnderCapitalLease>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzQ2LTYtMS0xLTA_00606cc5-4a13-4a53-95aa-c0cb3384b767"
      unitRef="usd">553000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzQ2LTgtMS0xLTA_eb0a4927-fa96-45ec-b181-b2246212cdbd"
      unitRef="usd">0</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:ConversionOfStockAmountConverted1
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzQ3LTYtMS0xLTA_320eda23-4d80-4354-a263-8df93880a140"
      unitRef="usd">0</us-gaap:ConversionOfStockAmountConverted1>
    <us-gaap:ConversionOfStockAmountConverted1
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzQ3LTgtMS0xLTA_3d866601-3a30-4314-a9a7-2ae6a60ce323"
      unitRef="usd">138906000</us-gaap:ConversionOfStockAmountConverted1>
    <exdx:NoncashExerciseOfStockPurchaseWarrants
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzQ4LTYtMS0xLTA_32087ccc-c63a-41c2-91b1-1b84b0e908e9"
      unitRef="usd">0</exdx:NoncashExerciseOfStockPurchaseWarrants>
    <exdx:NoncashExerciseOfStockPurchaseWarrants
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzQ4LTgtMS0xLTA_26343829-cde3-40d4-af53-6b62dcd54ebb"
      unitRef="usd">511000</exdx:NoncashExerciseOfStockPurchaseWarrants>
    <exdx:DeferredOfferingCostsIncludedWithinCurrentLiabilities
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzQ5LTYtMS0xLTA_e203bf8d-4fa3-4844-b6e8-e983c9779fe2"
      unitRef="usd">40000</exdx:DeferredOfferingCostsIncludedWithinCurrentLiabilities>
    <exdx:DeferredOfferingCostsIncludedWithinCurrentLiabilities
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzQ5LTgtMS0xLTA_cea6ebde-9ea2-44fe-aa3c-2a594c47d8c1"
      unitRef="usd">0</exdx:DeferredOfferingCostsIncludedWithinCurrentLiabilities>
    <exdx:ReclassificationOfTemporaryEquityAndLiabilitiesToPermanentEquity
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzUwLTYtMS0xLTA_49480aac-3f35-4e51-81ad-5f1fde831dec"
      unitRef="usd">0</exdx:ReclassificationOfTemporaryEquityAndLiabilitiesToPermanentEquity>
    <exdx:ReclassificationOfTemporaryEquityAndLiabilitiesToPermanentEquity
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzUwLTgtMS0xLTA_5da337a1-ea36-4775-a18b-99aca4cab77c"
      unitRef="usd">726000</exdx:ReclassificationOfTemporaryEquityAndLiabilitiesToPermanentEquity>
    <exdx:TemporaryEquityDeemedDividendsWithBeneficialConversionFeature
      contextRef="i58bbeeeb7ca04910aa09ec0626a71e3f_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzUxLTYtMS0xLTA_c9f58ab3-9269-4f99-9085-9739d7618c7b"
      unitRef="usd">0</exdx:TemporaryEquityDeemedDividendsWithBeneficialConversionFeature>
    <exdx:TemporaryEquityDeemedDividendsWithBeneficialConversionFeature
      contextRef="i0d13881d6e83434597f3a5e81badbe4e_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzUxLTgtMS0xLTA_5f620cbc-4ba9-4e34-81ee-4f12f85bf8d9"
      unitRef="usd">6741000</exdx:TemporaryEquityDeemedDividendsWithBeneficialConversionFeature>
    <us-gaap:TemporaryEquityAccretionOfDividends
      contextRef="i79849924192d4855a9bbf663964883f8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzUyLTYtMS0xLTA_0d924560-2b7e-407f-b206-81e54d94d7d4"
      unitRef="usd">0</us-gaap:TemporaryEquityAccretionOfDividends>
    <us-gaap:TemporaryEquityAccretionOfDividends
      contextRef="i7b1f74c554494d0aa167b4a49c8d556e_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzUyLTgtMS0xLTA_88957708-a2e5-4665-8be4-c659472fb27f"
      unitRef="usd">6860000</us-gaap:TemporaryEquityAccretionOfDividends>
    <exdx:ConversionOfTemporaryEquityAmountConverted
      contextRef="i79849924192d4855a9bbf663964883f8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzUzLTYtMS0xLTA_b195f0c1-1e4b-444c-8962-a027493b6274"
      unitRef="usd">0</exdx:ConversionOfTemporaryEquityAmountConverted>
    <exdx:ConversionOfTemporaryEquityAmountConverted
      contextRef="i7b1f74c554494d0aa167b4a49c8d556e_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTIvZnJhZzozNWYzZmVmNjU1MzE0YWZhYmU1ODdkOTkxZjA1YTMyOS90YWJsZTo2NmJjNWE4YTUxMmE0YTdhYTE1YTA2MDVmZGFhYTEwOC90YWJsZXJhbmdlOjY2YmM1YThhNTEyYTRhN2FhMTVhMDYwNWZkYWFhMTA4XzUzLTgtMS0xLTA_ab81e2bb-0184-4c76-a908-caa64a5e1cc7"
      unitRef="usd">11875000</exdx:ConversionOfTemporaryEquityAmountConverted>
    <us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTgvZnJhZzo1YmUwM2ZjNDRhODY0ZjBjODYzZTA4NTM0ZjM4NTg2Yy90ZXh0cmVnaW9uOjViZTAzZmM0NGE4NjRmMGM4NjNlMDg1MzRmMzg1ODZjXzQwMTU_f93de78d-3cc0-47a8-93db-d4f9e1f20771">Organization&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Description of Business&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company is dedicated to transforming the care continuum for patients suffering from debilitating and chronic autoimmune diseases by enabling timely differential diagnosis and optimizing therapeutic intervention.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Liquidity&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has incurred recurring losses and negative cash flows from operating activities since inception. The Company anticipates that it will continue to incur net losses into the foreseeable future. At December&#160;31, 2020, the Company had cash and cash equivalents of $57.4 million and had an accumulated deficit of $181.3 million. Since inception, the Company has financed its operations primarily through private placements of preferred securities, the sale of common stock through its initial public offering (IPO) and debt financing arrangements. Based on the Company's current business plan, management believes that its existing capital resources will be sufficient to fund the Company's obligations for at least twelve months following the issuance of these financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;To execute its business plans, the Company may need additional funding to support its continuing operations and pursue its growth strategy. Until such time as the Company can achieve significant cash flows from operations, if ever, it expects to finance its operations through the sale of its stock, debt financings or other strategic transactions. Although the Company has been successful in raising capital in the past, there is no assurance that it will be successful in obtaining such additional financing on terms acceptable to the Company, if at all. The terms of any financing may adversely affect the holdings or the rights of the Company's stockholders. If the Company is unable to obtain funding, the Company could be forced to delay, reduce or eliminate some or all of its programs, product portfolio expansion plans or commercialization efforts, which could have a material adverse effect on the Company's business, operating results and financial condition and the Company's ability to achieve its intended business objectives.&lt;/span&gt;&lt;/div&gt;</us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTgvZnJhZzo1YmUwM2ZjNDRhODY0ZjBjODYzZTA4NTM0ZjM4NTg2Yy90ZXh0cmVnaW9uOjViZTAzZmM0NGE4NjRmMGM4NjNlMDg1MzRmMzg1ODZjXzI0ODM_58b599c0-d0f5-4970-8418-72b616c966f9"
      unitRef="usd">57400000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMTgvZnJhZzo1YmUwM2ZjNDRhODY0ZjBjODYzZTA4NTM0ZjM4NTg2Yy90ZXh0cmVnaW9uOjViZTAzZmM0NGE4NjRmMGM4NjNlMDg1MzRmMzg1ODZjXzI1MjA_6879f0c1-cf85-4ac7-a2a7-61e934f5b7b3"
      unitRef="usd">-181300000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI2MjAw_447dfdd8-bae9-4ec9-94ac-f86e7eaf8dab">Summary of Significant Accounting Policies&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Basis of Presentation and Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's financial statements are prepared in accordance with accounting principles generally accepted in the United States of America (GAAP). The preparation of the accompanying financial statements requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities as of the date of the financial statements, and the reported amounts of revenue and expenses during the reporting period. Actual results could materially differ from those estimates.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Significant estimates and assumptions made in the accompanying financial statements include, but are not limited to revenue recognition, the fair value of financial instruments measured at fair value, the recoverability of its long-lived assets (including goodwill), net deferred tax assets (and related valuation allowance), and for periods prior to the IPO, the fair value of the Company's common stock and redeemable convertible preferred stock. The Company evaluates its estimates and assumptions on an ongoing basis using historical experience and other factors and adjusts those estimates and assumptions when facts and circumstances dictate. Actual results could materially differ from those estimates.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Concentration of Credit Risk and Other Risk and Uncertainties&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Financial instruments that potentially subject the Company to credit risk consist principally of cash, cash equivalents, and accounts receivable. Substantially all the Company's cash and cash equivalents are held at one financial institution that management believes is of high credit quality. Such deposits may, at times, exceed federally insured limits.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Significant payors and customers are those which represent more than 10% of the Company's total revenue or accounts receivable balance at each respective balance sheet date. For each significant payor and customers, revenue as a percentage of total revenue and accounts receivable as a percentage of total accounts receivable are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:75.508%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.864%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.868%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="12" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Revenue&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Medicare&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Janssen (SIMPONI&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;*&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Blue Shield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Medicare Advantage&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United Healthcare&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.847%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:3.724%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:90.129%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:8pt"&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Less than 10%.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.391%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.499%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Accounts Receivable&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Janssen (SIMPONI&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Blue Shield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United Healthcare&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.847%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:3.724%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:90.129%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:8pt"&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Less than 10%.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the years ended December&#160;31, 2020 and 2019, approximately 70% and 82% of the Company's revenue was related to the AVISE&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; CTD test, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company is dependent on key suppliers for certain laboratory materials. For each of the years ended December&#160;31, 2020 and 2019, approximately 97% of the Company's diagnostic testing supplies were purchased from two suppliers. An interruption in the supply of these materials would impact the Company's ability to perform testing services.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Disaggregation of Revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table includes the Company's revenues as disaggregated by payor and customer category (in&#160;thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.707%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.765%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.768%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Revenue:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Healthcare insurers&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;22,456&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;23,984&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Government&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;8,446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;9,896&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Client(1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;5,109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;4,392&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Other(2)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;836&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;639&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Janssen (SIMPONI&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:5.2pt;font-weight:400;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;5,128&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,476&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;41,975&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;40,387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="padding-left:31.5pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%;padding-left:8.24pt"&gt;Includes hospitals, other laboratories, etc.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:31.5pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;(2)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%;padding-left:8.24pt"&gt;Includes patient self-pay that is immaterial&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Fair Value Measurements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying value of the Company's cash and cash equivalents approximate fair value due to the short-term nature of these items. Based on the borrowing rates currently available to the Company for debt with similar terms and consideration of default and credit risk, the carrying value of the Company's long-term borrowings approximates its fair value, which is considered a Level&#160;2 input.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fair value is defined as the exchange price that would be received for an asset or an exit price paid to transfer a liability in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value hierarchy defines a three-level valuation hierarchy for disclosure of fair value measurements as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:94.5pt;text-indent:-72pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level 1 -&#160;&#160;&#160;&#160;Unadjusted quoted prices in active markets for identical assets or liabilities;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:94.5pt;text-indent:-72pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level 2 -&#160;&#160;&#160;&#160;Inputs other than quoted prices included within Level I that are observable, unadjusted quoted prices in markets that are not active, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the related assets or liabilities; and&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:94.5pt;text-indent:-72pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level 3 -&#160;&#160;&#160;&#160;Unobservable inputs that are supported by little or no market activity for the related assets or liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The categorization of a financial instrument within the valuation hierarchy is based upon the lowest level of input that is significant to the fair value measurement.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Prior to the IPO, the Company's redeemable convertible preferred stock warrant liabilities were measured at fair value on a recurring basis and were classified as Level&#160;3 liabilities. The Company recorded subsequent adjustments to reflect the increase or decrease in estimated fair value at each reporting date in current period earnings.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cash, Cash Equivalents and Restricted Cash&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company considers all highly-liquid investments purchased with a remaining maturity date upon acquisition of three months or less to be cash equivalents and are stated at cost, which approximates fair value.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In 2016, the Company entered into an arrangement with a financial institution with which it has an existing banking relationship whereby in exchange for the issuance of corporate credit cards, the Company agreed to obtain a $0.1 million certificate of deposit with this financial institution as collateral for the balances borrowed on these credit cards. The Company has classified the value of this certificate of deposit (including all interest earned thereon) within other assets in the accompanying balance sheets. The Company has the right to terminate the credit card program at any time. Upon termination of the credit card program and repayment of all outstanding balances owed, the Company may redeem the certificate of deposit (and all interest earned thereon).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash, cash equivalents and restricted cash presented in the accompanying statements of cash flows consist of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.999%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:12pt"&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:12pt"&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,084&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted cash&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,548&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,184&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:15pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Property and Equipment&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment are stated at cost, net of depreciation and amortization. Depreciation is computed using the straight-line method over the estimated useful lives of the assets, generally between &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI3NDg3NzkxMDgyNDg_5d33f4a2-8289-402f-bda6-723da8e7978f"&gt;three&lt;/span&gt; and five years. Leasehold improvements are amortized on a straight-line basis over the lesser of the estimated useful life or the remaining term of the related lease. Maintenance and repairs are charged to expense as incurred, and improvements and betterments are capitalized. When assets are retired or otherwise disposed of, the cost and &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;accumulated depreciation are removed from the balance sheet and any resulting gain or loss is reflected in other income or expense in the statements of operations in the period realized. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Long-lived Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s long-lived assets are comprised principally of its property and equipment, finite lived intangible assets, and goodwill. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;If the Company identifies a change in the circumstances related to its long-lived assets, such as property and equipment and intangible assets (other than goodwill), that indicates the carrying value of any such asset may not be recoverable, the Company will perform an impairment analysis. A long-lived asset (other than goodwill) is deemed to be impaired when the undiscounted cash flows expected to be generated by the asset (or asset group) are less than the asset&#x2019;s carrying amount. Any required impairment loss would be measured as the amount by which the asset&#x2019;s carrying value exceeds its fair value, and would be recorded as a reduction in the carrying value of the related asset and a charge to operating expense. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill is reviewed for impairment annually (during the fourth quarter) or more frequently if indicators of impairment exist. As the Company operates in a single operating segment and reporting unit, the Company first assesses qualitative factors to determine whether it is more likely than not that the fair value of the reporting unit is less than its carrying amount as a basis for determining whether it is necessary to perform a quantitative assessment. If, after assessing qualitative factors, the Company determines it is not more likely than not that the fair value of a reporting unit is less than its carrying amount, then performing a quantitative assessment is unnecessary. If deemed necessary, a quantitative assessment compares the fair value of the reporting unit with its carrying amount, including goodwill. If the fair value of the reporting unit exceeds its carrying amount, goodwill is not considered impaired; otherwise, an impairment loss is recorded. There was no indication of impairment of goodwill for any periods presented.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Clinical Studies&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;From time to time, the Company engages in efforts to scientifically measure and document the application and efficacy of its various testing products. These arrangements typically require the Company to pay a fee to a third-party scientific investigator (usually a physician or research institution) for each subject enrolled in a clinical study, and the Company accrues expenses associated with these efforts as subjects are enrolled in each study. Expenses associated with clinical study activities are recorded in research and development expenses in the accompanying statement of operations. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Redeemable Convertible Preferred Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Prior to the completion of the IPO, the Company had multiple classes of redeemable convertible preferred stock, all of which were classified as temporary equity in the accompanying balance sheet as the redemption of the shares were outside of the Company's control. Redeemable convertible preferred stock which was redeemable on or after a certain date at the option of the holder was accreted to its redemption value from the date of issuance to the earliest redemption date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In connection with the completion of the IPO in September 2019, all outstanding shares of redeemable convertible preferred stock were automatically converted into an aggregate of 7,816,643 shares of common stock, excluding warrant conversions. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Redeemable Convertible Preferred Stock Warrants&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Prior to the completion of the IPO, the Company accounted for its redeemable convertible preferred stock warrants as liabilities based upon the characteristics and provisions of each instrument. The redeemable convertible preferred stock warrants were recorded at their fair value on the date of issuance and were revalued on each subsequent balance sheet date, with fair value changes recognized as increases or reductions in the statements of operations. Upon the completion of the IPO, all remaining outstanding warrants to purchase shares of redeemable convertible preferred stock were automatically converted into warrants to purchase shares of common stock. As such, the warrants no longer require liability accounting and the then fair value of the warrant liability was reclassified into stockholders&#x2019; equity.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company performed the final remeasurement of the warrant liabilities as of the IPO closing date. See Note 7 for the amounts associated with the fair value measurements and Note 8 for further discussion on the remaining warrants.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Substantially all of the Company's revenue has been derived from sales of its testing products and is primarily comprised of a high volume of relatively low-dollar transactions. The Company primarily markets its testing products to rheumatologists and their physician assistants in the United States. The healthcare professionals who order the Company's testing products and to whom test results are reported are generally not responsible for payment for these products. The parties that pay for these services (the Payors) consist of healthcare insurers, government payors (primarily Medicare and Medicaid), client payors (i.e., hospitals, other laboratories, etc.), and patient self-pay. The Company's service is a single performance obligation that is completed upon the delivery of test results to the prescribing physician which triggers revenue recognition.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Payors are billed at the Company's list price. Net revenues recognized consist of amounts billed net of allowances for differences between amounts billed and the estimated consideration the Company expects to receive from such payors. The process for estimating revenues and the ultimate collection of accounts receivable involves significant judgment and estimation. The Company follows a standard process, which considers historical denial and collection experience, insurance reimbursement policies and other factors, to estimate allowances and implicit price concessions, recording adjustments in the current period as changes in estimates occur. Further adjustments to the allowances, based on actual receipts, is recorded upon settlement. The transaction price is estimated using an expected value method on a portfolio basis. The Company's portfolios are grouped per payor (i.e. each individual third-party insurance, Medicare, client payors, patient self-pay, etc.) and per test basis.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Collection of the Company's net revenues from payors is normally a function of providing complete and correct billing information to the healthcare insurers and generally occurs within 30 to 90 days of billing. Contracts do not contain significant financing components based on the typical period of time between performance of services and collection of consideration.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Janssen Promotion Agreement&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2018, the Company entered into a co-promotion agreement (the Janssen Agreement) with Janssen Biotech, Inc. (Janssen) to co-promote SIMPONI&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; in the United States. The Company is responsible for the costs associated with its salesforce over the course of such co-promotion. Janssen is responsible for all other aspects of the commercialization of SIMPONI&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; under the Janssen Agreement. In exchange for the Company's sales and co-promotional services, the Company is entitled to a quarterly tiered promotion fee based on the incremental increase in total prescribed units of SIMPONI&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; for that quarter over a predetermined baseline. For the years ended December 31, 2020 and 2019, the tiered promotion fee ranged from $750 to $1,250 per prescription over a predetermined baseline. Due in part to COVID-19, in June 2020, the Janssen Agreement was amended (June Amended Janssen Agreement). In accordance with the June Amended Janssen Agreement, the predetermined average baseline for prescribed units for each remaining quarter in 2020 was adjusted and is subject to further adjustment, and for each of the third and fourth quarters of 2020, the Company received a minimum promotion fee of $0.3&#160;million and the fee was capped at 5% above the adjusted predetermined baseline. In December 2020, the Janssen Agreement amended. The Janssen Agreement, as amended in June 2020 and December 2020 is collectively referred to as the Amended Janssen Agreement. In accordance with the Amended Janssen Agreement, the predetermined average baseline for prescribed units for the quarters ending December 31, 2020, March 31, 2021 and June 30, 2021, was adjusted to approximately 28,750 prescribed units per quarter, subject to adjustment under certain circumstances. For the first and second quarters of 2021, the Company will be entitled to an amended tiered promotion fee ranging from $500 to $1,000 per prescription based on the incremental increase in total prescribed units. Pursuant to the Amended Janssen Agreement, for the first and second quarters of 2021, the Company will receive a minimum promotion fee of $0.3&#160;million and the fee will be capped at 10% above the adjusted predetermined baseline. The Company continued to receive a minimum promotion fee of $0.3&#160;million and the fee was capped at 5% above the adjusted predetermined baseline for the quarter ended December 31, 2020. The quarterly tiered promotion fee for the remaining term of the Janssen Promotion Agreement beginning with the quarter ended September 30, 2021 will revert to the terms set forth in the Janssen Agreement prior to amendment, with no minimum promotion fee and no cap on predetermined baseline units. In addition, during the term of the Janssen Agreement, the Company is restricted from promoting any other biologic or Janus kinase inhibitor, or JAK inhibitor, used for treatment of indications covered by the agreement without first obtaining Janssen's written consent. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Janssen Agreement expires on December 31, 2021, unless extended by the Company for an additional 12 months upon 180 days written notice prior to the end of the current term. If the Company elects to extend the term, the predetermined baseline for 2022 will be subject to future agreement by the Company and Janssen. Janssen may terminate the Amended Janssen Agreement at any time for any reason upon 30 days' notice to the Company, and the Company may terminate the Amended Janssen Agreement for any reason at the end of any calendar quarter upon 30 days' notice to Janssen. Either party may terminate the Amended Janssen Agreement in the event of the other party's default of any of its material obligations under the agreement if such default remains uncured for a specified period of time following receipt of written notice of such default.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's obligations relating to sales and co-promotion services for SIMPONI&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; is a series of single performance obligations since Janssen simultaneously receives and consumes benefits provided by the Company's sales and co-promotional services. The method for measuring progress towards satisfying the performance obligations is based on prescribed units in excess of the contractual baseline at the contractual rate earned per unit since the agreement is cancelable. The Company recognized co-promotion revenue of approximately $5.1 million and $1.5 million during the years ended December&#160;31, 2020 and 2019, respectively. The related expenses for marketing SIMPONI&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; are included in selling, general and administrative expenses and are expensed as incurred.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Research and Development&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Costs associated with research and development activities are expensed as incurred and include, but are not limited to, personnel-related expenses, including stock-based compensation expense, materials, laboratory supplies, consulting costs, costs associated with setting up and conducting clinical studies and allocated overhead including rent and utilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Advertising and Marketing Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Costs associated with advertising and marketing activities are expensed as incurred. Total advertising and marketing costs were approximately $1.3 million and $1.6 million for the years ended December&#160;31, 2020 and 2019, respectively, and are included in selling, general and administrative expenses in the accompanying statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Shipping and Handling Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Costs incurred for shipping and handling are included in costs of revenue in the accompanying statements of operations and totaled approximately $1.4 million for each of the years ended December&#160;31, 2020 and 2019.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognizes compensation expense for all stock-based awards to employees and directors based on the grant-date estimated fair values over the requisite service period of the awards (usually the vesting period) on a straight-line basis. The fair value of stock options and purchases under the employee stock purchase plan (ESPP) rights is determined using the Black-Scholes-Merton (BSM) option pricing model, which requires management to make certain assumptions regarding a number of complex and subjective variables. Equity award forfeitures are recorded as they occur.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The BSM option pricing model incorporates various estimates, including the fair value of the Company's common stock, expected volatility, expected term and risk-free interest rates. The weighted-average expected term of options was calculated using the simplified method. This decision was based on the lack of relevant historical data due to the Company's limited historical experience. In addition, due to the Company's limited historical data, the estimated volatility incorporates the historical volatility over the expected term of the award of comparable companies whose share prices are publicly available. The risk-free interest rate for periods within the contractual term of the option is based on the U.S. Treasury yield in effect at the time of grant. The dividend yield was zero, as the Company has never declared or paid dividends and has no plans to do so in the foreseeable future.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Upon the effective date of the IPO, the Company began using the closing price of its common stock as the fair value of its common stock on the corresponding date. Prior to the completion of the IPO in September 2019, due to the absence of a public market for the Company's common stock, it was necessary to estimate the fair value of the common stock underlying the Company's stock-based awards when performing fair value calculations using the BSM option pricing model. The fair value of the common stock underlying the Company's stock-based awards was assessed on each grant date by the Company's board of directors (Board of Directors). &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Comprehensive Loss&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Comprehensive loss is defined as a change in equity of a business enterprise during a period, resulting from transactions from nonowner sources. There have been no items qualifying as other comprehensive loss and, therefore, for all periods presented, the Company's comprehensive loss was the same as its reported net loss.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Income Taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company accounts for income taxes under the asset and liability method, which requires the recognition of deferred tax assets and liabilities for the expected future tax consequences of events that have been included in the financial statements. Under this method, deferred tax assets and liabilities are determined on the basis of the differences between the financial statements and tax basis of assets and liabilities using enacted tax rates in effect for the year in which the differences are expected to reverse. The effect of a change in tax rates on deferred tax assets and liabilities is recognized in income in the period that includes the enactment date. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognizes net deferred tax assets to the extent that the Company believes these assets are more likely than not to be realized. In making such a determination, management considers all available positive and negative evidence, including future reversals of existing taxable temporary differences, projected future taxable income, tax-planning strategies, and results of recent operations. If management determines that the Company would be able to realize its deferred tax assets in the future in excess of their net recorded amount, management would adjust the deferred tax asset valuation allowance, which would reduce the provision for income taxes. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company records uncertain tax positions on the basis of a two-step process whereby (i) management determines whether it is more likely than not that the tax positions will be sustained on the basis of the technical merits of the position and (ii) for those tax positions that meet the more-likely-than-not recognition threshold, management recognizes the largest amount of tax benefit that is more than 50% likely to be realized upon ultimate settlement with the related tax authority. The Company recognizes interest and penalties related to unrecognized tax benefits within income tax expense. Any accrued interest and penalties are included within the related tax liability.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Net Loss Per Share&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic net loss per share attributable to common stockholders is calculated by dividing the net loss attributable to common stockholders by the weighted-average number of common shares outstanding during the period. Diluted net loss per share attributable to common stockholders is computed by dividing the net loss attributable to common stockholders by the weighted-average number of common stock equivalents outstanding for the period determined using the treasury-stock and if-converted methods. Potentially dilutive common stock equivalents are comprised of redeemable convertible preferred stock, warrants for the purchase of redeemable convertible preferred and common stock, options outstanding under the Company's stock option plans and shares of the Company's common stock pursuant to Employee Stock Purchase Plan. For the years ended December&#160;31, 2020 and 2019, there is no difference in the number of shares used to calculate basic and diluted shares outstanding as the inclusion of the potentially dilutive securities would be antidilutive.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Potentially dilutive securities not included in the calculation of diluted net loss per share because to do so would be anti-dilutive are as follows (in common stock equivalent shares):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.905%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.666%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.669%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Warrants to purchase common stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;426,827&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;461,273&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Common stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,975,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,375,542&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Employee stock purchase plan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;11,640&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2,414,228&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,836,815&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Government Assistance Grant Income&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Government assistance grants which are unconditional when received and intended to compensate for expenses incurred or replace lost revenue are recognized when those expenses are incurred or during the period that lost revenue is experienced, and are included in other income, net in the accompanying statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Segment Reporting&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating segments are identified as components of an enterprise about which separate discrete financial information is available for evaluation by the chief operating decision-maker in making decisions regarding resource allocation and assessing performance. The Company views its operations as, and manages its business in, one operating segment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recent Accounting Pronouncements Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;From time to time, new accounting pronouncements are issued by the Financial Accounting Standards Board (FASB), or other standard setting bodies and adopted by the Company as of the specified effective date. Under the Jumpstart Our Business Startups Act of 2012 (JOBS Act), the Company meets the definition of an emerging growth company. The Company has elected to use the extended transition period for complying with new or revised accounting standards pursuant to Section 107(b) of the JOBS Act. Unless otherwise discussed, the impact of recently issued standards that are not yet effective will not have a material impact on the Company's financial position or results of operations upon adoption.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In February 2016, the FASB issued Accounting Standards Update (ASU) 2016-02,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;&#160;Leases&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(Topic 842). The new topic supersedes Topic 840,&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Leases&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, and increases transparency and comparability among organizations by recognizing lease assets and lease liabilities on the balance sheet and requires disclosures of key information about leasing arrangements. In July 2018, the FASB issued ASU 2018-10, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Codification Improvements to Topic 842&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, which provides narrow amendments to clarify how to apply certain aspects of the new lease standard, and ASU 2018-11, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Leases: Targeted Improvements&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, which was issued to provide relief to companies from restating comparative periods. Pursuant to this ASU, in the period of adoption the Company will not restate comparative periods presented in its financial statements. The effective date of this guidance for public companies is for reporting periods beginning after December&#160;15, 2018. In June 2020, the FASB issued ASU 2020-05, which delays the adoption of ASU 2016-02 for non-public entities to fiscal years beginning after December 15, 2021, and interim periods beginning after December 15, 2022. As an emerging growth company as defined in the JOBS Act, the Company has elected to delay adoption of this ASU until January 1, 2022. Topic 842 mandates a modified retrospective transition method. The Company intends to adopt the new lease standard using a cumulative effect to accumulated deficit and will elect the package of practical expedients, which among other things will allow the Company to carry forward its historical lease classification. The Company is currently evaluating the impact of Topic 842 on its financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2019, the FASB issued ASU 2019-12, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Simplifying the Accounting for Income Taxes&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;. The new guidance removes certain exceptions to the general principles of ASC 740 in order to simplify the complexities of its application. These changes include eliminations to the exceptions for intraperiod tax allocation, recognizing deferred tax liabilities related to outside basis differences, and year-to-date losses in interim periods, among others. The effective date of this guidance for public companies is for fiscal years, and interim period within those fiscal years, beginning after December 15, 2020. The Company does not anticipate the adoption will have a material impact on its financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recently Adopted Accounting Standards&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In August 2018, the FASB issued ASU No.&#160;2018-13, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Fair Value Measurement: Disclosure Framework-Changes to the Disclosure Requirements for Fair Value Measurement&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, which adds and modifies certain disclosure requirements for fair value measurements. Under the new guidance, entities will no longer be required to disclose the amount of and reasons for transfers between Level&#160;1 and Level&#160;2 of the fair value hierarchy, or valuation processes for Level&#160;3 fair value measurements. However, public companies will be required to disclose the range and weighted average of significant unobservable inputs used to develop Level&#160;3 fair value measurements, and related changes in unrealized gains and losses included in other comprehensive income. The narrative description of measurement uncertainty should be applied prospectively for only the most recent interim or annual period presented in the initial fiscal year of adoption. This update is effective for annual periods beginning after December&#160;15, 2019, and interim periods within those periods, and early adoption is permitted. The Company adopted this guidance on January 1, 2020, and the adoption did not have a material impact on its financial statements.&lt;/span&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:ConcentrationRiskCreditRisk
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI2MjAx_01b44d5e-32ac-499f-909b-1cf9214e4481">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Concentration of Credit Risk and Other Risk and Uncertainties&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Financial instruments that potentially subject the Company to credit risk consist principally of cash, cash equivalents, and accounts receivable. Substantially all the Company's cash and cash equivalents are held at one financial institution that management believes is of high credit quality. Such deposits may, at times, exceed federally insured limits.&lt;/span&gt;&lt;/div&gt;</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI2MjEw_d952876c-b8b7-4bb4-ad10-087a353ee92a">For each significant payor and customers, revenue as a percentage of total revenue and accounts receivable as a percentage of total accounts receivable are as follows:&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:75.508%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.864%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.868%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="12" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Revenue&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Medicare&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Janssen (SIMPONI&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;*&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Blue Shield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Medicare Advantage&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United Healthcare&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.847%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:3.724%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:90.129%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:8pt"&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Less than 10%.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.391%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.499%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Accounts Receivable&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Janssen (SIMPONI&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Blue Shield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United Healthcare&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.847%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:3.724%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:90.129%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:8pt"&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Less than 10%.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i9199af1acdba490286a4ab9fdd0909e0_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToxN2E1M2I3NjdhM2I0ZDQxYmJkZDdhNjZlNGQ4YjM2My90YWJsZXJhbmdlOjE3YTUzYjc2N2EzYjRkNDFiYmRkN2E2NmU0ZDhiMzYzXzMtNi0xLTEtMA_6b85d91b-db94-4899-be63-9d4ed443d945"
      unitRef="number">0.20</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i9563b9ab6fbe4adcbdfbac8e2cf19b22_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToxN2E1M2I3NjdhM2I0ZDQxYmJkZDdhNjZlNGQ4YjM2My90YWJsZXJhbmdlOjE3YTUzYjc2N2EzYjRkNDFiYmRkN2E2NmU0ZDhiMzYzXzMtOC0xLTEtMA_2f2ae038-ac49-4228-9be1-ffa12bac0154"
      unitRef="number">0.25</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="id8c6b3ac4c664091b47227b153e9eb44_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToxN2E1M2I3NjdhM2I0ZDQxYmJkZDdhNjZlNGQ4YjM2My90YWJsZXJhbmdlOjE3YTUzYjc2N2EzYjRkNDFiYmRkN2E2NmU0ZDhiMzYzXzQtNi0xLTEtNDU5Nw_3ced5803-dcac-42b6-9e58-52d8aa9143e9"
      unitRef="number">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="iac265b2ebdbc43e59ef20ea50e78de9f_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToxN2E1M2I3NjdhM2I0ZDQxYmJkZDdhNjZlNGQ4YjM2My90YWJsZXJhbmdlOjE3YTUzYjc2N2EzYjRkNDFiYmRkN2E2NmU0ZDhiMzYzXzQtNi0xLTEtMA_5e60cef5-bb34-4bd6-b66a-e05359e468be"
      unitRef="number">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="idb52827a0d5e4d20bbb2e688d4965f2b_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToxN2E1M2I3NjdhM2I0ZDQxYmJkZDdhNjZlNGQ4YjM2My90YWJsZXJhbmdlOjE3YTUzYjc2N2EzYjRkNDFiYmRkN2E2NmU0ZDhiMzYzXzQtOC0xLTEtMA_5f51a9a7-943c-4c7c-bfe8-7d0e6aa0e652"
      unitRef="number">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="id90ff0582bfa4beb88fa29365bcf05c9_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToxN2E1M2I3NjdhM2I0ZDQxYmJkZDdhNjZlNGQ4YjM2My90YWJsZXJhbmdlOjE3YTUzYjc2N2EzYjRkNDFiYmRkN2E2NmU0ZDhiMzYzXzYtNi0xLTEtNDYwMg_7626cd86-40d8-4ba2-8148-fa4e42d37166"
      unitRef="number">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i075b7f5ce30f4250b3fa7b1319fa76d0_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToxN2E1M2I3NjdhM2I0ZDQxYmJkZDdhNjZlNGQ4YjM2My90YWJsZXJhbmdlOjE3YTUzYjc2N2EzYjRkNDFiYmRkN2E2NmU0ZDhiMzYzXzYtOC0xLTEtNDYwMg_70b39b76-51ec-4772-9976-42bb3b525345"
      unitRef="number">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i7cbc755e54584988a46ac09b03ba0a03_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToxN2E1M2I3NjdhM2I0ZDQxYmJkZDdhNjZlNGQ4YjM2My90YWJsZXJhbmdlOjE3YTUzYjc2N2EzYjRkNDFiYmRkN2E2NmU0ZDhiMzYzXzUtOC0xLTEtMA_f2054647-bc87-41b5-b8be-ab37a54de351"
      unitRef="number">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ia683090804ac4bbea90d92b75159efe3_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZTpmMmY1M2U3NDcxNTA0MTBkYTQ3ZDc3NGU0ODAwZjA2Ni90YWJsZXJhbmdlOmYyZjUzZTc0NzE1MDQxMGRhNDdkNzc0ZTQ4MDBmMDY2XzMtNC0xLTEtMA_c8c04030-ae16-45f4-a127-011adc74a969"
      unitRef="number">0.35</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i031b116f01f44ea5890d77e14040a529_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZTpmMmY1M2U3NDcxNTA0MTBkYTQ3ZDc3NGU0ODAwZjA2Ni90YWJsZXJhbmdlOmYyZjUzZTc0NzE1MDQxMGRhNDdkNzc0ZTQ4MDBmMDY2XzMtNi0xLTEtMA_ec1fc714-b57c-43ab-aff7-a14973888d98"
      unitRef="number">0.19</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i5031346fd2374b0e97451ce84bad8260_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZTpmMmY1M2U3NDcxNTA0MTBkYTQ3ZDc3NGU0ODAwZjA2Ni90YWJsZXJhbmdlOmYyZjUzZTc0NzE1MDQxMGRhNDdkNzc0ZTQ4MDBmMDY2XzQtNC0xLTEtMA_01582b63-6a84-48c7-b0e8-716b3a3ee0df"
      unitRef="number">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="if76b41f869c640688904f2ecf988e33e_D20200101-20200331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZTpmMmY1M2U3NDcxNTA0MTBkYTQ3ZDc3NGU0ODAwZjA2Ni90YWJsZXJhbmdlOmYyZjUzZTc0NzE1MDQxMGRhNDdkNzc0ZTQ4MDBmMDY2XzQtNi0xLTEtMA_853b8bd5-b190-4f63-a75a-c54acbd53bcb"
      unitRef="number">0.15</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ie09521d642ec49dd9f6fb93b6226a986_D20200101-20200331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZTpmMmY1M2U3NDcxNTA0MTBkYTQ3ZDc3NGU0ODAwZjA2Ni90YWJsZXJhbmdlOmYyZjUzZTc0NzE1MDQxMGRhNDdkNzc0ZTQ4MDBmMDY2XzUtNi0xLTEtMA_c2e7ad11-beae-4dac-99c0-195df49026b2"
      unitRef="number">0.22</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="icc34f2aa5b494ba4b697db93d5108663_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzIxNTU_2887f0e9-d7a5-49b9-baf6-d8671f0ea997"
      unitRef="number">0.70</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ie6e601deab964329936be94a4d256bc9_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzE2NDkyNjc0NzYxODI_e4bba5cc-5373-4ddb-8ff5-93cde687156a"
      unitRef="number">0.82</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i15b8ceb139cf4e0d97db9be7ea8aacf7_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzIzNDI_010665e5-564c-4d57-9c26-767827e742d1"
      unitRef="number">0.97</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ifd041b98c6ab476eb80888f8676c3df5_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzIzNDI_61879554-e021-4d6e-b52c-5a8298ae2e16"
      unitRef="number">0.97</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI2MjEx_ba84613a-6c22-42f4-a28e-ab411b8316cb">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table includes the Company's revenues as disaggregated by payor and customer category (in&#160;thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.707%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.765%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.768%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Revenue:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Healthcare insurers&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;22,456&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;23,984&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Government&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;8,446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;9,896&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Client(1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;5,109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;4,392&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Other(2)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;836&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;639&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Janssen (SIMPONI&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:5.2pt;font-weight:400;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;5,128&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,476&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;41,975&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;40,387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="padding-left:31.5pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%;padding-left:8.24pt"&gt;Includes hospitals, other laboratories, etc.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:31.5pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;(2)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%;padding-left:8.24pt"&gt;Includes patient self-pay that is immaterial&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;.&lt;/span&gt;&lt;/div&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5690cf2946e8412bb86195a6c74a9316_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToxYjlmMWE3Y2ExNTc0NjZhYjNlN2FkYzRjM2Y0MGIwMy90YWJsZXJhbmdlOjFiOWYxYTdjYTE1NzQ2NmFiM2U3YWRjNGMzZjQwYjAzXzMtNi0xLTEtMA_ce1f3fd0-049e-4b0a-a499-48b1cad70d00"
      unitRef="usd">22456000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ibcaa2249e3c640468e6ad463c58824a6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToxYjlmMWE3Y2ExNTc0NjZhYjNlN2FkYzRjM2Y0MGIwMy90YWJsZXJhbmdlOjFiOWYxYTdjYTE1NzQ2NmFiM2U3YWRjNGMzZjQwYjAzXzMtOC0xLTEtMA_b8fcf027-401f-4524-b266-c9e89bead76e"
      unitRef="usd">23984000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8a5f71713fcf420b86e6051da049e7ac_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToxYjlmMWE3Y2ExNTc0NjZhYjNlN2FkYzRjM2Y0MGIwMy90YWJsZXJhbmdlOjFiOWYxYTdjYTE1NzQ2NmFiM2U3YWRjNGMzZjQwYjAzXzQtNi0xLTEtMA_0bdda7ec-5b20-4d81-a08a-7ca9715b7ddf"
      unitRef="usd">8446000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i18229da67eb54a6b8110b348c32b2f80_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToxYjlmMWE3Y2ExNTc0NjZhYjNlN2FkYzRjM2Y0MGIwMy90YWJsZXJhbmdlOjFiOWYxYTdjYTE1NzQ2NmFiM2U3YWRjNGMzZjQwYjAzXzQtOC0xLTEtMA_e2179643-da60-4dbd-977d-4117f0e8b59f"
      unitRef="usd">9896000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i06930bdf59ec4a7490fb90caaee4d192_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToxYjlmMWE3Y2ExNTc0NjZhYjNlN2FkYzRjM2Y0MGIwMy90YWJsZXJhbmdlOjFiOWYxYTdjYTE1NzQ2NmFiM2U3YWRjNGMzZjQwYjAzXzUtNi0xLTEtMA_274bcbae-ae65-47c0-a89a-9cd460f610ea"
      unitRef="usd">5109000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i94d5f0f3606b4c66949b12896e3d82ad_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToxYjlmMWE3Y2ExNTc0NjZhYjNlN2FkYzRjM2Y0MGIwMy90YWJsZXJhbmdlOjFiOWYxYTdjYTE1NzQ2NmFiM2U3YWRjNGMzZjQwYjAzXzUtOC0xLTEtMA_1d54e436-6182-4e2f-bad7-0b04fd44822a"
      unitRef="usd">4392000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9d2d0f3c92004d4d8ea0b1587e20bd73_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToxYjlmMWE3Y2ExNTc0NjZhYjNlN2FkYzRjM2Y0MGIwMy90YWJsZXJhbmdlOjFiOWYxYTdjYTE1NzQ2NmFiM2U3YWRjNGMzZjQwYjAzXzYtNi0xLTEtMA_b4b4a2b9-1bb0-4052-ac07-7942bf421f35"
      unitRef="usd">836000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie26b529fa0544e3fa5ffa639ffaaa3da_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToxYjlmMWE3Y2ExNTc0NjZhYjNlN2FkYzRjM2Y0MGIwMy90YWJsZXJhbmdlOjFiOWYxYTdjYTE1NzQ2NmFiM2U3YWRjNGMzZjQwYjAzXzYtOC0xLTEtMA_eff468e1-dcf4-418a-b6cf-3dab1d08a002"
      unitRef="usd">639000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie43dd45431384ad48a4a7cd39396b772_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToxYjlmMWE3Y2ExNTc0NjZhYjNlN2FkYzRjM2Y0MGIwMy90YWJsZXJhbmdlOjFiOWYxYTdjYTE1NzQ2NmFiM2U3YWRjNGMzZjQwYjAzXzctNi0xLTEtMA_98271406-a712-46af-8cae-b446f3fcecc1"
      unitRef="usd">5128000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic8f51ada9f8b45298c0c793b85f782e6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToxYjlmMWE3Y2ExNTc0NjZhYjNlN2FkYzRjM2Y0MGIwMy90YWJsZXJhbmdlOjFiOWYxYTdjYTE1NzQ2NmFiM2U3YWRjNGMzZjQwYjAzXzctOC0xLTEtMA_71ce1de2-7649-44ae-b5aa-7a913871dae2"
      unitRef="usd">1476000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToxYjlmMWE3Y2ExNTc0NjZhYjNlN2FkYzRjM2Y0MGIwMy90YWJsZXJhbmdlOjFiOWYxYTdjYTE1NzQ2NmFiM2U3YWRjNGMzZjQwYjAzXzgtNi0xLTEtMA_8dc8aab5-d051-4bfc-b916-81ba1d29e02f"
      unitRef="usd">41975000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToxYjlmMWE3Y2ExNTc0NjZhYjNlN2FkYzRjM2Y0MGIwMy90YWJsZXJhbmdlOjFiOWYxYTdjYTE1NzQ2NmFiM2U3YWRjNGMzZjQwYjAzXzgtOC0xLTEtMA_ee0573e1-1d58-4399-aab0-33efadf7f6eb"
      unitRef="usd">40387000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:FairValueMeasurementPolicyPolicyTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI2MTk1_b8872d3e-6981-4fae-9c5c-6e4d835a1fe7">Fair Value Measurements&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying value of the Company's cash and cash equivalents approximate fair value due to the short-term nature of these items. Based on the borrowing rates currently available to the Company for debt with similar terms and consideration of default and credit risk, the carrying value of the Company's long-term borrowings approximates its fair value, which is considered a Level&#160;2 input.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fair value is defined as the exchange price that would be received for an asset or an exit price paid to transfer a liability in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value hierarchy defines a three-level valuation hierarchy for disclosure of fair value measurements as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:94.5pt;text-indent:-72pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level 1 -&#160;&#160;&#160;&#160;Unadjusted quoted prices in active markets for identical assets or liabilities;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:94.5pt;text-indent:-72pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level 2 -&#160;&#160;&#160;&#160;Inputs other than quoted prices included within Level I that are observable, unadjusted quoted prices in markets that are not active, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the related assets or liabilities; and&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:94.5pt;text-indent:-72pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level 3 -&#160;&#160;&#160;&#160;Unobservable inputs that are supported by little or no market activity for the related assets or liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The categorization of a financial instrument within the valuation hierarchy is based upon the lowest level of input that is significant to the fair value measurement.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Prior to the IPO, the Company's redeemable convertible preferred stock warrant liabilities were measured at fair value on a recurring basis and were classified as Level&#160;3 liabilities. The Company recorded subsequent adjustments to reflect the increase or decrease in estimated fair value at each reporting date in current period earnings.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueMeasurementPolicyPolicyTextBlock>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI2MjA2_13b4d5fc-04ea-4bc5-8675-2915b1898c3f">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cash, Cash Equivalents and Restricted Cash&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company considers all highly-liquid investments purchased with a remaining maturity date upon acquisition of three months or less to be cash equivalents and are stated at cost, which approximates fair value.&lt;/span&gt;&lt;/div&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:RestrictedCash
      contextRef="i4e3c2fa4dc5f49e8b1099bc7e449e3a2_I20161231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzUyMDk_85601167-8b3e-42cf-a7be-5a1a49563cae"
      unitRef="usd">100000</us-gaap:RestrictedCash>
    <us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI2MjA0_0a9459aa-0aaf-4c4f-a0be-8b9342e1f971">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash, cash equivalents and restricted cash presented in the accompanying statements of cash flows consist of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.999%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:12pt"&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:12pt"&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,084&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted cash&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,548&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,184&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock>
    <us-gaap:ScheduleOfRestrictedCashAndCashEquivalentsTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI2MjA0_4f5a02b8-d59e-4593-9edd-22d232d5e263">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash, cash equivalents and restricted cash presented in the accompanying statements of cash flows consist of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.999%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:12pt"&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:12pt"&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,084&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted cash&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,548&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,184&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRestrictedCashAndCashEquivalentsTextBlock>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZTpjYjJkNzQzZWY3NDU0MGNiODZlNWZkMTExZDFkOGQxOC90YWJsZXJhbmdlOmNiMmQ3NDNlZjc0NTQwY2I4NmU1ZmQxMTFkMWQ4ZDE4XzItNC0xLTEtMA_ae56ecac-9fbc-4f62-ac6a-a050b71e3de9"
      unitRef="usd">57448000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZTpjYjJkNzQzZWY3NDU0MGNiODZlNWZkMTExZDFkOGQxOC90YWJsZXJhbmdlOmNiMmQ3NDNlZjc0NTQwY2I4NmU1ZmQxMTFkMWQ4ZDE4XzItNi0xLTEtMA_0e39f14f-751e-4a58-a28d-3d93e89df7a0"
      unitRef="usd">72084000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCash
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZTpjYjJkNzQzZWY3NDU0MGNiODZlNWZkMTExZDFkOGQxOC90YWJsZXJhbmdlOmNiMmQ3NDNlZjc0NTQwY2I4NmU1ZmQxMTFkMWQ4ZDE4XzMtNC0xLTEtMA_c44a2ee0-62ee-4c11-a7af-972b1c941e3a"
      unitRef="usd">100000</us-gaap:RestrictedCash>
    <us-gaap:RestrictedCash
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZTpjYjJkNzQzZWY3NDU0MGNiODZlNWZkMTExZDFkOGQxOC90YWJsZXJhbmdlOmNiMmQ3NDNlZjc0NTQwY2I4NmU1ZmQxMTFkMWQ4ZDE4XzMtNi0xLTEtMA_fe3b52a2-c1c6-40e7-a4ed-2ab6a5022df6"
      unitRef="usd">100000</us-gaap:RestrictedCash>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZTpjYjJkNzQzZWY3NDU0MGNiODZlNWZkMTExZDFkOGQxOC90YWJsZXJhbmdlOmNiMmQ3NDNlZjc0NTQwY2I4NmU1ZmQxMTFkMWQ4ZDE4XzQtNC0xLTEtMA_b400e13f-8388-4cd8-a0e6-118560c53280"
      unitRef="usd">57548000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZTpjYjJkNzQzZWY3NDU0MGNiODZlNWZkMTExZDFkOGQxOC90YWJsZXJhbmdlOmNiMmQ3NDNlZjc0NTQwY2I4NmU1ZmQxMTFkMWQ4ZDE4XzQtNi0xLTEtMA_a040391f-745f-40ec-ae46-a2b019125655"
      unitRef="usd">72184000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI2MTky_f2dde299-75aa-4a58-a7a3-678754aeebd9">&lt;div style="margin-top:15pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Property and Equipment&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment are stated at cost, net of depreciation and amortization. Depreciation is computed using the straight-line method over the estimated useful lives of the assets, generally between &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI3NDg3NzkxMDgyNDg_5d33f4a2-8289-402f-bda6-723da8e7978f"&gt;three&lt;/span&gt; and five years. Leasehold improvements are amortized on a straight-line basis over the lesser of the estimated useful life or the remaining term of the related lease. Maintenance and repairs are charged to expense as incurred, and improvements and betterments are capitalized. When assets are retired or otherwise disposed of, the cost and &lt;/span&gt;&lt;/div&gt;accumulated depreciation are removed from the balance sheet and any resulting gain or loss is reflected in other income or expense in the statements of operations in the period realized.</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i4573db3dc09e4fa8a58677b574d5c416_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI3NDg3NzkxMDgyNTk_8d8d09f8-f9b9-4980-906e-811e236f99a7">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI2MjA1_453e97bb-42c8-4cb4-9da6-7828e2ce1c53">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Long-lived Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s long-lived assets are comprised principally of its property and equipment, finite lived intangible assets, and goodwill. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;If the Company identifies a change in the circumstances related to its long-lived assets, such as property and equipment and intangible assets (other than goodwill), that indicates the carrying value of any such asset may not be recoverable, the Company will perform an impairment analysis. A long-lived asset (other than goodwill) is deemed to be impaired when the undiscounted cash flows expected to be generated by the asset (or asset group) are less than the asset&#x2019;s carrying amount. Any required impairment loss would be measured as the amount by which the asset&#x2019;s carrying value exceeds its fair value, and would be recorded as a reduction in the carrying value of the related asset and a charge to operating expense. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill is reviewed for impairment annually (during the fourth quarter) or more frequently if indicators of impairment exist. As the Company operates in a single operating segment and reporting unit, the Company first assesses qualitative factors to determine whether it is more likely than not that the fair value of the reporting unit is less than its carrying amount as a basis for determining whether it is necessary to perform a quantitative assessment. If, after assessing qualitative factors, the Company determines it is not more likely than not that the fair value of a reporting unit is less than its carrying amount, then performing a quantitative assessment is unnecessary. If deemed necessary, a quantitative assessment compares the fair value of the reporting unit with its carrying amount, including goodwill. If the fair value of the reporting unit exceeds its carrying amount, goodwill is not considered impaired; otherwise, an impairment loss is recorded. There was no indication of impairment of goodwill for any periods presented.&lt;/span&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
    <exdx:ClinicalStudyPolicyPolicyTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI2MjAy_d7a52ea7-4134-4655-a2f7-1fa8bead2377">Clinical StudiesFrom time to time, the Company engages in efforts to scientifically measure and document the application and efficacy of its various testing products. These arrangements typically require the Company to pay a fee to a third-party scientific investigator (usually a physician or research institution) for each subject enrolled in a clinical study, and the Company accrues expenses associated with these efforts as subjects are enrolled in each study. Expenses associated with clinical study activities are recorded in research and development expenses in the accompanying statement of operations.</exdx:ClinicalStudyPolicyPolicyTextBlock>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="icc003e40daf641ccbe499297076b288b_D20190923-20190923"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzEwOTk1MTE2NjQ4NzA_4a868c68-a6ed-42e9-a94f-b1cd9f7b6448"
      unitRef="shares">7816643</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="icc003e40daf641ccbe499297076b288b_D20190923-20190923"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzMyOTg1MzQ5MjA4NDY_383cdc71-882b-4912-84e3-4dfe925a28f6"
      unitRef="shares">7816643</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI2MTk3_c96ea6ed-c49e-44ab-984d-d45342ff420c">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Substantially all of the Company's revenue has been derived from sales of its testing products and is primarily comprised of a high volume of relatively low-dollar transactions. The Company primarily markets its testing products to rheumatologists and their physician assistants in the United States. The healthcare professionals who order the Company's testing products and to whom test results are reported are generally not responsible for payment for these products. The parties that pay for these services (the Payors) consist of healthcare insurers, government payors (primarily Medicare and Medicaid), client payors (i.e., hospitals, other laboratories, etc.), and patient self-pay. The Company's service is a single performance obligation that is completed upon the delivery of test results to the prescribing physician which triggers revenue recognition.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Payors are billed at the Company's list price. Net revenues recognized consist of amounts billed net of allowances for differences between amounts billed and the estimated consideration the Company expects to receive from such payors. The process for estimating revenues and the ultimate collection of accounts receivable involves significant judgment and estimation. The Company follows a standard process, which considers historical denial and collection experience, insurance reimbursement policies and other factors, to estimate allowances and implicit price concessions, recording adjustments in the current period as changes in estimates occur. Further adjustments to the allowances, based on actual receipts, is recorded upon settlement. The transaction price is estimated using an expected value method on a portfolio basis. The Company's portfolios are grouped per payor (i.e. each individual third-party insurance, Medicare, client payors, patient self-pay, etc.) and per test basis.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Collection of the Company's net revenues from payors is normally a function of providing complete and correct billing information to the healthcare insurers and generally occurs within 30 to 90 days of billing. Contracts do not contain significant financing components based on the typical period of time between performance of services and collection of consideration.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:ContractWithCustomerTimingOfSatisfactionOfPerformanceObligationAndPayment
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI3NDg3NzkxMDgyNzY_8738f572-fb83-4103-903d-08d112ac0515">Collection of the Company's net revenues from payors is normally a function of providing complete and correct billing information to the healthcare insurers and generally occurs within 30 to 90 days of billing</us-gaap:ContractWithCustomerTimingOfSatisfactionOfPerformanceObligationAndPayment>
    <exdx:JointVentureQuarterlyPromotionFeePerPrescription
      contextRef="i854adb164db541fa9bd24fb1ccb21010_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzMyOTg1MzQ5MTc5NTQ_6305ff44-5e3f-497c-be7f-5c5700dc75a3"
      unitRef="usd">750000</exdx:JointVentureQuarterlyPromotionFeePerPrescription>
    <exdx:JointVentureQuarterlyPromotionFeePerPrescription
      contextRef="ia5c2c61809374714a756188ab1adadbc_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzMyOTg1MzQ5MTc5NjA_9548cad7-4ac2-4e94-bd0f-d9abf4ea8c5e"
      unitRef="usd">1250000</exdx:JointVentureQuarterlyPromotionFeePerPrescription>
    <exdx:JointVentureQuarterlyPromotionFee
      contextRef="i9ce5a530334e4915b0436079dca953ff_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzMyOTg1MzQ5MTc5Njg_3974ee25-4ace-4bf6-8595-0aca80b9c37b"
      unitRef="usd">300000</exdx:JointVentureQuarterlyPromotionFee>
    <exdx:JointVentureQuarterlyPromotionFee
      contextRef="i20146f37e33a40dab402238b6ea56800_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzMyOTg1MzQ5MTc5Njg_83d5e84b-8edb-456d-b6a6-dff4e9f3b745"
      unitRef="usd">300000</exdx:JointVentureQuarterlyPromotionFee>
    <exdx:JointVentureQuarterlyPromotionFeeCappedAmountPercentageAboveBaseline
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzMyOTg1MzQ5MTgwMTA_753bb84d-08b7-4ba0-8729-94b7372a131c"
      unitRef="number">0.05</exdx:JointVentureQuarterlyPromotionFeeCappedAmountPercentageAboveBaseline>
    <exdx:JointVentureQuarterlyPromotionFeeCappedAmountPercentageAboveBaseline
      contextRef="i9156fd411b7741a8a39d1c43983a5800_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzMyOTg1MzQ5MTgwMTA_f8b46d92-f3f1-498c-bf0c-1bdfeaf966cf"
      unitRef="number">0.05</exdx:JointVentureQuarterlyPromotionFeeCappedAmountPercentageAboveBaseline>
    <exdx:JointVentureQuarterlyPrescribedUnits
      contextRef="ic0b7b9ea1d814dbbbeed9b14692e78ca_D20201001-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI3NDg3NzkxMDgyODc_1e2245f9-8bfe-43af-af96-83ff0d70bde1"
      unitRef="unit">28750</exdx:JointVentureQuarterlyPrescribedUnits>
    <exdx:JointVentureQuarterlyPromotionFeePerPrescription
      contextRef="ic3d6c90706d94887a50acb583e7d32ad_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzMyOTg1MzQ5MTc5ODI_9578bf39-d791-407c-aaf7-a7bfdddd82ec"
      unitRef="usd">500000</exdx:JointVentureQuarterlyPromotionFeePerPrescription>
    <exdx:JointVentureQuarterlyPromotionFeePerPrescription
      contextRef="i397b406c9c0747b0a7f3b67d4d6870e3_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzMyOTg1MzQ5MTc5ODI_a5b4b7e0-b168-41d4-a0d3-c0d81313cc58"
      unitRef="usd">500000</exdx:JointVentureQuarterlyPromotionFeePerPrescription>
    <exdx:JointVentureQuarterlyPromotionFeePerPrescription
      contextRef="i9dcc6ed5d40246baabade8cb1d9fba6b_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzMyOTg1MzQ5MTc5ODg_1d2400e4-6892-48cc-a975-27779e53a7d5"
      unitRef="usd">1000000</exdx:JointVentureQuarterlyPromotionFeePerPrescription>
    <exdx:JointVentureQuarterlyPromotionFeePerPrescription
      contextRef="i695ae53d59f94e27b87eefce82393e8a_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzMyOTg1MzQ5MTc5ODg_1e6a9e87-df3d-4162-9888-e4bb25e3fc10"
      unitRef="usd">1000000</exdx:JointVentureQuarterlyPromotionFeePerPrescription>
    <exdx:JointVentureQuarterlyPromotionFee
      contextRef="i397b406c9c0747b0a7f3b67d4d6870e3_I20210331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzMyOTg1MzQ5MTc5OTY_3a79296f-801d-42c9-add4-37d356f7f341"
      unitRef="usd">300000</exdx:JointVentureQuarterlyPromotionFee>
    <exdx:JointVentureQuarterlyPromotionFee
      contextRef="ic3d6c90706d94887a50acb583e7d32ad_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzMyOTg1MzQ5MTc5OTY_e9ac6035-b8bd-40d4-af75-8948ad958fe2"
      unitRef="usd">300000</exdx:JointVentureQuarterlyPromotionFee>
    <exdx:JointVentureQuarterlyPromotionFeeCappedAmountPercentageAboveBaseline
      contextRef="i3a03a4097faf4d70895448f0b1cdccc9_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzMyOTg1MzQ5MTgwMTQ_27811fca-383e-4923-a418-ceee0451399b"
      unitRef="number">0.10</exdx:JointVentureQuarterlyPromotionFeeCappedAmountPercentageAboveBaseline>
    <exdx:JointVentureQuarterlyPromotionFeeCappedAmountPercentageAboveBaseline
      contextRef="i0f45eef28e7d4c2e8752293801f70ab3_I20210331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzMyOTg1MzQ5MTgwMTQ_62604043-de50-4a57-aeef-372b98d335d8"
      unitRef="number">0.10</exdx:JointVentureQuarterlyPromotionFeeCappedAmountPercentageAboveBaseline>
    <exdx:JointVentureQuarterlyPromotionFee
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzMyOTg1MzQ5MTgwNDA_c275ff58-685e-4762-bfe8-62b76742c9df"
      unitRef="usd">300000</exdx:JointVentureQuarterlyPromotionFee>
    <exdx:JointVentureQuarterlyPromotionFeeCappedAmountPercentageAboveBaseline
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzMyOTg1MzQ5MTgwNTQ_0472941c-c024-44bf-af04-d141ac19670f"
      unitRef="number">0.05</exdx:JointVentureQuarterlyPromotionFeeCappedAmountPercentageAboveBaseline>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i62cb5f8c97194f02924e255c54bed267_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzE2NDkyNjc0NzIyMTc_03eb8742-5936-4df9-8608-e165f5454168"
      unitRef="usd">5100000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iddf6e035476945cfb9d2423367a0fd96_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzE2NDkyNjc0NzIyMzM_80b9deed-174d-4096-ba2f-44c9d164f15b"
      unitRef="usd">1500000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ResearchAndDevelopmentExpensePolicy
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI2MTk0_78a4044e-745e-421e-a27f-0f9f0d33504e">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Research and Development&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Costs associated with research and development activities are expensed as incurred and include, but are not limited to, personnel-related expenses, including stock-based compensation expense, materials, laboratory supplies, consulting costs, costs associated with setting up and conducting clinical studies and allocated overhead including rent and utilities.&lt;/span&gt;&lt;/div&gt;</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <us-gaap:AdvertisingCostsPolicyTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI2MTkx_5d23dd8a-d69a-447c-9cd5-aab3f5d2ca01">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Advertising and Marketing Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Costs associated with advertising and marketing activities are expensed as incurred. Total advertising and marketing costs were approximately $1.3 million and $1.6 million for the years ended December&#160;31, 2020 and 2019, respectively, and are included in selling, general and administrative expenses in the accompanying statements of operations.&lt;/span&gt;&lt;/div&gt;</us-gaap:AdvertisingCostsPolicyTextBlock>
    <us-gaap:AdvertisingExpense
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzE2NjEw_124738af-bdc9-4e57-93fa-d8cf622b5a21"
      unitRef="usd">1300000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzE2NjI1_34f3431a-1620-4806-b4a9-58ca56f9df13"
      unitRef="usd">1600000</us-gaap:AdvertisingExpense>
    <us-gaap:CostOfRevenue
      contextRef="i358dc56770ab42ceace2ba4c29570329_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzE2OTY3_c3560e08-afa2-433f-aa88-2dbb73bbae25"
      unitRef="usd">1400000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="iaf8dba0b2d464952ad492cfb4b91e9c4_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzE2OTY3_f662338a-efcc-41ad-a95d-fbd6de922587"
      unitRef="usd">1400000</us-gaap:CostOfRevenue>
    <us-gaap:EmployeeStockOwnershipPlanESOPPolicy
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI2MTk4_f6d524c6-06d4-4d10-84ca-4d59ab296cbc">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognizes compensation expense for all stock-based awards to employees and directors based on the grant-date estimated fair values over the requisite service period of the awards (usually the vesting period) on a straight-line basis. The fair value of stock options and purchases under the employee stock purchase plan (ESPP) rights is determined using the Black-Scholes-Merton (BSM) option pricing model, which requires management to make certain assumptions regarding a number of complex and subjective variables. Equity award forfeitures are recorded as they occur.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The BSM option pricing model incorporates various estimates, including the fair value of the Company's common stock, expected volatility, expected term and risk-free interest rates. The weighted-average expected term of options was calculated using the simplified method. This decision was based on the lack of relevant historical data due to the Company's limited historical experience. In addition, due to the Company's limited historical data, the estimated volatility incorporates the historical volatility over the expected term of the award of comparable companies whose share prices are publicly available. The risk-free interest rate for periods within the contractual term of the option is based on the U.S. Treasury yield in effect at the time of grant. The dividend yield was zero, as the Company has never declared or paid dividends and has no plans to do so in the foreseeable future.&lt;/span&gt;&lt;/div&gt;Upon the effective date of the IPO, the Company began using the closing price of its common stock as the fair value of its common stock on the corresponding date. Prior to the completion of the IPO in September 2019, due to the absence of a public market for the Company's common stock, it was necessary to estimate the fair value of the common stock underlying the Company's stock-based awards when performing fair value calculations using the BSM option pricing model. The fair value of the common stock underlying the Company's stock-based awards was assessed on each grant date by the Company's board of directors (Board of Directors).</us-gaap:EmployeeStockOwnershipPlanESOPPolicy>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI3NDg3NzkxMDgyNzc_a586d33b-6e1b-4730-9dc6-7eab56fb6e5e"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ComprehensiveIncomePolicyPolicyTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI2MTk5_6f466a75-c962-4a87-bf95-669d14e47959">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Comprehensive Loss&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Comprehensive loss is defined as a change in equity of a business enterprise during a period, resulting from transactions from nonowner sources. There have been no items qualifying as other comprehensive loss and, therefore, for all periods presented, the Company's comprehensive loss was the same as its reported net loss.&lt;/span&gt;&lt;/div&gt;</us-gaap:ComprehensiveIncomePolicyPolicyTextBlock>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI2MTkw_2ad1aea9-b55e-44c7-aaa9-d962cce0bf0b">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Income Taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company accounts for income taxes under the asset and liability method, which requires the recognition of deferred tax assets and liabilities for the expected future tax consequences of events that have been included in the financial statements. Under this method, deferred tax assets and liabilities are determined on the basis of the differences between the financial statements and tax basis of assets and liabilities using enacted tax rates in effect for the year in which the differences are expected to reverse. The effect of a change in tax rates on deferred tax assets and liabilities is recognized in income in the period that includes the enactment date. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognizes net deferred tax assets to the extent that the Company believes these assets are more likely than not to be realized. In making such a determination, management considers all available positive and negative evidence, including future reversals of existing taxable temporary differences, projected future taxable income, tax-planning strategies, and results of recent operations. If management determines that the Company would be able to realize its deferred tax assets in the future in excess of their net recorded amount, management would adjust the deferred tax asset valuation allowance, which would reduce the provision for income taxes. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company records uncertain tax positions on the basis of a two-step process whereby (i) management determines whether it is more likely than not that the tax positions will be sustained on the basis of the technical merits of the position and (ii) for those tax positions that meet the more-likely-than-not recognition threshold, management recognizes the largest amount of tax benefit that is more than 50% likely to be realized upon ultimate settlement with the related tax authority. The Company recognizes interest and penalties related to unrecognized tax benefits within income tax expense. Any accrued interest and penalties are included within the related tax liability.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI2MjAz_29be53ff-9528-4f57-803c-18d7fd148b19">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Net Loss Per Share&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic net loss per share attributable to common stockholders is calculated by dividing the net loss attributable to common stockholders by the weighted-average number of common shares outstanding during the period. Diluted net loss per share attributable to common stockholders is computed by dividing the net loss attributable to common stockholders by the weighted-average number of common stock equivalents outstanding for the period determined using the treasury-stock and if-converted methods. Potentially dilutive common stock equivalents are comprised of redeemable convertible preferred stock, warrants for the purchase of redeemable convertible preferred and common stock, options outstanding under the Company's stock option plans and shares of the Company's common stock pursuant to Employee Stock Purchase Plan. For the years ended December&#160;31, 2020 and 2019, there is no difference in the number of shares used to calculate basic and diluted shares outstanding as the inclusion of the potentially dilutive securities would be antidilutive.&lt;/span&gt;&lt;/div&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI2MjEy_d81b7d16-1a39-4b52-98ae-9959ea4875fe">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Potentially dilutive securities not included in the calculation of diluted net loss per share because to do so would be anti-dilutive are as follows (in common stock equivalent shares):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.905%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.666%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.669%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Warrants to purchase common stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;426,827&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;461,273&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Common stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,975,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,375,542&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Employee stock purchase plan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;11,640&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2,414,228&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,836,815&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i33102e8052874bcf8f4819af73b17cd3_D20200101-20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToyNTdlNWMzMzI5NmQ0Njg4OTNmNDlhODE4YTdkMjg2YS90YWJsZXJhbmdlOjI1N2U1YzMzMjk2ZDQ2ODg5M2Y0OWE4MThhN2QyODZhXzQtNi0xLTEtMA_18e96241-b0b8-42e7-8481-2168b3a5f01b"
      unitRef="shares">426827</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i1320fd0f2999411e8bd7d1a4b841aa24_D20190101-20191231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToyNTdlNWMzMzI5NmQ0Njg4OTNmNDlhODE4YTdkMjg2YS90YWJsZXJhbmdlOjI1N2U1YzMzMjk2ZDQ2ODg5M2Y0OWE4MThhN2QyODZhXzQtOC0xLTEtMA_6fe9d694-efa6-4e1c-8be0-5997522ffc39"
      unitRef="shares">461273</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i01e558ece6214f16b6c3df7e771db6be_D20200101-20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToyNTdlNWMzMzI5NmQ0Njg4OTNmNDlhODE4YTdkMjg2YS90YWJsZXJhbmdlOjI1N2U1YzMzMjk2ZDQ2ODg5M2Y0OWE4MThhN2QyODZhXzUtNi0xLTEtMA_16c82196-11c3-4141-a764-ae4fdeb60a19"
      unitRef="shares">1975761</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="idc02f1f51b5c4b199fc8848ae372e425_D20190101-20191231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToyNTdlNWMzMzI5NmQ0Njg4OTNmNDlhODE4YTdkMjg2YS90YWJsZXJhbmdlOjI1N2U1YzMzMjk2ZDQ2ODg5M2Y0OWE4MThhN2QyODZhXzUtOC0xLTEtMA_85e1ce03-12c5-4914-8512-71c8abadcf70"
      unitRef="shares">1375542</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ib235ec96e6b1472d9f54d1de7b43b02f_D20200101-20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToyNTdlNWMzMzI5NmQ0Njg4OTNmNDlhODE4YTdkMjg2YS90YWJsZXJhbmdlOjI1N2U1YzMzMjk2ZDQ2ODg5M2Y0OWE4MThhN2QyODZhXzYtNi0xLTEtNzM4NQ_249dce89-9ae7-4662-a888-2e81dd906d45"
      unitRef="shares">11640</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i9c1e7be53ff34ffab13c26e9df1ddc43_D20190101-20191231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToyNTdlNWMzMzI5NmQ0Njg4OTNmNDlhODE4YTdkMjg2YS90YWJsZXJhbmdlOjI1N2U1YzMzMjk2ZDQ2ODg5M2Y0OWE4MThhN2QyODZhXzYtOC0xLTEtNzM5MQ_a8079a40-652d-4718-b4c1-03fa52c562a2"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToyNTdlNWMzMzI5NmQ0Njg4OTNmNDlhODE4YTdkMjg2YS90YWJsZXJhbmdlOjI1N2U1YzMzMjk2ZDQ2ODg5M2Y0OWE4MThhN2QyODZhXzYtNi0xLTEtMA_3a9d9b9d-b51a-463c-8b7d-c806cb4c4e5d"
      unitRef="shares">2414228</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90YWJsZToyNTdlNWMzMzI5NmQ0Njg4OTNmNDlhODE4YTdkMjg2YS90YWJsZXJhbmdlOjI1N2U1YzMzMjk2ZDQ2ODg5M2Y0OWE4MThhN2QyODZhXzYtOC0xLTEtMA_054831ec-967a-4fe3-b1e6-644d02f19c0b"
      unitRef="shares">1836815</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI2MjA4_3e488d74-03fb-4bef-9ee4-a850619c73e7">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Segment Reporting&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating segments are identified as components of an enterprise about which separate discrete financial information is available for evaluation by the chief operating decision-maker in making decisions regarding resource allocation and assessing performance. The Company views its operations as, and manages its business in, one operating segment.&lt;/span&gt;&lt;/div&gt;</us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzMyOTg1MzQ5MTgwMTg_cef3e900-9a7b-45bb-9a4f-8789460144c5"
      unitRef="segment">1</us-gaap:NumberOfOperatingSegments>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjQvZnJhZzpmM2U1ZTg0MDdlZWY0MTljOGE0ZjdiOGQzZWQ4ZmVmOC90ZXh0cmVnaW9uOmYzZTVlODQwN2VlZjQxOWM4YTRmN2I4ZDNlZDhmZWY4XzI2MjA5_42aa40fc-e189-40e2-ab31-916443130951">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recent Accounting Pronouncements Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;From time to time, new accounting pronouncements are issued by the Financial Accounting Standards Board (FASB), or other standard setting bodies and adopted by the Company as of the specified effective date. Under the Jumpstart Our Business Startups Act of 2012 (JOBS Act), the Company meets the definition of an emerging growth company. The Company has elected to use the extended transition period for complying with new or revised accounting standards pursuant to Section 107(b) of the JOBS Act. Unless otherwise discussed, the impact of recently issued standards that are not yet effective will not have a material impact on the Company's financial position or results of operations upon adoption.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In February 2016, the FASB issued Accounting Standards Update (ASU) 2016-02,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;&#160;Leases&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(Topic 842). The new topic supersedes Topic 840,&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Leases&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, and increases transparency and comparability among organizations by recognizing lease assets and lease liabilities on the balance sheet and requires disclosures of key information about leasing arrangements. In July 2018, the FASB issued ASU 2018-10, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Codification Improvements to Topic 842&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, which provides narrow amendments to clarify how to apply certain aspects of the new lease standard, and ASU 2018-11, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Leases: Targeted Improvements&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, which was issued to provide relief to companies from restating comparative periods. Pursuant to this ASU, in the period of adoption the Company will not restate comparative periods presented in its financial statements. The effective date of this guidance for public companies is for reporting periods beginning after December&#160;15, 2018. In June 2020, the FASB issued ASU 2020-05, which delays the adoption of ASU 2016-02 for non-public entities to fiscal years beginning after December 15, 2021, and interim periods beginning after December 15, 2022. As an emerging growth company as defined in the JOBS Act, the Company has elected to delay adoption of this ASU until January 1, 2022. Topic 842 mandates a modified retrospective transition method. The Company intends to adopt the new lease standard using a cumulative effect to accumulated deficit and will elect the package of practical expedients, which among other things will allow the Company to carry forward its historical lease classification. The Company is currently evaluating the impact of Topic 842 on its financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2019, the FASB issued ASU 2019-12, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Simplifying the Accounting for Income Taxes&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;. The new guidance removes certain exceptions to the general principles of ASC 740 in order to simplify the complexities of its application. These changes include eliminations to the exceptions for intraperiod tax allocation, recognizing deferred tax liabilities related to outside basis differences, and year-to-date losses in interim periods, among others. The effective date of this guidance for public companies is for fiscal years, and interim period within those fiscal years, beginning after December 15, 2020. The Company does not anticipate the adoption will have a material impact on its financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recently Adopted Accounting Standards&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In August 2018, the FASB issued ASU No.&#160;2018-13, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Fair Value Measurement: Disclosure Framework-Changes to the Disclosure Requirements for Fair Value Measurement&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, which adds and modifies certain disclosure requirements for fair value measurements. Under the new guidance, entities will no longer be required to disclose the amount of and reasons for transfers between Level&#160;1 and Level&#160;2 of the fair value hierarchy, or valuation processes for Level&#160;3 fair value measurements. However, public companies will be required to disclose the range and weighted average of significant unobservable inputs used to develop Level&#160;3 fair value measurements, and related changes in unrealized gains and losses included in other comprehensive income. The narrative description of measurement uncertainty should be applied prospectively for only the most recent interim or annual period presented in the initial fiscal year of adoption. This update is effective for annual periods beginning after December&#160;15, 2019, and interim periods within those periods, and early adoption is permitted. The Company adopted this guidance on January 1, 2020, and the adoption did not have a material impact on its financial statements.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <exdx:PrepaidExpensesAndOtherCurrentAssetsPropertyPlantAndEquipmentAndAccruedLiabilitiesTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90ZXh0cmVnaW9uOmZhMmJmOTg1ZGNjMzRkNzBhY2YxODg2ODAyNjBmMzQxXzYyOA_d0d79432-2fe2-4a15-90e3-34503b98149a">Other Financial InformationPrepaid Expenses and Other Current Assets&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Prepaid expenses and other current assets consist of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.151%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.546%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Diagnostic&#160;testing&#160;supplies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,203&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,427&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Prepaid product royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;123&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Prepaid maintenance and insurance contracts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2,229&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,768&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Other prepaid and other current assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;659&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Prepaid and other current assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;4,159&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;3,451&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Property and Equipment&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment consist of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.151%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.546%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Furniture&#160;and&#160;fixtures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;64&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Laboratory equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2,228&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Computer equipment and software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;927&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;851&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Leasehold improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,072&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Construction in progress&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;301&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;247&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;5,043&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;3,775&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Less: accumulated depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(2,941)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(2,395)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Property and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2,102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,380&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Depreciation and amortization expense for the years ended December&#160;31, 2020 and 2019, was approximately $0.5 million and $0.6 million, respectively. At December&#160;31, 2020 and December 31, 2019, the gross book value of assets under capital lease was $1.2 million and $0.8 million, respectively, and is classified in "Laboratory equipment" in the table above.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Accrued and Other Current Liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accrued and other current liabilities consist of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.151%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.546%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accrued&#160;payroll&#160;and&#160;related&#160;expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;3,589&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2,362&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accrued interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accrued purchases of goods and services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;311&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;319&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accrued royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;727&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accrued clinical study activity&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;228&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Capital lease obligations, current portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;238&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Other accrued liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;953&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;588&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accrued and other current liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;5,757&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;4,419&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</exdx:PrepaidExpensesAndOtherCurrentAssetsPropertyPlantAndEquipmentAndAccruedLiabilitiesTextBlock>
    <us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90ZXh0cmVnaW9uOmZhMmJmOTg1ZGNjMzRkNzBhY2YxODg2ODAyNjBmMzQxXzYyNQ_005cccfd-07fc-492f-be0c-0af5adb9e9d2">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Prepaid expenses and other current assets consist of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.151%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.546%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Diagnostic&#160;testing&#160;supplies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,203&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,427&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Prepaid product royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;123&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Prepaid maintenance and insurance contracts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2,229&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,768&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Other prepaid and other current assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;659&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Prepaid and other current assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;4,159&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;3,451&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock>
    <us-gaap:OtherAssetsCurrent
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTowMGY0OTliYWE0ODI0MjNhOGFhYTVmNGI1MmFjODhjOC90YWJsZXJhbmdlOjAwZjQ5OWJhYTQ4MjQyM2E4YWFhNWY0YjUyYWM4OGM4XzItMi0xLTEtMA_86d19727-0f9f-4cb9-8054-26e8074c8ea4"
      unitRef="usd">1203000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTowMGY0OTliYWE0ODI0MjNhOGFhYTVmNGI1MmFjODhjOC90YWJsZXJhbmdlOjAwZjQ5OWJhYTQ4MjQyM2E4YWFhNWY0YjUyYWM4OGM4XzItNC0xLTEtMA_fd3b6389-662d-404e-926b-5b5879329c0b"
      unitRef="usd">1427000</us-gaap:OtherAssetsCurrent>
    <us-gaap:PrepaidRoyalties
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTowMGY0OTliYWE0ODI0MjNhOGFhYTVmNGI1MmFjODhjOC90YWJsZXJhbmdlOjAwZjQ5OWJhYTQ4MjQyM2E4YWFhNWY0YjUyYWM4OGM4XzMtMi0xLTEtMA_536005cc-3cc7-4c39-9995-3a9f1ac4b5c9"
      unitRef="usd">68000</us-gaap:PrepaidRoyalties>
    <us-gaap:PrepaidRoyalties
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTowMGY0OTliYWE0ODI0MjNhOGFhYTVmNGI1MmFjODhjOC90YWJsZXJhbmdlOjAwZjQ5OWJhYTQ4MjQyM2E4YWFhNWY0YjUyYWM4OGM4XzMtNC0xLTEtMA_3d58af98-9844-4f9d-a16f-520792bb1c7d"
      unitRef="usd">123000</us-gaap:PrepaidRoyalties>
    <exdx:PrepaidMaintenanceAndInsuranceContracts
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTowMGY0OTliYWE0ODI0MjNhOGFhYTVmNGI1MmFjODhjOC90YWJsZXJhbmdlOjAwZjQ5OWJhYTQ4MjQyM2E4YWFhNWY0YjUyYWM4OGM4XzQtMi0xLTEtMA_c422ec39-8906-41ac-9242-934f2416262d"
      unitRef="usd">2229000</exdx:PrepaidMaintenanceAndInsuranceContracts>
    <exdx:PrepaidMaintenanceAndInsuranceContracts
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTowMGY0OTliYWE0ODI0MjNhOGFhYTVmNGI1MmFjODhjOC90YWJsZXJhbmdlOjAwZjQ5OWJhYTQ4MjQyM2E4YWFhNWY0YjUyYWM4OGM4XzQtNC0xLTEtMA_424f5335-1469-4146-b0dc-7112f98ce14b"
      unitRef="usd">1768000</exdx:PrepaidMaintenanceAndInsuranceContracts>
    <us-gaap:OtherPrepaidExpenseCurrent
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTowMGY0OTliYWE0ODI0MjNhOGFhYTVmNGI1MmFjODhjOC90YWJsZXJhbmdlOjAwZjQ5OWJhYTQ4MjQyM2E4YWFhNWY0YjUyYWM4OGM4XzUtMi0xLTEtMA_84ef1dc1-5537-44bf-9f30-c193fa79d143"
      unitRef="usd">659000</us-gaap:OtherPrepaidExpenseCurrent>
    <us-gaap:OtherPrepaidExpenseCurrent
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTowMGY0OTliYWE0ODI0MjNhOGFhYTVmNGI1MmFjODhjOC90YWJsZXJhbmdlOjAwZjQ5OWJhYTQ4MjQyM2E4YWFhNWY0YjUyYWM4OGM4XzUtNC0xLTEtMA_fa5fc4bb-c3ba-427f-86f1-694a24f3e7e2"
      unitRef="usd">133000</us-gaap:OtherPrepaidExpenseCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTowMGY0OTliYWE0ODI0MjNhOGFhYTVmNGI1MmFjODhjOC90YWJsZXJhbmdlOjAwZjQ5OWJhYTQ4MjQyM2E4YWFhNWY0YjUyYWM4OGM4XzYtMi0xLTEtMA_45e0eeba-a16e-43e6-8048-e2f1a6b2a7da"
      unitRef="usd">4159000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTowMGY0OTliYWE0ODI0MjNhOGFhYTVmNGI1MmFjODhjOC90YWJsZXJhbmdlOjAwZjQ5OWJhYTQ4MjQyM2E4YWFhNWY0YjUyYWM4OGM4XzYtNC0xLTEtMA_048e85f6-f542-46fe-8044-956bc606ff1b"
      unitRef="usd">3451000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90ZXh0cmVnaW9uOmZhMmJmOTg1ZGNjMzRkNzBhY2YxODg2ODAyNjBmMzQxXzYyNg_685d05cd-fd39-4af2-b393-de401ff1130d">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment consist of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.151%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.546%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Furniture&#160;and&#160;fixtures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;64&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Laboratory equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2,228&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Computer equipment and software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;927&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;851&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Leasehold improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,072&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Construction in progress&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;301&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;247&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;5,043&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;3,775&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Less: accumulated depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(2,941)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(2,395)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Property and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2,102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,380&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="if8fa1a8305f5404892b12cd15d2ac129_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTo0YzM0OTQzOGIxYzE0ZGI5YjM2YTRhMDVjZTgwY2FhOC90YWJsZXJhbmdlOjRjMzQ5NDM4YjFjMTRkYjliMzZhNGEwNWNlODBjYWE4XzItMi0xLTEtMA_b3041513-a89b-4383-8cd4-1d273713e8d8"
      unitRef="usd">64000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i280bdc8f8aa947aaa8f3ba67d5a4d42e_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTo0YzM0OTQzOGIxYzE0ZGI5YjM2YTRhMDVjZTgwY2FhOC90YWJsZXJhbmdlOjRjMzQ5NDM4YjFjMTRkYjliMzZhNGEwNWNlODBjYWE4XzItNC0xLTEtMA_feaeaddd-938c-4d2e-a988-903e8dba6c38"
      unitRef="usd">25000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i1aa0e2237a4349c6975a3792c1a40fc6_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTo0YzM0OTQzOGIxYzE0ZGI5YjM2YTRhMDVjZTgwY2FhOC90YWJsZXJhbmdlOjRjMzQ5NDM4YjFjMTRkYjliMzZhNGEwNWNlODBjYWE4XzMtMi0xLTEtMA_790644e7-ca4e-40a8-92bc-84caaac6a1c9"
      unitRef="usd">2679000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i856d0b8d5d514828b59f52af21200f9c_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTo0YzM0OTQzOGIxYzE0ZGI5YjM2YTRhMDVjZTgwY2FhOC90YWJsZXJhbmdlOjRjMzQ5NDM4YjFjMTRkYjliMzZhNGEwNWNlODBjYWE4XzMtNC0xLTEtMA_2ff6e9b7-fa85-4de8-842d-16933f7f5ea5"
      unitRef="usd">2228000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i674956e7e0a8446f921f15096e981198_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTo0YzM0OTQzOGIxYzE0ZGI5YjM2YTRhMDVjZTgwY2FhOC90YWJsZXJhbmdlOjRjMzQ5NDM4YjFjMTRkYjliMzZhNGEwNWNlODBjYWE4XzQtMi0xLTEtMA_47c27849-71c3-46e6-89fa-f07aa7677ece"
      unitRef="usd">927000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ied9f4988242043ae86e49c5b25240e58_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTo0YzM0OTQzOGIxYzE0ZGI5YjM2YTRhMDVjZTgwY2FhOC90YWJsZXJhbmdlOjRjMzQ5NDM4YjFjMTRkYjliMzZhNGEwNWNlODBjYWE4XzQtNC0xLTEtMA_a3180a84-ae49-4f47-9031-5fbe9e379fa5"
      unitRef="usd">851000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i8e6f34cf3e1b429c8056d14a2e90b57a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTo0YzM0OTQzOGIxYzE0ZGI5YjM2YTRhMDVjZTgwY2FhOC90YWJsZXJhbmdlOjRjMzQ5NDM4YjFjMTRkYjliMzZhNGEwNWNlODBjYWE4XzUtMi0xLTEtMA_bade0bfc-85e0-4963-b5c9-73ff487e6676"
      unitRef="usd">1072000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i611274158822483e99565868e2143ccd_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTo0YzM0OTQzOGIxYzE0ZGI5YjM2YTRhMDVjZTgwY2FhOC90YWJsZXJhbmdlOjRjMzQ5NDM4YjFjMTRkYjliMzZhNGEwNWNlODBjYWE4XzUtNC0xLTEtMA_a5142d3f-7080-406e-a68f-52b1c5d324ba"
      unitRef="usd">424000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i3c15b3b387924344b6a488918b7724a2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTo0YzM0OTQzOGIxYzE0ZGI5YjM2YTRhMDVjZTgwY2FhOC90YWJsZXJhbmdlOjRjMzQ5NDM4YjFjMTRkYjliMzZhNGEwNWNlODBjYWE4XzYtMi0xLTEtMA_720a7478-87a6-419d-908a-f3b859780dd6"
      unitRef="usd">301000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i3795b5fddf0a474ca1f456c3011836fa_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTo0YzM0OTQzOGIxYzE0ZGI5YjM2YTRhMDVjZTgwY2FhOC90YWJsZXJhbmdlOjRjMzQ5NDM4YjFjMTRkYjliMzZhNGEwNWNlODBjYWE4XzYtNC0xLTEtMA_c9a3ef7a-7b03-4494-b225-4b08796ffd13"
      unitRef="usd">247000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTo0YzM0OTQzOGIxYzE0ZGI5YjM2YTRhMDVjZTgwY2FhOC90YWJsZXJhbmdlOjRjMzQ5NDM4YjFjMTRkYjliMzZhNGEwNWNlODBjYWE4XzctMi0xLTEtMA_34a023d9-c87e-4286-a963-865360ef548f"
      unitRef="usd">5043000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTo0YzM0OTQzOGIxYzE0ZGI5YjM2YTRhMDVjZTgwY2FhOC90YWJsZXJhbmdlOjRjMzQ5NDM4YjFjMTRkYjliMzZhNGEwNWNlODBjYWE4XzctNC0xLTEtMA_60379ed0-fc24-4d11-99d5-3b867ad48fbe"
      unitRef="usd">3775000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTo0YzM0OTQzOGIxYzE0ZGI5YjM2YTRhMDVjZTgwY2FhOC90YWJsZXJhbmdlOjRjMzQ5NDM4YjFjMTRkYjliMzZhNGEwNWNlODBjYWE4XzgtMi0xLTEtMA_6f3f2354-33c8-4751-b24b-a4df204015f2"
      unitRef="usd">2941000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTo0YzM0OTQzOGIxYzE0ZGI5YjM2YTRhMDVjZTgwY2FhOC90YWJsZXJhbmdlOjRjMzQ5NDM4YjFjMTRkYjliMzZhNGEwNWNlODBjYWE4XzgtNC0xLTEtMA_2875bb1f-5a2c-42b2-8dc4-0168a1abec65"
      unitRef="usd">2395000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTo0YzM0OTQzOGIxYzE0ZGI5YjM2YTRhMDVjZTgwY2FhOC90YWJsZXJhbmdlOjRjMzQ5NDM4YjFjMTRkYjliMzZhNGEwNWNlODBjYWE4XzktMi0xLTEtMA_ed66b1a5-021b-48af-ac40-276051475988"
      unitRef="usd">2102000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTo0YzM0OTQzOGIxYzE0ZGI5YjM2YTRhMDVjZTgwY2FhOC90YWJsZXJhbmdlOjRjMzQ5NDM4YjFjMTRkYjliMzZhNGEwNWNlODBjYWE4XzktNC0xLTEtMA_60f01cad-6c64-41c2-a952-b5e3df1f4fc1"
      unitRef="usd">1380000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90ZXh0cmVnaW9uOmZhMmJmOTg1ZGNjMzRkNzBhY2YxODg2ODAyNjBmMzQxXzM1Mg_e78952e1-0f0f-45ce-99db-2a30a78af63e"
      unitRef="usd">500000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90ZXh0cmVnaW9uOmZhMmJmOTg1ZGNjMzRkNzBhY2YxODg2ODAyNjBmMzQxXzE2NDkyNjc0NDIzMDE_28085f8b-1d6d-4571-8b73-47519dc5d242"
      unitRef="usd">600000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i12d22bc21e2b4d42828df3456f0b74ad_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90ZXh0cmVnaW9uOmZhMmJmOTg1ZGNjMzRkNzBhY2YxODg2ODAyNjBmMzQxXzQzMw_7bcbbd88-b76f-4f8b-93e5-7be2e64f923d"
      unitRef="usd">1200000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i9ddb14c3a29441f2a69234c84b0a601e_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90ZXh0cmVnaW9uOmZhMmJmOTg1ZGNjMzRkNzBhY2YxODg2ODAyNjBmMzQxXzQ0OA_06517220-556d-45cb-b758-bb6c6a6a0f3d"
      unitRef="usd">800000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90ZXh0cmVnaW9uOmZhMmJmOTg1ZGNjMzRkNzBhY2YxODg2ODAyNjBmMzQxXzYyNw_9fd1334f-45a5-4760-9331-b29cb3e9eaa5">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accrued and other current liabilities consist of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.151%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.546%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accrued&#160;payroll&#160;and&#160;related&#160;expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;3,589&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2,362&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accrued interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accrued purchases of goods and services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;311&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;319&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accrued royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;727&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accrued clinical study activity&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;228&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Capital lease obligations, current portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;238&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Other accrued liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;953&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;588&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accrued and other current liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;5,757&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;4,419&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:AccruedSalariesCurrent
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTpkYTM4OTFjYWMyY2Y0NDk0OWU3ODg5ZjFjODQwZTc4YS90YWJsZXJhbmdlOmRhMzg5MWNhYzJjZjQ0OTQ5ZTc4ODlmMWM4NDBlNzhhXzItMi0xLTEtMA_c5a1e0b5-52d2-4b26-9f98-4ae064a0a1dd"
      unitRef="usd">3589000</us-gaap:AccruedSalariesCurrent>
    <us-gaap:AccruedSalariesCurrent
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTpkYTM4OTFjYWMyY2Y0NDk0OWU3ODg5ZjFjODQwZTc4YS90YWJsZXJhbmdlOmRhMzg5MWNhYzJjZjQ0OTQ5ZTc4ODlmMWM4NDBlNzhhXzItNC0xLTEtMA_aa6715aa-8b92-47ee-98ba-e6ea203328b4"
      unitRef="usd">2362000</us-gaap:AccruedSalariesCurrent>
    <us-gaap:InterestPayableCurrent
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTpkYTM4OTFjYWMyY2Y0NDk0OWU3ODg5ZjFjODQwZTc4YS90YWJsZXJhbmdlOmRhMzg5MWNhYzJjZjQ0OTQ5ZTc4ODlmMWM4NDBlNzhhXzQtMi0xLTEtMA_5e9d3873-e59a-4137-b912-1a9cbbdc281e"
      unitRef="usd">147000</us-gaap:InterestPayableCurrent>
    <us-gaap:InterestPayableCurrent
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTpkYTM4OTFjYWMyY2Y0NDk0OWU3ODg5ZjFjODQwZTc4YS90YWJsZXJhbmdlOmRhMzg5MWNhYzJjZjQ0OTQ5ZTc4ODlmMWM4NDBlNzhhXzQtNC0xLTEtMA_2f1be1a7-7948-4782-be90-c7e02422a931"
      unitRef="usd">145000</us-gaap:InterestPayableCurrent>
    <exdx:AccruedPurchaseGoodsAndServicesCurrent
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTpkYTM4OTFjYWMyY2Y0NDk0OWU3ODg5ZjFjODQwZTc4YS90YWJsZXJhbmdlOmRhMzg5MWNhYzJjZjQ0OTQ5ZTc4ODlmMWM4NDBlNzhhXzUtMi0xLTEtMA_205edd23-7bea-4b3f-a729-cd932086467b"
      unitRef="usd">311000</exdx:AccruedPurchaseGoodsAndServicesCurrent>
    <exdx:AccruedPurchaseGoodsAndServicesCurrent
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTpkYTM4OTFjYWMyY2Y0NDk0OWU3ODg5ZjFjODQwZTc4YS90YWJsZXJhbmdlOmRhMzg5MWNhYzJjZjQ0OTQ5ZTc4ODlmMWM4NDBlNzhhXzUtNC0xLTEtMA_d1401c83-5141-4e49-98d0-812d8b5ce458"
      unitRef="usd">319000</exdx:AccruedPurchaseGoodsAndServicesCurrent>
    <us-gaap:AccruedRoyaltiesCurrent
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTpkYTM4OTFjYWMyY2Y0NDk0OWU3ODg5ZjFjODQwZTc4YS90YWJsZXJhbmdlOmRhMzg5MWNhYzJjZjQ0OTQ5ZTc4ODlmMWM4NDBlNzhhXzYtMi0xLTEtMA_9780a7c9-97ff-4c6f-9d7d-d75a1bfaa973"
      unitRef="usd">221000</us-gaap:AccruedRoyaltiesCurrent>
    <us-gaap:AccruedRoyaltiesCurrent
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTpkYTM4OTFjYWMyY2Y0NDk0OWU3ODg5ZjFjODQwZTc4YS90YWJsZXJhbmdlOmRhMzg5MWNhYzJjZjQ0OTQ5ZTc4ODlmMWM4NDBlNzhhXzYtNC0xLTEtMA_fc703410-8710-458a-804b-f37331530b6f"
      unitRef="usd">727000</us-gaap:AccruedRoyaltiesCurrent>
    <exdx:AccruedLiabilitiesClinicalStudyCurrent
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTpkYTM4OTFjYWMyY2Y0NDk0OWU3ODg5ZjFjODQwZTc4YS90YWJsZXJhbmdlOmRhMzg5MWNhYzJjZjQ0OTQ5ZTc4ODlmMWM4NDBlNzhhXzctMi0xLTEtMA_5bf15af6-61f0-4d05-9e5d-0c915d82ac26"
      unitRef="usd">228000</exdx:AccruedLiabilitiesClinicalStudyCurrent>
    <exdx:AccruedLiabilitiesClinicalStudyCurrent
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTpkYTM4OTFjYWMyY2Y0NDk0OWU3ODg5ZjFjODQwZTc4YS90YWJsZXJhbmdlOmRhMzg5MWNhYzJjZjQ0OTQ5ZTc4ODlmMWM4NDBlNzhhXzctNC0xLTEtMA_3986ae98-cce0-4ae1-a882-ffa9e6ce417a"
      unitRef="usd">40000</exdx:AccruedLiabilitiesClinicalStudyCurrent>
    <us-gaap:CapitalLeaseObligationsCurrent
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTpkYTM4OTFjYWMyY2Y0NDk0OWU3ODg5ZjFjODQwZTc4YS90YWJsZXJhbmdlOmRhMzg5MWNhYzJjZjQ0OTQ5ZTc4ODlmMWM4NDBlNzhhXzgtMi0xLTEtMA_01a494dc-26bd-4b06-98dd-0e4ea5ca9eed"
      unitRef="usd">308000</us-gaap:CapitalLeaseObligationsCurrent>
    <us-gaap:CapitalLeaseObligationsCurrent
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTpkYTM4OTFjYWMyY2Y0NDk0OWU3ODg5ZjFjODQwZTc4YS90YWJsZXJhbmdlOmRhMzg5MWNhYzJjZjQ0OTQ5ZTc4ODlmMWM4NDBlNzhhXzgtNC0xLTEtMA_ab1fe99c-e8ef-4563-a6ef-d8e2b32f6ea6"
      unitRef="usd">238000</us-gaap:CapitalLeaseObligationsCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTpkYTM4OTFjYWMyY2Y0NDk0OWU3ODg5ZjFjODQwZTc4YS90YWJsZXJhbmdlOmRhMzg5MWNhYzJjZjQ0OTQ5ZTc4ODlmMWM4NDBlNzhhXzktMi0xLTEtMA_974b1658-c772-48b8-84b2-a1d26bbd474d"
      unitRef="usd">953000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTpkYTM4OTFjYWMyY2Y0NDk0OWU3ODg5ZjFjODQwZTc4YS90YWJsZXJhbmdlOmRhMzg5MWNhYzJjZjQ0OTQ5ZTc4ODlmMWM4NDBlNzhhXzktNC0xLTEtMA_db581f9a-3cfa-45c6-83b4-80e0aae96728"
      unitRef="usd">588000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTpkYTM4OTFjYWMyY2Y0NDk0OWU3ODg5ZjFjODQwZTc4YS90YWJsZXJhbmdlOmRhMzg5MWNhYzJjZjQ0OTQ5ZTc4ODlmMWM4NDBlNzhhXzEwLTItMS0xLTA_4bc84171-5484-450a-94c2-47a06e46704e"
      unitRef="usd">5757000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMjcvZnJhZzpmYTJiZjk4NWRjYzM0ZDcwYWNmMTg4NjgwMjYwZjM0MS90YWJsZTpkYTM4OTFjYWMyY2Y0NDk0OWU3ODg5ZjFjODQwZTc4YS90YWJsZXJhbmdlOmRhMzg5MWNhYzJjZjQ0OTQ5ZTc4ODlmMWM4NDBlNzhhXzEwLTQtMS0xLTA_949041de-aeb3-4216-bab5-5941dbe51143"
      unitRef="usd">4419000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90ZXh0cmVnaW9uOjE1NTZlMzU0ZWQwMzQwYzJhMTEyN2NkYjQ3YjU5MGJkXzYyNjA_78faf463-c778-4781-9e6f-e575d89fd71d">Borrowings2017 Term Loan&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In September 2017, the Company executed a term loan agreement (the 2017 Term Loan) with Innovatus Life Sciences Lending Fund I, LP (Innovatus) and borrowed $20.0 million, $17.8 million of which was immediately used to repay the Company's existing loan with Capital Royalty Partners II L.P. and its affiliates. On December&#160;7, 2018, the Company borrowed an additional $5.0 million under the 2017 Term Loan. At December&#160;31, 2020, no additional amounts remain available to borrow under the 2017 Term Loan. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In November 2019, the Company executed the First Amendment to the Loan and Security Agreement (the 2017 Loan Amendment). The interest rate on all borrowings under the Loan Amendment is 8.5%, of which 2.0% is paid in-kind in the form of additional term loans (PIK Loans) until December of 2022, after which interest accrues at an annual rate of 8.5%. The Company has estimated the effective interest rate of this loan to be approximately 10%. Accrued interest is due and payable monthly, unless the Company elects to pay paid-in-kind interest. The outstanding principal and accrued interest on the Loan Amendment will be repaid in twenty-four equal monthly installments commencing in December 2022. Upon repayment of the final installment under the Loan Amendment, the Company is required to pay an additional fee of $1.0 million. This obligation is being accreted into interest expense over the term of Loan Amendment using the effective interest method. For each of the years ended December&#160;31, 2020 and 2019, the Company issued PIK Loans totaling $0.5 million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Loan Amendment requires a prepayment premium of 3% of the aggregate outstanding principal. The prepayment premium decreases by 1% during each subsequent twelve-month period after November&#160;19, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Loan Amendment is collateralized by a first priority security interest on substantially all of the Company's assets, including intellectual property. The affirmative covenants of the Loan Amendment require that the Company timely file taxes, maintain good standing and government compliance, maintain liability and other insurance, provide prompt notification of significant corporate events, and furnish audited financial statements within 150 days of fiscal year end without qualification as to the scope of the audit or as to going concern and without any other similar qualification.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The affirmative covenants require that the Company achieve a specified level of revenue, as measured quarterly on a rolling twelve-month basis, and commencing with the quarter ending December 31, 2019. The consequences of failing to achieve the performance covenant may be cured if, within sixty days of failing to achieve the performance covenant, the Company issues additional equity securities or subordinated debt with net proceeds sufficient to fund any cash flow deficiency generated from operations, as defined. The Company's revenues for the twelve-month ended September 30, 2020 were lower than the specified targets, as a result, the Company and Innovatus agreed on a new management plan and target to bring the Company back into compliance with the Loan Amendment. The Loan Amendment requires that the Company maintain certain levels of minimum liquidity. The Company is required to maintain an unrestricted cash balance of $2.0 million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The negative covenants provide, among other things, that without the prior consent of Innovatus subject to certain exceptions, the Company may not dispose of certain assets, engage in certain business combinations or acquisitions, incur additional indebtedness or encumber any of the Company's property, pay dividends on the Company's capital stock or make prohibited investments. The Loan Amendment agreement provides that an event of default will occur if, among other triggers, (i)&#160;the Company defaults in the payment of any amount payable under the agreement when due, (ii)&#160;there occurs any circumstance(s) that could reasonably be expected to result in a material adverse effect on the Company's business, operations or condition, or on the Company's ability to perform its obligations under the agreement, (iii)&#160;the Company becomes insolvent, (iv)&#160;the Company undergoes a change in control or (v)&#160;the Company breaches any negative covenants or certain affirmative covenants in the agreement or, subject to a cure period, otherwise neglects to perform or observe any material item in the agreement.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December&#160;31, 2020, the Company was in compliance with all covenants of the Loan Amendment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Upon an event of default in any of the Loan Amendment covenants, the repayment of the Loan Amendment may be accelerated and the applicable interest rate will be increased by 4.0% until the default is cured. Although repayment of the Loan Amendment can be accelerated under certain circumstances, the Company believes acceleration of this loan is not probable as of the date of these financial statements. Accordingly, the Company has reflected the amounts of the Loan Amendment due beyond twelve months of the balance sheet date as non-current.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Future Minimum Payments on the Outstanding Borrowings&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2020, future minimum aggregate payments, including interest, for outstanding borrowings under the Loan Amendment are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:82.233%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.837%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Years Ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,755&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2,996&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;15,619&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;14,280&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;34,650&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Less:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Unamortized debt discount and issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(296)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(7,695)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total borrowings, net of discounts and debt issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;26,659&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="ife50f4946ea24f0c9f4e38cbd7f1110e_D20170901-20170930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90ZXh0cmVnaW9uOjE1NTZlMzU0ZWQwMzQwYzJhMTEyN2NkYjQ3YjU5MGJkXzE5Ng_1039ca99-c422-4f97-b84d-e4e63aac4c8d"
      unitRef="usd">20000000.0</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="iac6c4076618141cbb3d72f35bc91b3a9_D20170901-20170930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90ZXh0cmVnaW9uOjE1NTZlMzU0ZWQwMzQwYzJhMTEyN2NkYjQ3YjU5MGJkXzIwMA_b74293dd-ea04-48f9-b756-0826ef3492c2"
      unitRef="usd">17800000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="i54e6b9922db74a3a9cb86c52f2a90cc9_D20181207-20181207"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90ZXh0cmVnaW9uOjE1NTZlMzU0ZWQwMzQwYzJhMTEyN2NkYjQ3YjU5MGJkXzM4NA_a0accddf-db26-4ac0-9168-68e9d63aee77"
      unitRef="usd">5000000.0</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="id42bbd7899154e72a4ec0bed957b96f6_I20191130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90ZXh0cmVnaW9uOjE1NTZlMzU0ZWQwMzQwYzJhMTEyN2NkYjQ3YjU5MGJkXzY3Mg_a54cbcd6-b559-4111-bef3-a64dfc8c9b06"
      unitRef="number">0.085</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <exdx:DebtInstrumentStatedInterestRatePaidInKind
      contextRef="id42bbd7899154e72a4ec0bed957b96f6_I20191130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90ZXh0cmVnaW9uOjE1NTZlMzU0ZWQwMzQwYzJhMTEyN2NkYjQ3YjU5MGJkXzY4NQ_5fff7f58-bd56-4cd0-b378-0379012838ac"
      unitRef="number">0.020</exdx:DebtInstrumentStatedInterestRatePaidInKind>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="id42bbd7899154e72a4ec0bed957b96f6_I20191130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90ZXh0cmVnaW9uOjE1NTZlMzU0ZWQwMzQwYzJhMTEyN2NkYjQ3YjU5MGJkXzgzMA_a54cbcd6-b559-4111-bef3-a64dfc8c9b06"
      unitRef="number">0.085</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i93863c5d02f74d6fbddc2c9e1ada92b6_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90ZXh0cmVnaW9uOjE1NTZlMzU0ZWQwMzQwYzJhMTEyN2NkYjQ3YjU5MGJkXzkyMQ_0ad3e638-a09c-4cab-b793-77f468f3ee39"
      unitRef="number">0.10</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <exdx:DebtInstrumentPeriodicPrincipalNumberOfPayments
      contextRef="i0e96141de3c64fe29a0de8fc804cff2f_D20191101-20191130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90ZXh0cmVnaW9uOjE1NTZlMzU0ZWQwMzQwYzJhMTEyN2NkYjQ3YjU5MGJkXzI3NDg3NzkwNzc3NjE_511c55ab-a0d3-4615-815f-b49d1b0f6626"
      unitRef="payment">24</exdx:DebtInstrumentPeriodicPrincipalNumberOfPayments>
    <us-gaap:DebtInstrumentFeeAmount
      contextRef="i93863c5d02f74d6fbddc2c9e1ada92b6_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90ZXh0cmVnaW9uOjE1NTZlMzU0ZWQwMzQwYzJhMTEyN2NkYjQ3YjU5MGJkXzEyOTA_c1f41086-2500-47d7-a192-46f71ee1fb94"
      unitRef="usd">1000000.0</us-gaap:DebtInstrumentFeeAmount>
    <exdx:DebtInstrumentPaidInKindLoansIssued
      contextRef="i5149cc8ef1ff4fac911ed00c49b7db71_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90ZXh0cmVnaW9uOjE1NTZlMzU0ZWQwMzQwYzJhMTEyN2NkYjQ3YjU5MGJkXzE0OTA_4ad86c41-4d8f-4700-be6b-1694fdb79229"
      unitRef="usd">500000</exdx:DebtInstrumentPaidInKindLoansIssued>
    <exdx:DebtInstrumentPaidInKindLoansIssued
      contextRef="i6e5ddd398de1458e8e1e64f2e9afd8d4_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90ZXh0cmVnaW9uOjE1NTZlMzU0ZWQwMzQwYzJhMTEyN2NkYjQ3YjU5MGJkXzE0OTA_5e71b29b-ea62-4533-a449-ddb26e9b8781"
      unitRef="usd">500000</exdx:DebtInstrumentPaidInKindLoansIssued>
    <exdx:DebtInstrumentPrepaymentPremiumPercentage
      contextRef="i93863c5d02f74d6fbddc2c9e1ada92b6_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90ZXh0cmVnaW9uOjE1NTZlMzU0ZWQwMzQwYzJhMTEyN2NkYjQ3YjU5MGJkXzE2NDI_632075b6-eb35-44e7-8953-ec847587144d"
      unitRef="number">0.03</exdx:DebtInstrumentPrepaymentPremiumPercentage>
    <exdx:DebtInstrumentPrepaymentPremiumPercentageAnnualReduction
      contextRef="i93863c5d02f74d6fbddc2c9e1ada92b6_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90ZXh0cmVnaW9uOjE1NTZlMzU0ZWQwMzQwYzJhMTEyN2NkYjQ3YjU5MGJkXzI3NDg3NzkwNzc3MDA_51af8d64-d137-4818-b824-7de4c1da91f8"
      unitRef="number">0.01</exdx:DebtInstrumentPrepaymentPremiumPercentageAnnualReduction>
    <exdx:DebtInstrumentCovenantRevenuePerformancePeriod
      contextRef="ia4e8d767ab4e4e08b29e497a8ba26739_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90ZXh0cmVnaW9uOjE1NTZlMzU0ZWQwMzQwYzJhMTEyN2NkYjQ3YjU5MGJkXzI3NDg3NzkwNzc4MjE_c5159251-87a9-4712-8919-9e12e01f2193">P12M</exdx:DebtInstrumentCovenantRevenuePerformancePeriod>
    <exdx:DebtInstrumentCovenantNumberOfDaysToCureIfPerformanceMeasureIsNotMet
      contextRef="ia4e8d767ab4e4e08b29e497a8ba26739_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90ZXh0cmVnaW9uOjE1NTZlMzU0ZWQwMzQwYzJhMTEyN2NkYjQ3YjU5MGJkXzI3NDg3NzkwNzc3Nzc_aebbe43e-b250-4489-990a-2fd92ce372c4">P60D</exdx:DebtInstrumentCovenantNumberOfDaysToCureIfPerformanceMeasureIsNotMet>
    <exdx:DebtInstrumentCovenantRevenuePerformancePeriod
      contextRef="ia4e8d767ab4e4e08b29e497a8ba26739_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90ZXh0cmVnaW9uOjE1NTZlMzU0ZWQwMzQwYzJhMTEyN2NkYjQ3YjU5MGJkXzI3NDg3NzkwNzc4MjI_35001460-bb4a-46a5-8426-9eca16d3ba9d">P12M</exdx:DebtInstrumentCovenantRevenuePerformancePeriod>
    <exdx:DebtInstrumentCovenantComplianceMinimumUnrestrictedCashBalance
      contextRef="i93863c5d02f74d6fbddc2c9e1ada92b6_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90ZXh0cmVnaW9uOjE1NTZlMzU0ZWQwMzQwYzJhMTEyN2NkYjQ3YjU5MGJkXzMwNjI_365c5ed7-65d1-4446-92ac-78ba419a4a78"
      unitRef="usd">2000000.0</exdx:DebtInstrumentCovenantComplianceMinimumUnrestrictedCashBalance>
    <exdx:DebtInstrumentCovenantNonComplianceInterestRateIncreaseDecrease
      contextRef="i93863c5d02f74d6fbddc2c9e1ada92b6_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90ZXh0cmVnaW9uOjE1NTZlMzU0ZWQwMzQwYzJhMTEyN2NkYjQ3YjU5MGJkXzQ0MzE_14233ada-041c-400c-95d2-33d64cf996fd"
      unitRef="number">0.040</exdx:DebtInstrumentCovenantNonComplianceInterestRateIncreaseDecrease>
    <us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90ZXh0cmVnaW9uOjE1NTZlMzU0ZWQwMzQwYzJhMTEyN2NkYjQ3YjU5MGJkXzYyNjE_ff725a3a-b648-4b4c-9b69-0cae915a9e2a">As of December&#160;31, 2020, future minimum aggregate payments, including interest, for outstanding borrowings under the Loan Amendment are as follows (in thousands):&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:82.233%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.837%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Years Ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,755&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2,996&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;15,619&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;14,280&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;34,650&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Less:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Unamortized debt discount and issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(296)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(7,695)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total borrowings, net of discounts and debt issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;26,659&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90YWJsZTowY2U3YTQ4Nzk4YTI0ZThjYTY1NDdlYjA2NGE5MjFmNi90YWJsZXJhbmdlOjBjZTdhNDg3OThhMjRlOGNhNjU0N2ViMDY0YTkyMWY2XzMtMi0xLTEtMA_4affd64f-34b2-442e-a606-d34cbed3b895"
      unitRef="usd">1755000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90YWJsZTowY2U3YTQ4Nzk4YTI0ZThjYTY1NDdlYjA2NGE5MjFmNi90YWJsZXJhbmdlOjBjZTdhNDg3OThhMjRlOGNhNjU0N2ViMDY0YTkyMWY2XzQtMi0xLTEtMA_7086c7f1-9e4c-4c66-969a-021aced9566a"
      unitRef="usd">2996000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90YWJsZTowY2U3YTQ4Nzk4YTI0ZThjYTY1NDdlYjA2NGE5MjFmNi90YWJsZXJhbmdlOjBjZTdhNDg3OThhMjRlOGNhNjU0N2ViMDY0YTkyMWY2XzUtMi0xLTEtMA_0f7146f8-c624-4353-89e6-96efbafdd795"
      unitRef="usd">15619000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90YWJsZTowY2U3YTQ4Nzk4YTI0ZThjYTY1NDdlYjA2NGE5MjFmNi90YWJsZXJhbmdlOjBjZTdhNDg3OThhMjRlOGNhNjU0N2ViMDY0YTkyMWY2XzYtMi0xLTEtMA_d33af9a9-b236-4558-9d8d-fa14660ea1c1"
      unitRef="usd">14280000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour>
    <exdx:LongTermDebtIncludingUndiscountedInterest
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90YWJsZTowY2U3YTQ4Nzk4YTI0ZThjYTY1NDdlYjA2NGE5MjFmNi90YWJsZXJhbmdlOjBjZTdhNDg3OThhMjRlOGNhNjU0N2ViMDY0YTkyMWY2XzctMi0xLTEtMA_9bda6c13-479f-4c72-8fd4-2231e2c649c9"
      unitRef="usd">34650000</exdx:LongTermDebtIncludingUndiscountedInterest>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90YWJsZTowY2U3YTQ4Nzk4YTI0ZThjYTY1NDdlYjA2NGE5MjFmNi90YWJsZXJhbmdlOjBjZTdhNDg3OThhMjRlOGNhNjU0N2ViMDY0YTkyMWY2XzktMi0xLTEtMA_edde505b-6e24-4137-88a7-aec2d0342abd"
      unitRef="usd">296000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet>
    <exdx:LongTermDebtUndiscountedInterestAmount
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90YWJsZTowY2U3YTQ4Nzk4YTI0ZThjYTY1NDdlYjA2NGE5MjFmNi90YWJsZXJhbmdlOjBjZTdhNDg3OThhMjRlOGNhNjU0N2ViMDY0YTkyMWY2XzEwLTItMS0xLTA_476dcbb3-69ed-4c47-a847-f1efd16e8959"
      unitRef="usd">7695000</exdx:LongTermDebtUndiscountedInterestAmount>
    <us-gaap:LongTermDebt
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzAvZnJhZzoxNTU2ZTM1NGVkMDM0MGMyYTExMjdjZGI0N2I1OTBiZC90YWJsZTowY2U3YTQ4Nzk4YTI0ZThjYTY1NDdlYjA2NGE5MjFmNi90YWJsZXJhbmdlOjBjZTdhNDg3OThhMjRlOGNhNjU0N2ViMDY0YTkyMWY2XzExLTItMS0xLTA_0558d1fe-eb07-454f-8ba2-9063e82f9fad"
      unitRef="usd">26659000</us-gaap:LongTermDebt>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90ZXh0cmVnaW9uOjdkYzJjYjI3YzM0NTRmZjNhOTE0ZmVjODU3MDU0ZTYwXzM1ODc_f46f0ced-b805-4cbb-891a-2d1340f3c202">Commitments and Contingencies&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Leases&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December 31, 2020, the Company leases office and laboratory space in Vista, California, under leases that expire in January 2026, with an option to extend a portion of the lease for an additional 5-year period. In addition, the Company also leases additional office space in Vista, California, under a lease that expires in January 2026 with an option to extend the lease for an additional 5-year period. The Company's lease payments under each of these leases are subject to escalation clauses.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Minimum annual lease payments under non-cancelable lease arrangements at December&#160;31, 2020 are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:55.332%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.783%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.785%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;Years Ending December 31,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Capital Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;344&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;590&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;318&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;613&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;231&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;626&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;58&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;640&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;654&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;55&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;951&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;3,178&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Less: amount representing interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(67)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Present value of future minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;884&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Less: current portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(308)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Long-term capital lease obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;576&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:15pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the years ended December&#160;31, 2020 and 2019, rent expense was $0.6 million and $0.5 million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Acquisition-related liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In connection with the acquisition of the medical diagnostics division of Cypress Bioscience, Inc. in 2010, the Company was required to pay certain amounts in the event that certain revenue milestones were achieved and upon the first commercial sale of a product associated with this acquisition. The acquisition also included amounts that may be due under several licensing agreements. All milestone payments other than one have been paid as of December 31, 2017. The remaining milestone obligation is for an additional $2.0 million payment due to Prometheus Laboratories, Inc. (Prometheus) for which the fair value was determined to be zero at December&#160;31, 2020 and 2019.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In addition, the Company has ongoing royalty payment obligations on net sales of products which incorporate certain acquired technologies of 2.5%. Future royalties payable under these arrangements are limited to the lesser &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;of an aggregate of $1.2 million (including an upfront payment of $100,000) or the total royalties earned through January 1, 2024.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Licensing Agreements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has licensed technology for use in its diagnostic tests. In addition to the milestone payments required by these agreements as described above, individual license agreements generally provide for ongoing royalty payments on net sales of products which incorporate licensed technology, as defined, ranging from 2.0% to 3.0%. Royalties are accrued when earned and recorded in costs of revenue in the accompanying statement of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Supply Agreement&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:4pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In September 2020, the Company entered into an amended supply agreement with one supplier for reagents which includes minimum annual purchase commitments of $4.1 million and $6.0 million for years ended December 31, 2021 and 2022, respectively, with a 15% annual increase thereafter through the year ended December 31, 2025.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Contingencies&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the normal course of business, the Company enters into contracts and agreements that contain a variety of representations and warranties and provide for general indemnifications; including subpoenas and other civil investigative demands, from governmental agencies, Medicare or Medicaid payors and managed care organizations reviewing billing practices or requesting comment on allegations of billing irregularities that are brought to their attention through billing audits or third parties. The Company's exposure under these agreements is unknown because it involves claims that may be made against the Company in the future, but have not yet been made or of which of the Company believes to be immaterial. The Company accrues a liability for such matters when it is probable that future expenditures will be made and such expenditures can be reasonably estimated.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Litigation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;From time to time, the Company may be subject to various legal proceedings that arise in the ordinary course of business activities.&lt;/span&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <exdx:OperatingLeasesRenewalTerm
      contextRef="ic0b28ea3fe8a47bb9b1c724647721207_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90ZXh0cmVnaW9uOjdkYzJjYjI3YzM0NTRmZjNhOTE0ZmVjODU3MDU0ZTYwXzMyOTg1MzQ4ODc4MTc_5a476150-bbed-4186-9a5e-4f30bab2bb92">P5Y</exdx:OperatingLeasesRenewalTerm>
    <exdx:OperatingLeasesRenewalTerm
      contextRef="i1cd6af4be1f145b0979bab0cafe7ad2b_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90ZXh0cmVnaW9uOjdkYzJjYjI3YzM0NTRmZjNhOTE0ZmVjODU3MDU0ZTYwXzMyOTg1MzQ4ODc4NDA_2b4c0d0c-335a-4c1e-affa-5204851a17c1">P5Y</exdx:OperatingLeasesRenewalTerm>
    <us-gaap:ScheduleOfFutureMinimumLeasePaymentsForCapitalLeasesTableTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90ZXh0cmVnaW9uOjdkYzJjYjI3YzM0NTRmZjNhOTE0ZmVjODU3MDU0ZTYwXzM1ODg_90ae3ed9-82f6-4df7-833f-9610cbfe09d8">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Minimum annual lease payments under non-cancelable lease arrangements at December&#160;31, 2020 are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:55.332%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.783%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.785%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;Years Ending December 31,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Capital Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;344&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;590&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;318&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;613&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;231&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;626&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;58&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;640&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;654&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;55&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;951&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;3,178&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Less: amount representing interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(67)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Present value of future minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;884&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Less: current portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(308)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Long-term capital lease obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;576&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFutureMinimumLeasePaymentsForCapitalLeasesTableTextBlock>
    <us-gaap:ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90ZXh0cmVnaW9uOjdkYzJjYjI3YzM0NTRmZjNhOTE0ZmVjODU3MDU0ZTYwXzM1ODk_1f340024-0914-40cd-943e-18d404d79680">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Minimum annual lease payments under non-cancelable lease arrangements at December&#160;31, 2020 are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:55.332%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.783%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.785%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;Years Ending December 31,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Capital Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;344&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;590&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;318&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;613&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;231&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;626&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;58&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;640&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;654&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;55&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;951&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;3,178&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Less: amount representing interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(67)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Present value of future minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;884&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Less: current portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(308)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Long-term capital lease obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;576&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock>
    <us-gaap:CapitalLeasesFutureMinimumPaymentsDueCurrent
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90YWJsZToxMmFiNGFiYTdlMGE0YzQwYjlhODlkY2FiMGM0ODUzMy90YWJsZXJhbmdlOjEyYWI0YWJhN2UwYTRjNDBiOWE4OWRjYWIwYzQ4NTMzXzEtMi0xLTEtMA_30d7d8e3-9e72-4e0a-aa86-b9b99ad436c8"
      unitRef="usd">344000</us-gaap:CapitalLeasesFutureMinimumPaymentsDueCurrent>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90YWJsZToxMmFiNGFiYTdlMGE0YzQwYjlhODlkY2FiMGM0ODUzMy90YWJsZXJhbmdlOjEyYWI0YWJhN2UwYTRjNDBiOWE4OWRjYWIwYzQ4NTMzXzEtNC0xLTEtMA_77580fa0-fd91-440b-8e93-c98e0122870d"
      unitRef="usd">590000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent>
    <us-gaap:CapitalLeasesFutureMinimumPaymentsDueInTwoYears
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90YWJsZToxMmFiNGFiYTdlMGE0YzQwYjlhODlkY2FiMGM0ODUzMy90YWJsZXJhbmdlOjEyYWI0YWJhN2UwYTRjNDBiOWE4OWRjYWIwYzQ4NTMzXzItMi0xLTEtMA_a968358c-e9c2-4575-8ad7-d325d2d21c14"
      unitRef="usd">318000</us-gaap:CapitalLeasesFutureMinimumPaymentsDueInTwoYears>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90YWJsZToxMmFiNGFiYTdlMGE0YzQwYjlhODlkY2FiMGM0ODUzMy90YWJsZXJhbmdlOjEyYWI0YWJhN2UwYTRjNDBiOWE4OWRjYWIwYzQ4NTMzXzItNC0xLTEtMA_82339cf4-76e3-4477-a940-92165950752b"
      unitRef="usd">613000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears>
    <us-gaap:CapitalLeasesFutureMinimumPaymentsDueInThreeYears
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90YWJsZToxMmFiNGFiYTdlMGE0YzQwYjlhODlkY2FiMGM0ODUzMy90YWJsZXJhbmdlOjEyYWI0YWJhN2UwYTRjNDBiOWE4OWRjYWIwYzQ4NTMzXzMtMi0xLTEtMA_4412dc76-dd1d-43fc-957e-006b66d212cb"
      unitRef="usd">231000</us-gaap:CapitalLeasesFutureMinimumPaymentsDueInThreeYears>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInThreeYears
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90YWJsZToxMmFiNGFiYTdlMGE0YzQwYjlhODlkY2FiMGM0ODUzMy90YWJsZXJhbmdlOjEyYWI0YWJhN2UwYTRjNDBiOWE4OWRjYWIwYzQ4NTMzXzMtNC0xLTEtMA_e5cbbfd5-11cd-4d62-8a57-e20bedae57bc"
      unitRef="usd">626000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInThreeYears>
    <us-gaap:CapitalLeasesFutureMinimumPaymentsDueInFourYears
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90YWJsZToxMmFiNGFiYTdlMGE0YzQwYjlhODlkY2FiMGM0ODUzMy90YWJsZXJhbmdlOjEyYWI0YWJhN2UwYTRjNDBiOWE4OWRjYWIwYzQ4NTMzXzQtMi0xLTEtMA_722bf575-0a36-480e-9920-5db761103bac"
      unitRef="usd">58000</us-gaap:CapitalLeasesFutureMinimumPaymentsDueInFourYears>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFourYears
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90YWJsZToxMmFiNGFiYTdlMGE0YzQwYjlhODlkY2FiMGM0ODUzMy90YWJsZXJhbmdlOjEyYWI0YWJhN2UwYTRjNDBiOWE4OWRjYWIwYzQ4NTMzXzQtNC0xLTEtMA_67802f9a-f9cb-4142-bafd-da2f33340c80"
      unitRef="usd">640000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFourYears>
    <us-gaap:CapitalLeasesFutureMinimumPaymentsDueInFiveYears
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90YWJsZToxMmFiNGFiYTdlMGE0YzQwYjlhODlkY2FiMGM0ODUzMy90YWJsZXJhbmdlOjEyYWI0YWJhN2UwYTRjNDBiOWE4OWRjYWIwYzQ4NTMzXzUtMi0xLTEtMA_7da67c09-197e-4367-a785-d22618e7b934"
      unitRef="usd">0</us-gaap:CapitalLeasesFutureMinimumPaymentsDueInFiveYears>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFiveYears
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90YWJsZToxMmFiNGFiYTdlMGE0YzQwYjlhODlkY2FiMGM0ODUzMy90YWJsZXJhbmdlOjEyYWI0YWJhN2UwYTRjNDBiOWE4OWRjYWIwYzQ4NTMzXzUtNC0xLTEtMA_268aefd7-1973-4046-8cad-ab3c9919e0c7"
      unitRef="usd">654000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFiveYears>
    <us-gaap:CapitalLeasesFutureMinimumPaymentsDueThereafter
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90YWJsZToxMmFiNGFiYTdlMGE0YzQwYjlhODlkY2FiMGM0ODUzMy90YWJsZXJhbmdlOjEyYWI0YWJhN2UwYTRjNDBiOWE4OWRjYWIwYzQ4NTMzXzYtMi0xLTEtMTUzNA_ac943596-3036-4946-94d4-f95649fc961c"
      unitRef="usd">0</us-gaap:CapitalLeasesFutureMinimumPaymentsDueThereafter>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDueThereafter
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90YWJsZToxMmFiNGFiYTdlMGE0YzQwYjlhODlkY2FiMGM0ODUzMy90YWJsZXJhbmdlOjEyYWI0YWJhN2UwYTRjNDBiOWE4OWRjYWIwYzQ4NTMzXzYtNC0xLTEtMTUyNw_7e425711-aef0-46f6-8328-13b1dda273ff"
      unitRef="usd">55000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueThereafter>
    <us-gaap:CapitalLeasesFutureMinimumPaymentsDue
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90YWJsZToxMmFiNGFiYTdlMGE0YzQwYjlhODlkY2FiMGM0ODUzMy90YWJsZXJhbmdlOjEyYWI0YWJhN2UwYTRjNDBiOWE4OWRjYWIwYzQ4NTMzXzYtMi0xLTEtMA_8425e70d-69de-4ebd-b783-4462461cea1f"
      unitRef="usd">951000</us-gaap:CapitalLeasesFutureMinimumPaymentsDue>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDue
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90YWJsZToxMmFiNGFiYTdlMGE0YzQwYjlhODlkY2FiMGM0ODUzMy90YWJsZXJhbmdlOjEyYWI0YWJhN2UwYTRjNDBiOWE4OWRjYWIwYzQ4NTMzXzYtNC0xLTEtMA_54a13c61-a3ea-4f39-a180-f6ee232b3eac"
      unitRef="usd">3178000</us-gaap:OperatingLeasesFutureMinimumPaymentsDue>
    <us-gaap:CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90YWJsZToxMmFiNGFiYTdlMGE0YzQwYjlhODlkY2FiMGM0ODUzMy90YWJsZXJhbmdlOjEyYWI0YWJhN2UwYTRjNDBiOWE4OWRjYWIwYzQ4NTMzXzctMi0xLTEtMA_0be59907-de05-47d1-94b0-edb62dd81891"
      unitRef="usd">67000</us-gaap:CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments>
    <us-gaap:CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90YWJsZToxMmFiNGFiYTdlMGE0YzQwYjlhODlkY2FiMGM0ODUzMy90YWJsZXJhbmdlOjEyYWI0YWJhN2UwYTRjNDBiOWE4OWRjYWIwYzQ4NTMzXzgtMi0xLTEtMA_3802f8a1-9a05-40cc-9ffa-909f817e11f5"
      unitRef="usd">884000</us-gaap:CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments>
    <us-gaap:CapitalLeaseObligationsCurrent
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90YWJsZToxMmFiNGFiYTdlMGE0YzQwYjlhODlkY2FiMGM0ODUzMy90YWJsZXJhbmdlOjEyYWI0YWJhN2UwYTRjNDBiOWE4OWRjYWIwYzQ4NTMzXzktMi0xLTEtMA_ef24b2af-7027-40a4-a3ce-d8cbdcf3161d"
      unitRef="usd">308000</us-gaap:CapitalLeaseObligationsCurrent>
    <us-gaap:CapitalLeaseObligationsNoncurrent
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90YWJsZToxMmFiNGFiYTdlMGE0YzQwYjlhODlkY2FiMGM0ODUzMy90YWJsZXJhbmdlOjEyYWI0YWJhN2UwYTRjNDBiOWE4OWRjYWIwYzQ4NTMzXzEwLTItMS0xLTA_1709ed05-c73f-45c2-85e0-37ea26ceccf9"
      unitRef="usd">576000</us-gaap:CapitalLeaseObligationsNoncurrent>
    <us-gaap:LeaseAndRentalExpense
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90ZXh0cmVnaW9uOjdkYzJjYjI3YzM0NTRmZjNhOTE0ZmVjODU3MDU0ZTYwXzY5OQ_906b456e-4b9d-4b48-9c65-c85e390f588d"
      unitRef="usd">600000</us-gaap:LeaseAndRentalExpense>
    <us-gaap:LeaseAndRentalExpense
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90ZXh0cmVnaW9uOjdkYzJjYjI3YzM0NTRmZjNhOTE0ZmVjODU3MDU0ZTYwXzcxNA_537bdb0b-9a16-4bae-a432-76d404f101ad"
      unitRef="usd">500000</us-gaap:LeaseAndRentalExpense>
    <exdx:MilestoneObligation
      contextRef="icf87f2f3f4094314ace80d3de6cfbb51_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90ZXh0cmVnaW9uOjdkYzJjYjI3YzM0NTRmZjNhOTE0ZmVjODU3MDU0ZTYwXzEyOTM_c228474f-18bb-4371-840f-b31798162cdb"
      unitRef="usd">2000000.0</exdx:MilestoneObligation>
    <exdx:MilestoneContingencyFairValueDisclosure
      contextRef="icf87f2f3f4094314ace80d3de6cfbb51_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90ZXh0cmVnaW9uOjdkYzJjYjI3YzM0NTRmZjNhOTE0ZmVjODU3MDU0ZTYwXzE0MDA_2f98fd2e-d285-4273-880a-6d76a60dc397"
      unitRef="usd">0</exdx:MilestoneContingencyFairValueDisclosure>
    <exdx:MilestoneContingencyFairValueDisclosure
      contextRef="i626d033bbe12451bb544fb9ccd602d11_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90ZXh0cmVnaW9uOjdkYzJjYjI3YzM0NTRmZjNhOTE0ZmVjODU3MDU0ZTYwXzE0MDA_3b767749-0cbc-4310-a3c5-28f2cf224421"
      unitRef="usd">0</exdx:MilestoneContingencyFairValueDisclosure>
    <exdx:RoyaltyObligationPercentageOfSales
      contextRef="icf87f2f3f4094314ace80d3de6cfbb51_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90ZXh0cmVnaW9uOjdkYzJjYjI3YzM0NTRmZjNhOTE0ZmVjODU3MDU0ZTYwXzE1Njg_a1b680cb-d4fd-4cb7-937d-e6c14ac662d4"
      unitRef="number">0.025</exdx:RoyaltyObligationPercentageOfSales>
    <us-gaap:RoyaltyGuaranteesCommitmentsAmount
      contextRef="icf87f2f3f4094314ace80d3de6cfbb51_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90ZXh0cmVnaW9uOjdkYzJjYjI3YzM0NTRmZjNhOTE0ZmVjODU3MDU0ZTYwXzEwOTk1MTE2MzIzMTA_377badf6-c79d-4077-9299-e8c2f02e569c"
      unitRef="usd">1200000</us-gaap:RoyaltyGuaranteesCommitmentsAmount>
    <exdx:AdvancePayment
      contextRef="icf87f2f3f4094314ace80d3de6cfbb51_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90ZXh0cmVnaW9uOjdkYzJjYjI3YzM0NTRmZjNhOTE0ZmVjODU3MDU0ZTYwXzE3MTc_d53bd181-9f03-4f00-9393-409cc0bcab03"
      unitRef="usd">100000</exdx:AdvancePayment>
    <exdx:RoyaltyObligationPercentageOfSales
      contextRef="if5eb4831058d4b62a7506f80397c58e7_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90ZXh0cmVnaW9uOjdkYzJjYjI3YzM0NTRmZjNhOTE0ZmVjODU3MDU0ZTYwXzIxMTk_3ca7cfce-2d9f-4e90-9f33-7fe5152c1279"
      unitRef="number">0.020</exdx:RoyaltyObligationPercentageOfSales>
    <exdx:RoyaltyObligationPercentageOfSales
      contextRef="i90378dc8f33d4c0db9c9f5e510cefc73_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90ZXh0cmVnaW9uOjdkYzJjYjI3YzM0NTRmZjNhOTE0ZmVjODU3MDU0ZTYwXzIxMjU_4defd53f-c965-47c2-a411-2a46cde8b9f9"
      unitRef="number">0.030</exdx:RoyaltyObligationPercentageOfSales>
    <us-gaap:PurchaseObligationDueInNextTwelveMonths
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90ZXh0cmVnaW9uOjdkYzJjYjI3YzM0NTRmZjNhOTE0ZmVjODU3MDU0ZTYwXzEwOTk1MTE2MzIwMzM_d82edece-5451-4e12-a4d4-4f6f343690f2"
      unitRef="usd">4100000</us-gaap:PurchaseObligationDueInNextTwelveMonths>
    <us-gaap:PurchaseObligationDueInSecondYear
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90ZXh0cmVnaW9uOjdkYzJjYjI3YzM0NTRmZjNhOTE0ZmVjODU3MDU0ZTYwXzEwOTk1MTE2MzIwNDA_32dd2429-cce4-43e0-be65-47b33620b6ac"
      unitRef="usd">6000000.0</us-gaap:PurchaseObligationDueInSecondYear>
    <exdx:PurchaseObligationAnnualIncreaseInCommitmentPercentage
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzYvZnJhZzo3ZGMyY2IyN2MzNDU0ZmYzYTkxNGZlYzg1NzA1NGU2MC90ZXh0cmVnaW9uOjdkYzJjYjI3YzM0NTRmZjNhOTE0ZmVjODU3MDU0ZTYwXzMyOTg1MzQ4ODc4MDY_314cb15c-affe-445c-b27d-5afc331bcff9"
      unitRef="number">0.15</exdx:PurchaseObligationAnnualIncreaseInCommitmentPercentage>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzkvZnJhZzphZWE0MjYwM2EyZWY0MWI1YWIxZGIyYjU1YzFlMDg2OS90ZXh0cmVnaW9uOmFlYTQyNjAzYTJlZjQxYjVhYjFkYjJiNTVjMWUwODY5XzY3NQ_8e33f583-87e3-40a0-8cbd-4165aa13151c">Fair Value Measurements&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the Company's financial instruments that were measured at fair value on a recurring basis within the fair value hierarchy (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:53.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.426%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.426%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.426%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.432%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Level&#160;1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Level&#160;2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Level&#160;3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;34,507&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;34,507&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:53.285%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.579%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Level&#160;1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Level&#160;2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Level&#160;3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;70,760&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;70,760&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value of the Company's money market funds is based on quoted market prices.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzkvZnJhZzphZWE0MjYwM2EyZWY0MWI1YWIxZGIyYjU1YzFlMDg2OS90ZXh0cmVnaW9uOmFlYTQyNjAzYTJlZjQxYjVhYjFkYjJiNTVjMWUwODY5XzY3Ng_fccc6a66-33d7-4f8b-9be4-83954fe1d760">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the Company's financial instruments that were measured at fair value on a recurring basis within the fair value hierarchy (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:53.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.426%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.426%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.426%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.432%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Level&#160;1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Level&#160;2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Level&#160;3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;34,507&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;34,507&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:53.285%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.579%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Level&#160;1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Level&#160;2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Level&#160;3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;70,760&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;70,760&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="iba13f5e80e074fd6b19a2bdd3acd9e2c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzkvZnJhZzphZWE0MjYwM2EyZWY0MWI1YWIxZGIyYjU1YzFlMDg2OS90YWJsZToyNjQ1ODAzYTE5NmM0ZTlkYWU3YjIxZmVhMTgwZTVlZi90YWJsZXJhbmdlOjI2NDU4MDNhMTk2YzRlOWRhZTdiMjFmZWExODBlNWVmXzMtMi0xLTEtMA_863309f0-7c2b-4283-a818-8070837c4a9a"
      unitRef="usd">34507000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i13eef4c0f9f34ead9206411d3e70f27f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzkvZnJhZzphZWE0MjYwM2EyZWY0MWI1YWIxZGIyYjU1YzFlMDg2OS90YWJsZToyNjQ1ODAzYTE5NmM0ZTlkYWU3YjIxZmVhMTgwZTVlZi90YWJsZXJhbmdlOjI2NDU4MDNhMTk2YzRlOWRhZTdiMjFmZWExODBlNWVmXzMtNC0xLTEtMA_f6db0336-8fdb-41d7-b802-a5e4e12cefb9"
      unitRef="usd">34507000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i1b416cd8bb1f4d6f86d98f542ac3cc5d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzkvZnJhZzphZWE0MjYwM2EyZWY0MWI1YWIxZGIyYjU1YzFlMDg2OS90YWJsZToyNjQ1ODAzYTE5NmM0ZTlkYWU3YjIxZmVhMTgwZTVlZi90YWJsZXJhbmdlOjI2NDU4MDNhMTk2YzRlOWRhZTdiMjFmZWExODBlNWVmXzMtNi0xLTEtMA_f8c2c774-ead6-4986-b05b-662a16c3e9b3"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ibe0eeb17dc7c4414a87f1ab0a5c0341f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzkvZnJhZzphZWE0MjYwM2EyZWY0MWI1YWIxZGIyYjU1YzFlMDg2OS90YWJsZToyNjQ1ODAzYTE5NmM0ZTlkYWU3YjIxZmVhMTgwZTVlZi90YWJsZXJhbmdlOjI2NDU4MDNhMTk2YzRlOWRhZTdiMjFmZWExODBlNWVmXzMtOC0xLTEtMA_376cf697-839c-448a-b3f4-7c044498a4e1"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i44d0579e1e494431ae288f59027174a1_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzkvZnJhZzphZWE0MjYwM2EyZWY0MWI1YWIxZGIyYjU1YzFlMDg2OS90YWJsZTo2OGI0ODgwN2I1Zjk0YjA3YWFkNTFmYzE0NTUxYzAxMC90YWJsZXJhbmdlOjY4YjQ4ODA3YjVmOTRiMDdhYWQ1MWZjMTQ1NTFjMDEwXzMtMi0xLTEtMA_b2838666-de05-47dd-94e0-bbc7226fe032"
      unitRef="usd">70760000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="if0a61521b77e46aa90eed63b0c7ba9b2_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzkvZnJhZzphZWE0MjYwM2EyZWY0MWI1YWIxZGIyYjU1YzFlMDg2OS90YWJsZTo2OGI0ODgwN2I1Zjk0YjA3YWFkNTFmYzE0NTUxYzAxMC90YWJsZXJhbmdlOjY4YjQ4ODA3YjVmOTRiMDdhYWQ1MWZjMTQ1NTFjMDEwXzMtNC0xLTEtMA_c6e69e56-a6f0-453c-aff9-22cbe7643587"
      unitRef="usd">70760000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i8a24aaf692c5444cbf9b46ed5a052bee_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzkvZnJhZzphZWE0MjYwM2EyZWY0MWI1YWIxZGIyYjU1YzFlMDg2OS90YWJsZTo2OGI0ODgwN2I1Zjk0YjA3YWFkNTFmYzE0NTUxYzAxMC90YWJsZXJhbmdlOjY4YjQ4ODA3YjVmOTRiMDdhYWQ1MWZjMTQ1NTFjMDEwXzMtNi0xLTEtMA_7e06d124-1c0e-4cc0-9818-432b72851b3c"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="iafb32079e8ef4b6ab57b666c86ab1379_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xMzkvZnJhZzphZWE0MjYwM2EyZWY0MWI1YWIxZGIyYjU1YzFlMDg2OS90YWJsZTo2OGI0ODgwN2I1Zjk0YjA3YWFkNTFmYzE0NTUxYzAxMC90YWJsZXJhbmdlOjY4YjQ4ODA3YjVmOTRiMDdhYWQ1MWZjMTQ1NTFjMDEwXzMtOC0xLTEtMA_48ba90c3-4b93-42ab-a8c1-001fb5374ab6"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <exdx:TemporaryEquityTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDIvZnJhZzpiZWM0Mzg3MTY3N2M0OTcyODhiZDRkYzJiZjBhYTVjMi90ZXh0cmVnaW9uOmJlYzQzODcxNjc3YzQ5NzI4OGJkNGRjMmJmMGFhNWMyXzI3NDg3NzkwODQ4OTQ_89ece0e2-f99b-4a84-ba7b-b0eae7818e79">Redeemable Convertible Preferred Stock&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Series G Financing&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In January 2019, the Company entered into an agreement with new and certain existing preferred stockholders to issue shares of Series G redeemable convertible preferred stock in multiple separate closings at a per share price of $0.078 in each closing. In conjunction with the issuance of the Series H redeemable convertible preferred stock, &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;each share of issued and outstanding Series G redeemable convertible preferred stock was converted into shares of Series H redeemable convertible preferred stock.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Series H Financing&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In July 2019, the Company entered into an agreement with a new investor to issue shares of Series H redeemable convertible preferred stock at a per share price of $0.04712. The Company accounted for the difference between the effective conversion price of $0.04712 and the fair value of the underlying common stock at the commitment date as a beneficial conversion feature, which was immediately accreted as a deemed dividend. As a result, the Company recognized a beneficial conversion feature in the amount of $6.7 million in the third quarter of 2019, that was recorded as additional paid-in capital (in the absence of retained earnings) in the accompanying statement of redeemable convertible preferred stock and stockholders&#x2019; equity. Additionally, the Company concluded that the conversion of shares of Series G into shares of Series H redeemable convertible preferred stock in connection with the issuance of Series H redeemable convertible preferred stock represented an extinguishment of the Series G shares. As a result, the Company recognized a deemed dividend for the extinguishment charge in the amount of $6.9 million in the third quarter of 2019, that was recorded as additional paid-in capital (in the absence of retained earnings) in the accompanying statement of redeemable convertible preferred stock and stockholders' equity.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Initial Public Offering&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Upon completion of the Company's IPO in September 2019, an aggregate of 7,816,643 shares of common stock, excluding warrant conversion, were issued to the holders of the Company's Series A-3, Series B-3, Series C, Series D, Series E, Series F and Series H redeemable convertible preferred stockholders upon the automatic conversion of all shares of redeemable convertible preferred stock to common stock. As a result, no shares of redeemable convertible preferred stock remained outstanding at December 31, 2020 and 2019.&lt;/span&gt;&lt;/div&gt;</exdx:TemporaryEquityTextBlock>
    <exdx:SaleOfTemporaryEquityPricePerShare
      contextRef="i9202b030fd1b4086bdec9b70b92d1d84_D20190101-20190131"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDIvZnJhZzpiZWM0Mzg3MTY3N2M0OTcyODhiZDRkYzJiZjBhYTVjMi90ZXh0cmVnaW9uOmJlYzQzODcxNjc3YzQ5NzI4OGJkNGRjMmJmMGFhNWMyXzM0MTc_daee7d80-8cba-4284-b37c-b7485ccafbbc"
      unitRef="usdPerShare">0.078</exdx:SaleOfTemporaryEquityPricePerShare>
    <exdx:SaleOfTemporaryEquityPricePerShare
      contextRef="i6b9462e096714f6a8a52d7ae7c4dea8a_D20190701-20190731"
      decimals="5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDIvZnJhZzpiZWM0Mzg3MTY3N2M0OTcyODhiZDRkYzJiZjBhYTVjMi90ZXh0cmVnaW9uOmJlYzQzODcxNjc3YzQ5NzI4OGJkNGRjMmJmMGFhNWMyXzU4NTY_760b5aa6-80cb-4a09-bbb4-de58e19b66d1"
      unitRef="usdPerShare">0.04712</exdx:SaleOfTemporaryEquityPricePerShare>
    <exdx:SaleOfTemporaryEquityPricePerShare
      contextRef="i6b9462e096714f6a8a52d7ae7c4dea8a_D20190701-20190731"
      decimals="5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDIvZnJhZzpiZWM0Mzg3MTY3N2M0OTcyODhiZDRkYzJiZjBhYTVjMi90ZXh0cmVnaW9uOmJlYzQzODcxNjc3YzQ5NzI4OGJkNGRjMmJmMGFhNWMyXzY3NDY_4cccd382-ae85-47e9-a002-c2b9e4a6195d"
      unitRef="usdPerShare">0.04712</exdx:SaleOfTemporaryEquityPricePerShare>
    <exdx:TemporaryEquityDeemedDividendsWithBeneficialConversionFeature
      contextRef="ic80f1b4b2b84440db98c9a7375a7570f_D20190701-20190930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDIvZnJhZzpiZWM0Mzg3MTY3N2M0OTcyODhiZDRkYzJiZjBhYTVjMi90ZXh0cmVnaW9uOmJlYzQzODcxNjc3YzQ5NzI4OGJkNGRjMmJmMGFhNWMyXzY5OTY_64c6a421-3c42-45b3-b2b4-53f545316b41"
      unitRef="usd">6700000</exdx:TemporaryEquityDeemedDividendsWithBeneficialConversionFeature>
    <exdx:TemporaryEquityDeemedDividend
      contextRef="iaf86d568866c4251832b028da29ff071_D20190701-20190930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDIvZnJhZzpiZWM0Mzg3MTY3N2M0OTcyODhiZDRkYzJiZjBhYTVjMi90ZXh0cmVnaW9uOmJlYzQzODcxNjc3YzQ5NzI4OGJkNGRjMmJmMGFhNWMyXzc2MTA_3f125328-80b9-4959-ae40-48c96fb20e50"
      unitRef="usd">6900000</exdx:TemporaryEquityDeemedDividend>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="icc003e40daf641ccbe499297076b288b_D20190923-20190923"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDIvZnJhZzpiZWM0Mzg3MTY3N2M0OTcyODhiZDRkYzJiZjBhYTVjMi90ZXh0cmVnaW9uOmJlYzQzODcxNjc3YzQ5NzI4OGJkNGRjMmJmMGFhNWMyXzE2NDkyNjc0NTU4ODI_4a868c68-a6ed-42e9-a94f-b1cd9f7b6448"
      unitRef="shares">7816643</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:TemporaryEquitySharesOutstanding
      contextRef="i5b650b6b9d754c97a85b32a60d451667_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDIvZnJhZzpiZWM0Mzg3MTY3N2M0OTcyODhiZDRkYzJiZjBhYTVjMi90ZXh0cmVnaW9uOmJlYzQzODcxNjc3YzQ5NzI4OGJkNGRjMmJmMGFhNWMyXzMyOTg1MzQ4OTc5OTc_493523ce-a319-4e8d-bd8d-e3ead4fadde9"
      unitRef="shares">0</us-gaap:TemporaryEquitySharesOutstanding>
    <us-gaap:TemporaryEquitySharesOutstanding
      contextRef="i0ccae1c8177a4c3b9f45dfceb5efa42f_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDIvZnJhZzpiZWM0Mzg3MTY3N2M0OTcyODhiZDRkYzJiZjBhYTVjMi90ZXh0cmVnaW9uOmJlYzQzODcxNjc3YzQ5NzI4OGJkNGRjMmJmMGFhNWMyXzMyOTg1MzQ4OTc5OTc_6bb60c65-e849-47ce-ab77-1ce2cbea3cc6"
      unitRef="shares">0</us-gaap:TemporaryEquitySharesOutstanding>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDUvZnJhZzo3ZGQ2OTRjMjQxNzE0OTQ4YTA4YzQ2Y2Q4MmIxZDcyMy90ZXh0cmVnaW9uOjdkZDY5NGMyNDE3MTQ5NDhhMDhjNDZjZDgyYjFkNzIzXzEwOTk1MTE2MjgzMDIw_a6c87178-a088-444f-9d7e-c78ddadd48b9">Stockholders' Equity&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Reverse Stock Split&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On September 6, 2019, the Company effected a one-for-183.635 reverse stock split of its common stock (the Reverse Stock Split). The par value and the authorized shares of the common stock were not adjusted as a result of the Reverse Stock Split. All issued and outstanding common stock and the conversion ratio of the redeemable convertible preferred stock have been retroactively adjusted to reflect this Reverse Stock Split for all periods presented in the accompanying financial statements and notes to the financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Common Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On September 23, 2019, the Company closed its IPO of 4,140,000 shares of its common stock at a price to the public of $14.00 per share, including the exercise in full by the underwriters of their option to purchase 540,000 additional shares of the Company's common stock. Including the exercise of the option to purchase additional shares, the aggregate net proceeds to the Company from the offering was approximately $50.4 million, net of underwriting discounts, commissions and other offering expenses, for aggregate expenses of approximately $7.5 million. In addition, an aggregate of 7,816,643 shares of common stock, excluding warrant conversions, were issued to the holders of the Company's Series A-3, Series B-3, Series C, Series D, Series E, Series F and Series H redeemable convertible preferred stockholders upon the automatic conversion of all shares of redeemable convertible preferred stock to common stock. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Outstanding Warrants&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following equity classified warrants to purchase common stock were outstanding as of December&#160;31, 2020:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:28.432%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.783%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Issuance date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Expiration date&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Common stock warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;252,798&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;January 19, 2016&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;January 19, 2026&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Common stock warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;69,176&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;March 31, 2016&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;March 31, 2026&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Common stock warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;131&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;April 1, 2016&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;April 1, 2026&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Common stock warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;83,778&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;14.32&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;September 7, 2017&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;September 7, 2024&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Common stock warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;20,944&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;14.32&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 7, 2018&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 7, 2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;426,827&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the year ended December&#160;31, 2020, warrants to purchase common stock were exercised resulting in the issuance of 32,120 shares of the Company's common stock and cash proceeds of an immaterial amount.&lt;/span&gt;&lt;/div&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="icc003e40daf641ccbe499297076b288b_D20190923-20190923"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDUvZnJhZzo3ZGQ2OTRjMjQxNzE0OTQ4YTA4YzQ2Y2Q4MmIxZDcyMy90ZXh0cmVnaW9uOjdkZDY5NGMyNDE3MTQ5NDhhMDhjNDZjZDgyYjFkNzIzXzk5MA_6be84362-5132-4224-8add-cd33027d6e6b"
      unitRef="shares">4140000</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="i7e709efd0a0841ec93329ef2a03791d0_I20190923"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDUvZnJhZzo3ZGQ2OTRjMjQxNzE0OTQ4YTA4YzQ2Y2Q4MmIxZDcyMy90ZXh0cmVnaW9uOjdkZDY5NGMyNDE3MTQ5NDhhMDhjNDZjZDgyYjFkNzIzXzEwNDg_0462092a-e1f9-48a7-8509-16cfc31da57b"
      unitRef="usdPerShare">14.00</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="ia73d28ff344b45b7be16393a226e65c1_D20190923-20190923"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDUvZnJhZzo3ZGQ2OTRjMjQxNzE0OTQ4YTA4YzQ2Y2Q4MmIxZDcyMy90ZXh0cmVnaW9uOjdkZDY5NGMyNDE3MTQ5NDhhMDhjNDZjZDgyYjFkNzIzXzExNDE_cb3ecbd6-e93f-4fb8-b16b-02dbdefe656e"
      unitRef="shares">540000</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockConsiderationReceivedOnTransaction
      contextRef="icc003e40daf641ccbe499297076b288b_D20190923-20190923"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDUvZnJhZzo3ZGQ2OTRjMjQxNzE0OTQ4YTA4YzQ2Y2Q4MmIxZDcyMy90ZXh0cmVnaW9uOjdkZDY5NGMyNDE3MTQ5NDhhMDhjNDZjZDgyYjFkNzIzXzEzMzk_33597de9-5ed5-42e2-b9df-58a2cdacd4d8"
      unitRef="usd">50400000</us-gaap:SaleOfStockConsiderationReceivedOnTransaction>
    <exdx:StockIssuanceCosts
      contextRef="i7e709efd0a0841ec93329ef2a03791d0_I20190923"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDUvZnJhZzo3ZGQ2OTRjMjQxNzE0OTQ4YTA4YzQ2Y2Q4MmIxZDcyMy90ZXh0cmVnaW9uOjdkZDY5NGMyNDE3MTQ5NDhhMDhjNDZjZDgyYjFkNzIzXzE0NjM_3b6fbad8-dde2-4844-9273-7d0c61ee7d78"
      unitRef="usd">7500000</exdx:StockIssuanceCosts>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="icc003e40daf641ccbe499297076b288b_D20190923-20190923"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDUvZnJhZzo3ZGQ2OTRjMjQxNzE0OTQ4YTA4YzQ2Y2Q4MmIxZDcyMy90ZXh0cmVnaW9uOjdkZDY5NGMyNDE3MTQ5NDhhMDhjNDZjZDgyYjFkNzIzXzE1MDQ_4a868c68-a6ed-42e9-a94f-b1cd9f7b6448"
      unitRef="shares">7816643</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDUvZnJhZzo3ZGQ2OTRjMjQxNzE0OTQ4YTA4YzQ2Y2Q4MmIxZDcyMy90ZXh0cmVnaW9uOjdkZDY5NGMyNDE3MTQ5NDhhMDhjNDZjZDgyYjFkNzIzXzMyOTg1MzQ4ODY4OTg_15295c4b-cf04-4246-bd36-f6ba5eecb03c">The following equity classified warrants to purchase common stock were outstanding as of December&#160;31, 2020:&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:28.432%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.783%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Issuance date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Expiration date&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Common stock warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;252,798&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;January 19, 2016&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;January 19, 2026&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Common stock warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;69,176&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;March 31, 2016&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;March 31, 2026&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Common stock warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;131&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;April 1, 2016&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;April 1, 2026&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Common stock warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;83,778&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;14.32&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;September 7, 2017&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;September 7, 2024&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Common stock warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;20,944&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;14.32&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 7, 2018&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 7, 2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;426,827&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="i1a07d69f07f04c6387c8ad004db5b9e5_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDUvZnJhZzo3ZGQ2OTRjMjQxNzE0OTQ4YTA4YzQ2Y2Q4MmIxZDcyMy90YWJsZTowNDdiNmNhMmVlYTQ0MzVjYmY4MWQ5MjI2OGI0YzE3My90YWJsZXJhbmdlOjA0N2I2Y2EyZWVhNDQzNWNiZjgxZDkyMjY4YjRjMTczXzEtMS0xLTEtMTg0Mw_fab855ab-936d-423a-87ff-713b0c0114f7"
      unitRef="shares">252798</us-gaap:ClassOfWarrantOrRightOutstanding>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i1a07d69f07f04c6387c8ad004db5b9e5_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDUvZnJhZzo3ZGQ2OTRjMjQxNzE0OTQ4YTA4YzQ2Y2Q4MmIxZDcyMy90YWJsZTowNDdiNmNhMmVlYTQ0MzVjYmY4MWQ5MjI2OGI0YzE3My90YWJsZXJhbmdlOjA0N2I2Y2EyZWVhNDQzNWNiZjgxZDkyMjY4YjRjMTczXzEtMy0xLTEtNTI4OQ_b74bd5d9-a96f-48bf-bdf0-0d05caaf8490"
      unitRef="usdPerShare">1.84</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="i466315a145504f92bab9954a4653b6ef_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDUvZnJhZzo3ZGQ2OTRjMjQxNzE0OTQ4YTA4YzQ2Y2Q4MmIxZDcyMy90YWJsZTowNDdiNmNhMmVlYTQ0MzVjYmY4MWQ5MjI2OGI0YzE3My90YWJsZXJhbmdlOjA0N2I2Y2EyZWVhNDQzNWNiZjgxZDkyMjY4YjRjMTczXzItMS0xLTEtMTg0Mw_c713a43e-75fb-4f1e-8ac7-fea95c592ba7"
      unitRef="shares">69176</us-gaap:ClassOfWarrantOrRightOutstanding>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i466315a145504f92bab9954a4653b6ef_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDUvZnJhZzo3ZGQ2OTRjMjQxNzE0OTQ4YTA4YzQ2Y2Q4MmIxZDcyMy90YWJsZTowNDdiNmNhMmVlYTQ0MzVjYmY4MWQ5MjI2OGI0YzE3My90YWJsZXJhbmdlOjA0N2I2Y2EyZWVhNDQzNWNiZjgxZDkyMjY4YjRjMTczXzItMy0xLTEtNTI4OQ_c12b56c9-16f9-48b6-bed2-be71b7d9b922"
      unitRef="usdPerShare">1.84</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="ib41d9dd15cfd43ffb4381905d0b9593e_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDUvZnJhZzo3ZGQ2OTRjMjQxNzE0OTQ4YTA4YzQ2Y2Q4MmIxZDcyMy90YWJsZTowNDdiNmNhMmVlYTQ0MzVjYmY4MWQ5MjI2OGI0YzE3My90YWJsZXJhbmdlOjA0N2I2Y2EyZWVhNDQzNWNiZjgxZDkyMjY4YjRjMTczXzMtMS0xLTEtMTg0Mw_71955b5f-bdc4-4a83-b544-de3d3491041d"
      unitRef="shares">131</us-gaap:ClassOfWarrantOrRightOutstanding>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="ib41d9dd15cfd43ffb4381905d0b9593e_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDUvZnJhZzo3ZGQ2OTRjMjQxNzE0OTQ4YTA4YzQ2Y2Q4MmIxZDcyMy90YWJsZTowNDdiNmNhMmVlYTQ0MzVjYmY4MWQ5MjI2OGI0YzE3My90YWJsZXJhbmdlOjA0N2I2Y2EyZWVhNDQzNWNiZjgxZDkyMjY4YjRjMTczXzMtMy0xLTEtNTI4OQ_1ae3c647-9d07-4a3c-a129-1d5482034d46"
      unitRef="usdPerShare">1.84</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="ia8a60c0a83494af48451bdffb74f8657_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDUvZnJhZzo3ZGQ2OTRjMjQxNzE0OTQ4YTA4YzQ2Y2Q4MmIxZDcyMy90YWJsZTowNDdiNmNhMmVlYTQ0MzVjYmY4MWQ5MjI2OGI0YzE3My90YWJsZXJhbmdlOjA0N2I2Y2EyZWVhNDQzNWNiZjgxZDkyMjY4YjRjMTczXzQtMS0xLTEtMTg0Mw_11702e10-02a6-41eb-8898-2e89d03e6184"
      unitRef="shares">83778</us-gaap:ClassOfWarrantOrRightOutstanding>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="ia8a60c0a83494af48451bdffb74f8657_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDUvZnJhZzo3ZGQ2OTRjMjQxNzE0OTQ4YTA4YzQ2Y2Q4MmIxZDcyMy90YWJsZTowNDdiNmNhMmVlYTQ0MzVjYmY4MWQ5MjI2OGI0YzE3My90YWJsZXJhbmdlOjA0N2I2Y2EyZWVhNDQzNWNiZjgxZDkyMjY4YjRjMTczXzQtMy0xLTEtNTI4OQ_cb5e5a07-6e57-44c5-8849-4d65ba90e741"
      unitRef="usdPerShare">14.32</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="i01c677925f1f405988f482d6e0c41691_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDUvZnJhZzo3ZGQ2OTRjMjQxNzE0OTQ4YTA4YzQ2Y2Q4MmIxZDcyMy90YWJsZTowNDdiNmNhMmVlYTQ0MzVjYmY4MWQ5MjI2OGI0YzE3My90YWJsZXJhbmdlOjA0N2I2Y2EyZWVhNDQzNWNiZjgxZDkyMjY4YjRjMTczXzUtMS0xLTEtMTg0Mw_e47239ee-06b8-428a-924a-b4220cd41c08"
      unitRef="shares">20944</us-gaap:ClassOfWarrantOrRightOutstanding>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i01c677925f1f405988f482d6e0c41691_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDUvZnJhZzo3ZGQ2OTRjMjQxNzE0OTQ4YTA4YzQ2Y2Q4MmIxZDcyMy90YWJsZTowNDdiNmNhMmVlYTQ0MzVjYmY4MWQ5MjI2OGI0YzE3My90YWJsZXJhbmdlOjA0N2I2Y2EyZWVhNDQzNWNiZjgxZDkyMjY4YjRjMTczXzUtMy0xLTEtNTI4OQ_2dffc826-9d4b-4b91-aa88-e54d7529c232"
      unitRef="usdPerShare">14.32</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDUvZnJhZzo3ZGQ2OTRjMjQxNzE0OTQ4YTA4YzQ2Y2Q4MmIxZDcyMy90YWJsZTowNDdiNmNhMmVlYTQ0MzVjYmY4MWQ5MjI2OGI0YzE3My90YWJsZXJhbmdlOjA0N2I2Y2EyZWVhNDQzNWNiZjgxZDkyMjY4YjRjMTczXzYtMS0xLTEtMTg0Mw_da7cd686-f65c-4377-bf66-c28c547ec201"
      unitRef="shares">426827</us-gaap:ClassOfWarrantOrRightOutstanding>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDUvZnJhZzo3ZGQ2OTRjMjQxNzE0OTQ4YTA4YzQ2Y2Q4MmIxZDcyMy90ZXh0cmVnaW9uOjdkZDY5NGMyNDE3MTQ5NDhhMDhjNDZjZDgyYjFkNzIzXzE2NDkyNjc0NDUwNjY_6c1d2869-4f4a-4f9f-9faf-4aec562c5481"
      unitRef="shares">32120</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90ZXh0cmVnaW9uOjRjZGE5YjYzYTNjMjQ2NTNhNjFlYjU2MWU4YjQ2OWFmXzQwODI_93ae94bc-e517-4d8a-8374-eb9a45ae839b">Stock Option Plan&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In September 2019, the Company's Board of Directors adopted, and the Company's stockholders approved, the 2019 Incentive Award Plan (the 2019 Plan). A total of (i) 2,011,832 shares of common stock plus (ii) shares subject to awards granted under the 2013 Plan on or before the effective date of the 2019 Plan became available for issuance under the 2019 Plan and was initially be reserved for issuance under the 2019 Plan. Under the 2019 Plan, the Company may grant stock options, stock appreciation rights, restricted stock, restricted stock units and other awards to individuals who are then employees, officers, non-employee directors or consultants of the Company or its subsidiaries. The options generally expire ten years after the date of grant and are exercisable to the extent vested. Vesting is established by the Board of Directors and is generally four years from the date of grant. The 2019 Plan contains an "evergreen provision" that allows annual increases in the number of shares available for issuance on the first day of each calendar year through January 1, 2029 in an amount equal to the lesser of: (i) 4% of the outstanding capital stock on each December 31st, or (ii) such lesser amount determined by the Board of Directors. As of December&#160;31, 2020, 1,139,323 shares remained available for future awards. Under the evergreen provision, on January 1, 2021, an additional 506,092 shares became available for issuance under the 2019 Plan.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Activity under the Company's stock option plans is set forth below:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.853%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.911%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.157%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.163%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Number&#160;of&lt;br/&gt;Options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Exercise&#160;Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Remaining&lt;br/&gt;Contractual&lt;br/&gt;Term&#160;(Years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Outstanding, December 31, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,375,542&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;8.33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;9.16&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;23,654&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;951,031&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;16.02&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(47,549)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;0.27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(293,412)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;10.46&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(9,851)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;29.02&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Outstanding, December&#160;31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,975,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;11.81&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;8.71&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;6,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Vested and expected to vest, December&#160;31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,975,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;11.81&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;8.71&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;6,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Options exercisable, December&#160;31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;464,606&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;6.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;8.01&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;3,362&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted-average grant date fair value per share of employee options granted to employees during the years ended December&#160;31, 2020 and 2019 was $7.55 and $7.79, respectively. The intrinsic value is calculated as the difference between the fair value of the Company's common stock and the exercise price of the stock options. The fair value of the Company's common stock is $13.20 and $25.40 per share at December&#160;31, 2020 and 2019, respectively. The intrinsic value of options exercised for the years ended December&#160;31, 2020 and 2019 was $1.0 million and an immaterial amount, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock-Based Compensation Expense&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value of employee stock options was estimated using the following assumptions to determine the fair value of stock options granted:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.876%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.184%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;47%-53%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;46%-59%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;0.4%-1.7%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1.6%-2.6%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Expected term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;5.50-6.08&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;5.75-6.08&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Employee Stock Purchase Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In September 2019, the Board of Directors adopted the Employee Stock Purchase Plan (the ESPP). The ESPP became effective on the day the ESPP was adopted by the Company's Board of Directors. The ESPP permits participants to purchase common stock through payroll deductions of up to 20% of their eligible compensation. A total of 120,000 shares of common stock was initially reserved for issuance under the ESPP. In addition, the number of shares of common stock available for issuance under the ESPP will be annually increased on the first day of each fiscal year during the term of the ESPP, beginning with the 2020 calendar year through January 1, 2029 in an amount equal to the lesser of (i) 1% of the outstanding capital stock on December 31st, or (ii) such lesser amount determined by the Board of Directors. Under the evergreen provision, on January 1, 2021, an additional 126,523 shares became available for issuances under the ESPP. Stock-based compensation expense for the ESPP was an immaterial amount for the year ended December&#160;31, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following assumptions were used to calculate the stock-based compensation for each stock purchase right granted under the ESPP:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:77.262%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.808%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;58%-83%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;0.1%-1.1%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Expected term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;0.5&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total non-cash stock-based compensation expense recorded related to options granted and stock purchase rights granted under the ESPP in the statement of operations is as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.075%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.084%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Cost of revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2,419&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;445&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Research and development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;242&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2,694&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2020, total unrecognized compensation cost was $8.5 million, which is expected to be recognized over a remaining weighted-average vesting period of 2.8&#160;years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Common stock reserved for future issuance consists of the following at December&#160;31, 2020:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-indent:24.75pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:77.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.784%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Warrants to purchase common stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;426,827&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Common stock option grants issued and outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,975,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Common shares available for grant under the stock option plan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,139,323&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Common shares available for future issuance under ESPP&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;233,961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;3,775,872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i7a2f80c2b6c5444ba34456f703d38c67_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90ZXh0cmVnaW9uOjRjZGE5YjYzYTNjMjQ2NTNhNjFlYjU2MWU4YjQ2OWFmXzE2NDkyNjc0NDYxNjE_2579dd28-debd-429f-9961-f1e9fa2d905a"
      unitRef="shares">2011832</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="ib1c2da91d4274340b7a12109641dbffb_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90ZXh0cmVnaW9uOjRjZGE5YjYzYTNjMjQ2NTNhNjFlYjU2MWU4YjQ2OWFmXzEzNzQzODk1MzU2MDc2_35b68021-200c-4453-865d-13ec0512ced1">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ib1c2da91d4274340b7a12109641dbffb_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90ZXh0cmVnaW9uOjRjZGE5YjYzYTNjMjQ2NTNhNjFlYjU2MWU4YjQ2OWFmXzEzNzQzODk1MzU2MDc1_1bf27ebd-3ee9-4c55-b763-c9709db0b73b">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <exdx:ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalSharesAuthorizedPercentage
      contextRef="i7a2f80c2b6c5444ba34456f703d38c67_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90ZXh0cmVnaW9uOjRjZGE5YjYzYTNjMjQ2NTNhNjFlYjU2MWU4YjQ2OWFmXzEzMzg_a05d5fae-4f3d-49b2-b8f0-30e66cf739a2"
      unitRef="number">0.04</exdx:ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalSharesAuthorizedPercentage>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="i7a2f80c2b6c5444ba34456f703d38c67_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90ZXh0cmVnaW9uOjRjZGE5YjYzYTNjMjQ2NTNhNjFlYjU2MWU4YjQ2OWFmXzE0NzI_a3ffbf36-2cf2-49f4-a468-c2064e34264a"
      unitRef="shares">1139323</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <exdx:ShareBasedCompensationArrangementByShareBasedPaymentAwardIncreaseDecreaseInNumberOfSharesAuthorized
      contextRef="i2dcffc3099e440189a3fa6ca69d78390_I20210101"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90ZXh0cmVnaW9uOjRjZGE5YjYzYTNjMjQ2NTNhNjFlYjU2MWU4YjQ2OWFmXzE1ODU_ff71be1b-1d33-4904-8614-472d38509970"
      unitRef="shares">506092</exdx:ShareBasedCompensationArrangementByShareBasedPaymentAwardIncreaseDecreaseInNumberOfSharesAuthorized>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90ZXh0cmVnaW9uOjRjZGE5YjYzYTNjMjQ2NTNhNjFlYjU2MWU4YjQ2OWFmXzQwODM_e4cc3e15-b738-4081-beff-bd196ec0a3bb">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Activity under the Company's stock option plans is set forth below:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.853%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.911%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.157%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.163%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Number&#160;of&lt;br/&gt;Options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Exercise&#160;Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Remaining&lt;br/&gt;Contractual&lt;br/&gt;Term&#160;(Years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Outstanding, December 31, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,375,542&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;8.33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;9.16&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;23,654&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;951,031&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;16.02&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(47,549)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;0.27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(293,412)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;10.46&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(9,851)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;29.02&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Outstanding, December&#160;31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,975,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;11.81&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;8.71&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;6,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Vested and expected to vest, December&#160;31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,975,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;11.81&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;8.71&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;6,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Options exercisable, December&#160;31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;464,606&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;6.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;8.01&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;3,362&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToxODA3NTU0Y2RkYWE0NWY5OTJlNjRkMDA1YzZhYjE2NS90YWJsZXJhbmdlOjE4MDc1NTRjZGRhYTQ1Zjk5MmU2NGQwMDVjNmFiMTY1XzEtMi0xLTEtMA_79721e9d-28b1-465b-9d09-25dda1dc8e89"
      unitRef="shares">1375542</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToxODA3NTU0Y2RkYWE0NWY5OTJlNjRkMDA1YzZhYjE2NS90YWJsZXJhbmdlOjE4MDc1NTRjZGRhYTQ1Zjk5MmU2NGQwMDVjNmFiMTY1XzEtNC0xLTEtMA_740b8529-58d2-40a6-9340-95d23336371e"
      unitRef="usdPerShare">8.33</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToxODA3NTU0Y2RkYWE0NWY5OTJlNjRkMDA1YzZhYjE2NS90YWJsZXJhbmdlOjE4MDc1NTRjZGRhYTQ1Zjk5MmU2NGQwMDVjNmFiMTY1XzEtNi0xLTEtMA_0e4e5dc9-6777-466a-a47e-137e6aebe100">P9Y1M28D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToxODA3NTU0Y2RkYWE0NWY5OTJlNjRkMDA1YzZhYjE2NS90YWJsZXJhbmdlOjE4MDc1NTRjZGRhYTQ1Zjk5MmU2NGQwMDVjNmFiMTY1XzEtOC0xLTEtMA_09c4b2b3-b5e6-4c51-a9a0-f536b8976a3b"
      unitRef="usd">23654000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToxODA3NTU0Y2RkYWE0NWY5OTJlNjRkMDA1YzZhYjE2NS90YWJsZXJhbmdlOjE4MDc1NTRjZGRhYTQ1Zjk5MmU2NGQwMDVjNmFiMTY1XzItMi0xLTEtMA_9bc21f86-133b-46ca-bc82-7f3b3d817797"
      unitRef="shares">951031</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToxODA3NTU0Y2RkYWE0NWY5OTJlNjRkMDA1YzZhYjE2NS90YWJsZXJhbmdlOjE4MDc1NTRjZGRhYTQ1Zjk5MmU2NGQwMDVjNmFiMTY1XzItNC0xLTEtMA_de5e9994-2949-4e67-a19b-ced430286b22"
      unitRef="usdPerShare">16.02</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToxODA3NTU0Y2RkYWE0NWY5OTJlNjRkMDA1YzZhYjE2NS90YWJsZXJhbmdlOjE4MDc1NTRjZGRhYTQ1Zjk5MmU2NGQwMDVjNmFiMTY1XzMtMi0xLTEtMA_f6edc8e5-cd69-47dc-aefe-e954fbdc8085"
      unitRef="shares">47549</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToxODA3NTU0Y2RkYWE0NWY5OTJlNjRkMDA1YzZhYjE2NS90YWJsZXJhbmdlOjE4MDc1NTRjZGRhYTQ1Zjk5MmU2NGQwMDVjNmFiMTY1XzMtNC0xLTEtMA_23990498-8b15-4d82-86f7-dd1988b3ee43"
      unitRef="usdPerShare">0.27</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToxODA3NTU0Y2RkYWE0NWY5OTJlNjRkMDA1YzZhYjE2NS90YWJsZXJhbmdlOjE4MDc1NTRjZGRhYTQ1Zjk5MmU2NGQwMDVjNmFiMTY1XzQtMi0xLTEtMA_3f0aad63-896c-4d04-a90a-d247274a2bdd"
      unitRef="shares">293412</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToxODA3NTU0Y2RkYWE0NWY5OTJlNjRkMDA1YzZhYjE2NS90YWJsZXJhbmdlOjE4MDc1NTRjZGRhYTQ1Zjk5MmU2NGQwMDVjNmFiMTY1XzQtNC0xLTEtMA_005ee4ac-e3f4-4184-95f0-b1ec40807570"
      unitRef="usdPerShare">10.46</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToxODA3NTU0Y2RkYWE0NWY5OTJlNjRkMDA1YzZhYjE2NS90YWJsZXJhbmdlOjE4MDc1NTRjZGRhYTQ1Zjk5MmU2NGQwMDVjNmFiMTY1XzUtMi0xLTEtMA_70e8f1cb-48dc-4ee5-b871-ff20b3986393"
      unitRef="shares">9851</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToxODA3NTU0Y2RkYWE0NWY5OTJlNjRkMDA1YzZhYjE2NS90YWJsZXJhbmdlOjE4MDc1NTRjZGRhYTQ1Zjk5MmU2NGQwMDVjNmFiMTY1XzUtNC0xLTEtMA_52978c14-8681-43c1-8656-9b23f7ce11b3"
      unitRef="usdPerShare">29.02</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToxODA3NTU0Y2RkYWE0NWY5OTJlNjRkMDA1YzZhYjE2NS90YWJsZXJhbmdlOjE4MDc1NTRjZGRhYTQ1Zjk5MmU2NGQwMDVjNmFiMTY1XzYtMi0xLTEtMA_6b871a89-beb5-48eb-a357-4d6d31989918"
      unitRef="shares">1975761</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToxODA3NTU0Y2RkYWE0NWY5OTJlNjRkMDA1YzZhYjE2NS90YWJsZXJhbmdlOjE4MDc1NTRjZGRhYTQ1Zjk5MmU2NGQwMDVjNmFiMTY1XzYtNC0xLTEtMA_c849805e-0b30-412d-88e2-6803cc5747b5"
      unitRef="usdPerShare">11.81</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToxODA3NTU0Y2RkYWE0NWY5OTJlNjRkMDA1YzZhYjE2NS90YWJsZXJhbmdlOjE4MDc1NTRjZGRhYTQ1Zjk5MmU2NGQwMDVjNmFiMTY1XzYtNi0xLTEtMA_e9c09f5f-31f2-4790-877c-f9b7eac4ee34">P8Y8M15D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToxODA3NTU0Y2RkYWE0NWY5OTJlNjRkMDA1YzZhYjE2NS90YWJsZXJhbmdlOjE4MDc1NTRjZGRhYTQ1Zjk5MmU2NGQwMDVjNmFiMTY1XzYtOC0xLTEtMA_a88b97b8-c605-4c7d-b70a-082246b38b0e"
      unitRef="usd">6750000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToxODA3NTU0Y2RkYWE0NWY5OTJlNjRkMDA1YzZhYjE2NS90YWJsZXJhbmdlOjE4MDc1NTRjZGRhYTQ1Zjk5MmU2NGQwMDVjNmFiMTY1XzctMi0xLTEtMA_258193e4-7661-433d-95c9-77c58b648b25"
      unitRef="shares">1975761</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToxODA3NTU0Y2RkYWE0NWY5OTJlNjRkMDA1YzZhYjE2NS90YWJsZXJhbmdlOjE4MDc1NTRjZGRhYTQ1Zjk5MmU2NGQwMDVjNmFiMTY1XzctNC0xLTEtMA_32ecd42d-e14f-4fc1-8163-b7cba3da0ec2"
      unitRef="usdPerShare">11.81</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToxODA3NTU0Y2RkYWE0NWY5OTJlNjRkMDA1YzZhYjE2NS90YWJsZXJhbmdlOjE4MDc1NTRjZGRhYTQ1Zjk5MmU2NGQwMDVjNmFiMTY1XzctNi0xLTEtMA_10adb853-cc71-426a-b314-1b65114f50c0">P8Y8M15D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToxODA3NTU0Y2RkYWE0NWY5OTJlNjRkMDA1YzZhYjE2NS90YWJsZXJhbmdlOjE4MDc1NTRjZGRhYTQ1Zjk5MmU2NGQwMDVjNmFiMTY1XzctOC0xLTEtMA_5cb29cd9-501d-4e61-8e28-d399595151dd"
      unitRef="usd">6750000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToxODA3NTU0Y2RkYWE0NWY5OTJlNjRkMDA1YzZhYjE2NS90YWJsZXJhbmdlOjE4MDc1NTRjZGRhYTQ1Zjk5MmU2NGQwMDVjNmFiMTY1XzgtMi0xLTEtMA_a899c502-41b6-4bb3-94db-71cfa1635c7c"
      unitRef="shares">464606</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToxODA3NTU0Y2RkYWE0NWY5OTJlNjRkMDA1YzZhYjE2NS90YWJsZXJhbmdlOjE4MDc1NTRjZGRhYTQ1Zjk5MmU2NGQwMDVjNmFiMTY1XzgtNC0xLTEtMA_fdc79410-5740-4852-8926-db94d07aa043"
      unitRef="usdPerShare">6.75</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToxODA3NTU0Y2RkYWE0NWY5OTJlNjRkMDA1YzZhYjE2NS90YWJsZXJhbmdlOjE4MDc1NTRjZGRhYTQ1Zjk5MmU2NGQwMDVjNmFiMTY1XzgtNi0xLTEtMA_8855d3a4-cd75-4793-a615-6e55b379f386">P8Y3D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToxODA3NTU0Y2RkYWE0NWY5OTJlNjRkMDA1YzZhYjE2NS90YWJsZXJhbmdlOjE4MDc1NTRjZGRhYTQ1Zjk5MmU2NGQwMDVjNmFiMTY1XzgtOC0xLTEtMA_1d67d251-dfc7-49cd-83ae-42731f3c2088"
      unitRef="usd">3362000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90ZXh0cmVnaW9uOjRjZGE5YjYzYTNjMjQ2NTNhNjFlYjU2MWU4YjQ2OWFmXzIwNTQ_17b3950b-f4a2-474b-8cca-3d5ae006a0c4"
      unitRef="usdPerShare">7.55</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90ZXh0cmVnaW9uOjRjZGE5YjYzYTNjMjQ2NTNhNjFlYjU2MWU4YjQ2OWFmXzIwNjE_b5dca806-a06f-44ea-b043-a3d727873d88"
      unitRef="usdPerShare">7.79</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90ZXh0cmVnaW9uOjRjZGE5YjYzYTNjMjQ2NTNhNjFlYjU2MWU4YjQ2OWFmXzIyNzc_1c2ad7f8-2e3a-4fc9-b57c-c168ef1d7952"
      unitRef="usdPerShare">13.20</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90ZXh0cmVnaW9uOjRjZGE5YjYzYTNjMjQ2NTNhNjFlYjU2MWU4YjQ2OWFmXzIyODQ_968a80f2-6562-420f-baa0-70f8781c44eb"
      unitRef="usdPerShare">25.40</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90ZXh0cmVnaW9uOjRjZGE5YjYzYTNjMjQ2NTNhNjFlYjU2MWU4YjQ2OWFmXzE2NDkyNjc0NDY5OTY_47d4155b-3f19-4a9e-bdc7-c4adaefca20b"
      unitRef="usd">1000000.0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90ZXh0cmVnaW9uOjRjZGE5YjYzYTNjMjQ2NTNhNjFlYjU2MWU4YjQ2OWFmXzE2NDkyNjc0NDY5OTY_de88747c-a7d1-4912-b5b6-84ca185ca7ad"
      unitRef="usd">1000000.0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90ZXh0cmVnaW9uOjRjZGE5YjYzYTNjMjQ2NTNhNjFlYjU2MWU4YjQ2OWFmXzQwNzc_aacb9fed-9080-4971-8f32-79372d52f410">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value of employee stock options was estimated using the following assumptions to determine the fair value of stock options granted:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.876%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.184%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;47%-53%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;46%-59%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;0.4%-1.7%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1.6%-2.6%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Expected term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;5.50-6.08&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;5.75-6.08&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following assumptions were used to calculate the stock-based compensation for each stock purchase right granted under the ESPP:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:77.262%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.808%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;58%-83%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;0.1%-1.1%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Expected term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;0.5&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="ib1c2da91d4274340b7a12109641dbffb_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTpiZjEwYTI5ZWEyNWY0OWZmYjk2OTcyNjQ2MzZlMjg0Yi90YWJsZXJhbmdlOmJmMTBhMjllYTI1ZjQ5ZmZiOTY5NzI2NDYzNmUyODRiXzItNi0xLTEtMC90ZXh0cmVnaW9uOjNhYjVjYThkOWQ1ZDQyNDNiMjliODY2MmExMDVlNWVmXzQ_9aaa0051-29ef-4558-a578-287d3a470f42"
      unitRef="number">0.47</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="ib1c2da91d4274340b7a12109641dbffb_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTpiZjEwYTI5ZWEyNWY0OWZmYjk2OTcyNjQ2MzZlMjg0Yi90YWJsZXJhbmdlOmJmMTBhMjllYTI1ZjQ5ZmZiOTY5NzI2NDYzNmUyODRiXzItNi0xLTEtMC90ZXh0cmVnaW9uOjNhYjVjYThkOWQ1ZDQyNDNiMjliODY2MmExMDVlNWVmXzc_67beea30-c0af-4d46-b186-8038354b7bfd"
      unitRef="number">0.53</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="i5baedf86b8244d9b8762ecb0ae605c30_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTpiZjEwYTI5ZWEyNWY0OWZmYjk2OTcyNjQ2MzZlMjg0Yi90YWJsZXJhbmdlOmJmMTBhMjllYTI1ZjQ5ZmZiOTY5NzI2NDYzNmUyODRiXzItOC0xLTEtMC90ZXh0cmVnaW9uOjYyY2MyNjVlMWE4OTRkYzZhZGVmMWM2ZmJmZDdiNTA1XzE2NDkyNjc0NDE2NzU_4544e0af-5e2b-4e2a-bb11-ffa2a10ad8ea"
      unitRef="number">0.46</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="i5baedf86b8244d9b8762ecb0ae605c30_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTpiZjEwYTI5ZWEyNWY0OWZmYjk2OTcyNjQ2MzZlMjg0Yi90YWJsZXJhbmdlOmJmMTBhMjllYTI1ZjQ5ZmZiOTY5NzI2NDYzNmUyODRiXzItOC0xLTEtMC90ZXh0cmVnaW9uOjYyY2MyNjVlMWE4OTRkYzZhZGVmMWM2ZmJmZDdiNTA1XzE2NDkyNjc0NDE2Nzk_325663c5-d1ce-46a1-b6fb-75f91d7d9200"
      unitRef="number">0.59</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="ib1c2da91d4274340b7a12109641dbffb_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTpiZjEwYTI5ZWEyNWY0OWZmYjk2OTcyNjQ2MzZlMjg0Yi90YWJsZXJhbmdlOmJmMTBhMjllYTI1ZjQ5ZmZiOTY5NzI2NDYzNmUyODRiXzMtNi0xLTEtMC90ZXh0cmVnaW9uOmI0YmEwMDdjMTA3NjRjYWM4MTViMmMxOWVjYTE4N2U1XzQ_08b594f7-7329-4fa3-a047-d6a9dd26186b"
      unitRef="number">0.004</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="ib1c2da91d4274340b7a12109641dbffb_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTpiZjEwYTI5ZWEyNWY0OWZmYjk2OTcyNjQ2MzZlMjg0Yi90YWJsZXJhbmdlOmJmMTBhMjllYTI1ZjQ5ZmZiOTY5NzI2NDYzNmUyODRiXzMtNi0xLTEtMC90ZXh0cmVnaW9uOmI0YmEwMDdjMTA3NjRjYWM4MTViMmMxOWVjYTE4N2U1Xzc_54b34635-c31a-43a3-a1f1-357f6704c183"
      unitRef="number">0.017</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="i5baedf86b8244d9b8762ecb0ae605c30_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTpiZjEwYTI5ZWEyNWY0OWZmYjk2OTcyNjQ2MzZlMjg0Yi90YWJsZXJhbmdlOmJmMTBhMjllYTI1ZjQ5ZmZiOTY5NzI2NDYzNmUyODRiXzMtOC0xLTEtMC90ZXh0cmVnaW9uOjk1NzJlMWQ5N2JlNDRkYTZiNWRjZjI4NzFlZjVlMjYyXzQ_f485cb0c-0f7d-45ee-a49e-cd1ae84c612d"
      unitRef="number">0.016</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="i5baedf86b8244d9b8762ecb0ae605c30_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTpiZjEwYTI5ZWEyNWY0OWZmYjk2OTcyNjQ2MzZlMjg0Yi90YWJsZXJhbmdlOmJmMTBhMjllYTI1ZjQ5ZmZiOTY5NzI2NDYzNmUyODRiXzMtOC0xLTEtMC90ZXh0cmVnaW9uOjk1NzJlMWQ5N2JlNDRkYTZiNWRjZjI4NzFlZjVlMjYyXzk_e8a87b5e-ace6-4496-a8c5-67859884b6aa"
      unitRef="number">0.026</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="ib1c2da91d4274340b7a12109641dbffb_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTpiZjEwYTI5ZWEyNWY0OWZmYjk2OTcyNjQ2MzZlMjg0Yi90YWJsZXJhbmdlOmJmMTBhMjllYTI1ZjQ5ZmZiOTY5NzI2NDYzNmUyODRiXzQtNi0xLTEtMA_d4c7d88b-0fc8-44b7-b237-9dd79d883e68"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i5baedf86b8244d9b8762ecb0ae605c30_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTpiZjEwYTI5ZWEyNWY0OWZmYjk2OTcyNjQ2MzZlMjg0Yi90YWJsZXJhbmdlOmJmMTBhMjllYTI1ZjQ5ZmZiOTY5NzI2NDYzNmUyODRiXzQtOC0xLTEtMA_3363579c-8ccd-40d1-b50f-d872c83ecec4"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="id9df7a83f79940ddb50644d9534b8e4a_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTpiZjEwYTI5ZWEyNWY0OWZmYjk2OTcyNjQ2MzZlMjg0Yi90YWJsZXJhbmdlOmJmMTBhMjllYTI1ZjQ5ZmZiOTY5NzI2NDYzNmUyODRiXzUtNi0xLTEtMC90ZXh0cmVnaW9uOjY2YzlkNjZmZmM1YTQ4NzhhN2Y3MGIwOTlmMDFjMjQwXzE2NDkyNjc0NDE2NzQ_c5b1eb90-35d2-4f1a-bf04-98b2f08f98e8">P5Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="ib3119fce349b4f6587c19f908367b2dc_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTpiZjEwYTI5ZWEyNWY0OWZmYjk2OTcyNjQ2MzZlMjg0Yi90YWJsZXJhbmdlOmJmMTBhMjllYTI1ZjQ5ZmZiOTY5NzI2NDYzNmUyODRiXzUtNi0xLTEtMC90ZXh0cmVnaW9uOjY2YzlkNjZmZmM1YTQ4NzhhN2Y3MGIwOTlmMDFjMjQwXzE2NDkyNjc0NDE2Nzk_fa6d3f71-d368-4bd4-840f-744f403df976">P6Y29D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i4c062635dbd2451889987f0af257f830_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTpiZjEwYTI5ZWEyNWY0OWZmYjk2OTcyNjQ2MzZlMjg0Yi90YWJsZXJhbmdlOmJmMTBhMjllYTI1ZjQ5ZmZiOTY5NzI2NDYzNmUyODRiXzUtOC0xLTEtMC90ZXh0cmVnaW9uOjExY2I4M2VmNjEzYjRmMzhiM2YyOGMxMTQzZTVjMzgwXzE2NDkyNjc0NDE2Njk_aa28a0d7-0590-4028-909b-3e4dfa6d4e9e">P5Y9M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i039ef34e84814a89a51794da58440c49_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTpiZjEwYTI5ZWEyNWY0OWZmYjk2OTcyNjQ2MzZlMjg0Yi90YWJsZXJhbmdlOmJmMTBhMjllYTI1ZjQ5ZmZiOTY5NzI2NDYzNmUyODRiXzUtOC0xLTEtMC90ZXh0cmVnaW9uOjExY2I4M2VmNjEzYjRmMzhiM2YyOGMxMTQzZTVjMzgwXzE2NDkyNjc0NDE2NzI_69b1acf3-d48e-406a-9504-7ada22ea01a2">P6Y29D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate
      contextRef="ieeaded307e5245739ed101c326ac2e81_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90ZXh0cmVnaW9uOjRjZGE5YjYzYTNjMjQ2NTNhNjFlYjU2MWU4YjQ2OWFmXzMyOTg1MzQ4OTE1NDI_6b5d3405-cc25-4d0d-884e-36a964e2f1c2"
      unitRef="number">0.20</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="ieeaded307e5245739ed101c326ac2e81_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90ZXh0cmVnaW9uOjRjZGE5YjYzYTNjMjQ2NTNhNjFlYjU2MWU4YjQ2OWFmXzEwOTk1MTE2MzQxMDM_975ef891-3ae1-476c-b85d-f0ef3a74fe8a"
      unitRef="shares">120000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <exdx:ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalSharesAuthorizedPercentage
      contextRef="ieeaded307e5245739ed101c326ac2e81_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90ZXh0cmVnaW9uOjRjZGE5YjYzYTNjMjQ2NTNhNjFlYjU2MWU4YjQ2OWFmXzMyOTg1MzQ4OTE1NDc_615d6a5c-54da-4550-ba88-37e9f34d1d05"
      unitRef="number">0.01</exdx:ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalSharesAuthorizedPercentage>
    <exdx:ShareBasedCompensationArrangementByShareBasedPaymentAwardIncreaseDecreaseInNumberOfSharesAuthorized
      contextRef="i41b5f6bca8d2400bb78d64d3ee723516_I20210101"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90ZXh0cmVnaW9uOjRjZGE5YjYzYTNjMjQ2NTNhNjFlYjU2MWU4YjQ2OWFmXzEwOTk1MTE2MzQ2NDk_0cf4c60b-c802-4b1c-bf07-69e0b53f1e7a"
      unitRef="shares">126523</exdx:ShareBasedCompensationArrangementByShareBasedPaymentAwardIncreaseDecreaseInNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="i1a0359964fa449d7b394ee812510e987_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTo0OWUxY2JjYjU3OWE0MjUyYjNkNzdmNDExOTg0NTIwYi90YWJsZXJhbmdlOjQ5ZTFjYmNiNTc5YTQyNTJiM2Q3N2Y0MTE5ODQ1MjBiXzItNi0xLTEtNTg4OS90ZXh0cmVnaW9uOmYxYTQyMTNiN2M3MTQ5YTdiOThlYjVjZjY3ODYyOTkzXzEwOTk1MTE2Mjc3OTA_bbb72f63-86a6-45cf-9e06-07edc8e971b3"
      unitRef="number">0.58</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="i1a0359964fa449d7b394ee812510e987_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTo0OWUxY2JjYjU3OWE0MjUyYjNkNzdmNDExOTg0NTIwYi90YWJsZXJhbmdlOjQ5ZTFjYmNiNTc5YTQyNTJiM2Q3N2Y0MTE5ODQ1MjBiXzItNi0xLTEtNTg4OS90ZXh0cmVnaW9uOmYxYTQyMTNiN2M3MTQ5YTdiOThlYjVjZjY3ODYyOTkzXzEwOTk1MTE2Mjc3OTc_b4c99e66-3707-402a-8770-7a3e6ef83fab"
      unitRef="number">0.83</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="i1a0359964fa449d7b394ee812510e987_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTo0OWUxY2JjYjU3OWE0MjUyYjNkNzdmNDExOTg0NTIwYi90YWJsZXJhbmdlOjQ5ZTFjYmNiNTc5YTQyNTJiM2Q3N2Y0MTE5ODQ1MjBiXzMtNi0xLTEtNTg4OS90ZXh0cmVnaW9uOmY5ZjUzOGI3MWE0ZDQ3MjliM2Q2MmI0NWY2NDFlYmFlXzEwOTk1MTE2Mjc3OTM_1e38dcc1-a779-4ccb-a555-306e5bec7273"
      unitRef="number">0.001</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="i1a0359964fa449d7b394ee812510e987_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTo0OWUxY2JjYjU3OWE0MjUyYjNkNzdmNDExOTg0NTIwYi90YWJsZXJhbmdlOjQ5ZTFjYmNiNTc5YTQyNTJiM2Q3N2Y0MTE5ODQ1MjBiXzMtNi0xLTEtNTg4OS90ZXh0cmVnaW9uOmY5ZjUzOGI3MWE0ZDQ3MjliM2Q2MmI0NWY2NDFlYmFlXzEwOTk1MTE2Mjc4MDA_cc502fa1-2e4a-4733-8ff3-243daeb180c1"
      unitRef="number">0.011</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i1a0359964fa449d7b394ee812510e987_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTo0OWUxY2JjYjU3OWE0MjUyYjNkNzdmNDExOTg0NTIwYi90YWJsZXJhbmdlOjQ5ZTFjYmNiNTc5YTQyNTJiM2Q3N2Y0MTE5ODQ1MjBiXzQtNi0xLTEtNTg4OQ_7c66489e-456b-49c8-bcbd-24c29bf38999"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i1a0359964fa449d7b394ee812510e987_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTo0OWUxY2JjYjU3OWE0MjUyYjNkNzdmNDExOTg0NTIwYi90YWJsZXJhbmdlOjQ5ZTFjYmNiNTc5YTQyNTJiM2Q3N2Y0MTE5ODQ1MjBiXzUtNi0xLTEtNTg4OQ_bd897ee5-6d1f-4174-a94f-4be1ef7d592b">P0Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90ZXh0cmVnaW9uOjRjZGE5YjYzYTNjMjQ2NTNhNjFlYjU2MWU4YjQ2OWFmXzQwNzg_a4ab0cd9-1e1e-4771-b856-654dcd512b6d">&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total non-cash stock-based compensation expense recorded related to options granted and stock purchase rights granted under the ESPP in the statement of operations is as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.075%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.084%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Cost of revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2,419&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;445&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Research and development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;242&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2,694&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i702cbb6d8580485a8ed9b7d9da8a2093_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTo0NTIyMWZkM2ZmNTY0NjJhYWI4NjgyM2Q2MWMzOTA4Ny90YWJsZXJhbmdlOjQ1MjIxZmQzZmY1NjQ2MmFhYjg2ODIzZDYxYzM5MDg3XzItNi0xLTEtMA_e20a1eb2-580a-414f-bbb7-24a202cf8645"
      unitRef="usd">33000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i3a70ce52ba824bfda7ecfd9065c1b7c3_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTo0NTIyMWZkM2ZmNTY0NjJhYWI4NjgyM2Q2MWMzOTA4Ny90YWJsZXJhbmdlOjQ1MjIxZmQzZmY1NjQ2MmFhYjg2ODIzZDYxYzM5MDg3XzItOC0xLTEtMA_5c75006a-f45d-4193-bbcb-6326c971b3d6"
      unitRef="usd">9000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i703d6361d7e7459d8f59cb73b645d79e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTo0NTIyMWZkM2ZmNTY0NjJhYWI4NjgyM2Q2MWMzOTA4Ny90YWJsZXJhbmdlOjQ1MjIxZmQzZmY1NjQ2MmFhYjg2ODIzZDYxYzM5MDg3XzMtNi0xLTEtMA_a30affb2-3f37-49bc-afb3-1e64b8c72133"
      unitRef="usd">2419000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="if5d73be98d664ccfa3f52b1b3925d8b1_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTo0NTIyMWZkM2ZmNTY0NjJhYWI4NjgyM2Q2MWMzOTA4Ny90YWJsZXJhbmdlOjQ1MjIxZmQzZmY1NjQ2MmFhYjg2ODIzZDYxYzM5MDg3XzMtOC0xLTEtMA_5fc0876f-1200-42f7-80aa-6494c2f8c4f9"
      unitRef="usd">445000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="id612b120136c4606a30275dd302975ba_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTo0NTIyMWZkM2ZmNTY0NjJhYWI4NjgyM2Q2MWMzOTA4Ny90YWJsZXJhbmdlOjQ1MjIxZmQzZmY1NjQ2MmFhYjg2ODIzZDYxYzM5MDg3XzQtNi0xLTEtMA_54d37793-783c-4a85-9df0-f2d369f9fd41"
      unitRef="usd">242000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ieeed2007d8ce423190963dac6498acc6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTo0NTIyMWZkM2ZmNTY0NjJhYWI4NjgyM2Q2MWMzOTA4Ny90YWJsZXJhbmdlOjQ1MjIxZmQzZmY1NjQ2MmFhYjg2ODIzZDYxYzM5MDg3XzQtOC0xLTEtMA_5ed61bc1-19fb-481d-89dc-b87e9cdd2de1"
      unitRef="usd">118000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTo0NTIyMWZkM2ZmNTY0NjJhYWI4NjgyM2Q2MWMzOTA4Ny90YWJsZXJhbmdlOjQ1MjIxZmQzZmY1NjQ2MmFhYjg2ODIzZDYxYzM5MDg3XzUtNi0xLTEtMA_ca2309ac-f90a-4c85-a18d-b355778a52d4"
      unitRef="usd">2694000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZTo0NTIyMWZkM2ZmNTY0NjJhYWI4NjgyM2Q2MWMzOTA4Ny90YWJsZXJhbmdlOjQ1MjIxZmQzZmY1NjQ2MmFhYjg2ODIzZDYxYzM5MDg3XzUtOC0xLTEtMA_409ed6ab-9dcc-4011-9b74-db582033ba27"
      unitRef="usd">572000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90ZXh0cmVnaW9uOjRjZGE5YjYzYTNjMjQ2NTNhNjFlYjU2MWU4YjQ2OWFmXzI4Mjk_9d143de1-47fa-462e-855a-2d5d9251b04a"
      unitRef="usd">8500000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90ZXh0cmVnaW9uOjRjZGE5YjYzYTNjMjQ2NTNhNjFlYjU2MWU4YjQ2OWFmXzI5Mjg_980aee86-9ef7-4350-ad8b-ff1b280b9890">P2Y9M18D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90ZXh0cmVnaW9uOjRjZGE5YjYzYTNjMjQ2NTNhNjFlYjU2MWU4YjQ2OWFmXzQwODE_e5a20180-02cb-4049-bd4e-19ebd120e17a">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Common stock reserved for future issuance consists of the following at December&#160;31, 2020:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-indent:24.75pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:77.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.784%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Warrants to purchase common stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;426,827&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Common stock option grants issued and outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,975,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Common shares available for grant under the stock option plan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,139,323&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Common shares available for future issuance under ESPP&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;233,961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;3,775,872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="ib3d9a5ee720049a2943b6461407a26c4_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToyMDdlMTdhYTkxZTU0OTNjODBmNTFjZTczNTRlMWRiZS90YWJsZXJhbmdlOjIwN2UxN2FhOTFlNTQ5M2M4MGY1MWNlNzM1NGUxZGJlXzAtMi0xLTEtMA_8ad0721b-518e-4370-b07b-828f002a3cb5"
      unitRef="shares">426827</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="icb4954aca44d475bbcf2bdfd5f3e8918_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToyMDdlMTdhYTkxZTU0OTNjODBmNTFjZTczNTRlMWRiZS90YWJsZXJhbmdlOjIwN2UxN2FhOTFlNTQ5M2M4MGY1MWNlNzM1NGUxZGJlXzEtMi0xLTEtMA_483bccf2-54fc-4ce7-9c87-6432e2c84d85"
      unitRef="shares">1975761</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="ib009a5d12eec454f807f70204c3f2c94_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToyMDdlMTdhYTkxZTU0OTNjODBmNTFjZTczNTRlMWRiZS90YWJsZXJhbmdlOjIwN2UxN2FhOTFlNTQ5M2M4MGY1MWNlNzM1NGUxZGJlXzItMi0xLTEtMA_640dcb91-2535-4270-84b3-e1536468cabd"
      unitRef="shares">1139323</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="ieeaded307e5245739ed101c326ac2e81_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToyMDdlMTdhYTkxZTU0OTNjODBmNTFjZTczNTRlMWRiZS90YWJsZXJhbmdlOjIwN2UxN2FhOTFlNTQ5M2M4MGY1MWNlNzM1NGUxZGJlXzMtMi0xLTEtMA_4e289750-76c6-4bfc-bb96-51fe58119e00"
      unitRef="shares">233961</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNDgvZnJhZzo0Y2RhOWI2M2EzYzI0NjUzYTYxZWI1NjFlOGI0NjlhZi90YWJsZToyMDdlMTdhYTkxZTU0OTNjODBmNTFjZTczNTRlMWRiZS90YWJsZXJhbmdlOjIwN2UxN2FhOTFlNTQ5M2M4MGY1MWNlNzM1NGUxZGJlXzQtMi0xLTEtMA_8ec6d6c2-c808-44e0-9f1a-a6ee5861dc06"
      unitRef="shares">3775872</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90ZXh0cmVnaW9uOmM0OGE0MDAzOGVkYzQ4ZGQ4YTkxNGVmOWE0YTUzZDNiXzM0MjQ_414e4f30-6ac9-4184-a428-e23b0eb4a1dd">Income Taxes&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The provision for income taxes consists of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-indent:24.75pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Current:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Deferred:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(117)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total deferred&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(106)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(Benefit) provision for income tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(79)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-indent:24.75pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The effective tax rate of our provision for income taxes differs from the federal statutory rate as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-indent:24.75pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.660%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.498%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Federal statutory tax rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(21.0)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(21.0)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;State income taxes, net of federal tax benefits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(3.9)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(3.6)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Change in fair value of preferred stock liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.5)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Change in valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;22.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(36.1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Limitation of net operating losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;59.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Effective tax rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.5)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;0.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Significant components of the Company&#x2019;s deferred tax assets at December&#160;31, 2020 and 2019 are shown below. A valuation allowance has been established as realization of the Company&#x2019;s deferred tax assets has not met the more likely-than-not threshold requirement. If the Company&#x2019;s judgment changes and it is determined that the Company will be able to realize these deferred tax assets, the tax benefits relating to any reversal of the valuation allowance on deferred tax assets will be accounted for as a reduction to income tax expense (in thousands).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Deferred tax assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net operating loss carryforwards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;17,733&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;15,287&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Research and development tax credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;629&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;419&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accruals, reserves and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;590&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Interest expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,306&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;744&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Basis differences in fixed and intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total gross deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;21,233&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;17,265&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Less: Valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(20,596)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(16,797)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Deferred tax assets, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;637&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;468&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Deferred tax liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Financing and acquisition-related liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(336)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(336)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Indefinite lived assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(459)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(396)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Deferred tax liabilities, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(795)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(732)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net deferred tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(158)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(264)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Changes in the valuation allowance for deferred tax assets during the years ended December&#160;31, 2020 and 2019, which related primarily to increases in net operating loss carryforwards, accrued revenue and accruals and reserves were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:15pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Valuation allowance at the beginning of the year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;16,797&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;21,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Decreases recorded as benefits to income tax provision&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(4,341)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Increases recorded to income tax provision&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;3,799&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Valuation allowance at the end of the year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;20,596&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;16,797&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December&#160;31, 2020 and 2019, the Company had federal net operating loss carryforwards of approximately $70.6 million and $60.7 million, respectively. At December&#160;31, 2020 and 2019, the Company had state net operating loss carryforwards of $48.9 million and $43.5 million, respectively. Approximately $43.5 million of the federal tax loss carryforwards will begin to expire in 2022, unless previously utilized. The federal net operating loss carryforwards generated in after December 31, 2017 of $27.1 million will carryforward indefinitely. The Company&#x2019;s state tax loss carryforwards will expire in 2032, unless previously utilized. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December 31, 2019, the Company's deferred tax assets are primarily comprised of federal and state tax net operating loss carryforwards. The Company completed a formal study through the year ended December 31, 2019 and determined ownership changes within the meaning of Internal Revenue Code (IRC), Section 382 had occurred in 2003, 2008, 2012, 2017 and 2019. Based on the analysis, $61.8 million of the Company's tax attribute carryforwards through December 31, 2017 cannot be utilized under IRC Section 382. The Company's ability to utilize net operating loss carryforwards generated after December 31, 2017 will not expire under the Tax Cuts and Jobs Act of 2017. The Company adjusted tax attribute carry forwards and deferred tax assets accordingly. As the deferred tax assets associated with the tax attribute carry forwards were fully offset by a valuation allowance, a corresponding reduction in the Company's valuation allowance was also recorded, resulting in no income tax impact. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company is subject to taxation in the U.S. and in various state jurisdictions. The Company&#x2019;s tax years for 2002 and forward are subject to examination by the U.S. and state tax authorities due to the carryforward of unutilized net operating losses and research and development credits. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognizes interest and/or penalties related to income tax matters in its provision for income taxes. The Company does not have any accruals for, and did not recognize any, interest or penalties in these financial statements in any period presented. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Uncertain Tax Positions &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December&#160;31, 2020 and 2019, the Company had no unrecognized tax benefits. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company does not believe that the balance of unrecognized tax benefits will materially change within the next twelve months.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90ZXh0cmVnaW9uOmM0OGE0MDAzOGVkYzQ4ZGQ4YTkxNGVmOWE0YTUzZDNiXzM0MjU_8f6bda9d-441f-44d2-a485-dfd7ff53edce">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The provision for income taxes consists of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-indent:24.75pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Current:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Deferred:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(117)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total deferred&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(106)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(Benefit) provision for income tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(79)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTo0ZTI3ZWJhMGE5ZDI0MGUxOTcxNWNlYzI5N2NkYzU5My90YWJsZXJhbmdlOjRlMjdlYmEwYTlkMjQwZTE5NzE1Y2VjMjk3Y2RjNTkzXzMtMi0xLTEtMA_57ce76a9-b3ea-4af4-9fdf-f5cb71f6f17c"
      unitRef="usd">0</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTo0ZTI3ZWJhMGE5ZDI0MGUxOTcxNWNlYzI5N2NkYzU5My90YWJsZXJhbmdlOjRlMjdlYmEwYTlkMjQwZTE5NzE1Y2VjMjk3Y2RjNTkzXzMtNC0xLTEtMA_e3d88338-cd41-4ecf-9345-54bae71623c2"
      unitRef="usd">0</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTo0ZTI3ZWJhMGE5ZDI0MGUxOTcxNWNlYzI5N2NkYzU5My90YWJsZXJhbmdlOjRlMjdlYmEwYTlkMjQwZTE5NzE1Y2VjMjk3Y2RjNTkzXzQtMi0xLTEtMA_c52d5a2f-d394-44c0-9527-a1e5e04c6407"
      unitRef="usd">27000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTo0ZTI3ZWJhMGE5ZDI0MGUxOTcxNWNlYzI5N2NkYzU5My90YWJsZXJhbmdlOjRlMjdlYmEwYTlkMjQwZTE5NzE1Y2VjMjk3Y2RjNTkzXzQtNC0xLTEtMA_1f4ec0e5-55bb-4f1d-a832-c96c4a4d3d97"
      unitRef="usd">5000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTo0ZTI3ZWJhMGE5ZDI0MGUxOTcxNWNlYzI5N2NkYzU5My90YWJsZXJhbmdlOjRlMjdlYmEwYTlkMjQwZTE5NzE1Y2VjMjk3Y2RjNTkzXzUtMi0xLTEtMA_18ec53c3-5c9f-45af-8749-80533c25d639"
      unitRef="usd">27000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTo0ZTI3ZWJhMGE5ZDI0MGUxOTcxNWNlYzI5N2NkYzU5My90YWJsZXJhbmdlOjRlMjdlYmEwYTlkMjQwZTE5NzE1Y2VjMjk3Y2RjNTkzXzUtNC0xLTEtMA_863afb2a-09cf-4169-93d2-ef8f435fe5a0"
      unitRef="usd">5000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTo0ZTI3ZWJhMGE5ZDI0MGUxOTcxNWNlYzI5N2NkYzU5My90YWJsZXJhbmdlOjRlMjdlYmEwYTlkMjQwZTE5NzE1Y2VjMjk3Y2RjNTkzXzctMi0xLTEtMA_4d369936-153a-40fe-9690-7d3d489d2bb5"
      unitRef="usd">-117000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTo0ZTI3ZWJhMGE5ZDI0MGUxOTcxNWNlYzI5N2NkYzU5My90YWJsZXJhbmdlOjRlMjdlYmEwYTlkMjQwZTE5NzE1Y2VjMjk3Y2RjNTkzXzctNC0xLTEtMA_0dcb9e77-704f-496e-9f93-9becf6c44722"
      unitRef="usd">10000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTo0ZTI3ZWJhMGE5ZDI0MGUxOTcxNWNlYzI5N2NkYzU5My90YWJsZXJhbmdlOjRlMjdlYmEwYTlkMjQwZTE5NzE1Y2VjMjk3Y2RjNTkzXzgtMi0xLTEtMA_40b57fc0-4cca-4b70-a9a9-3b61b6a63830"
      unitRef="usd">11000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTo0ZTI3ZWJhMGE5ZDI0MGUxOTcxNWNlYzI5N2NkYzU5My90YWJsZXJhbmdlOjRlMjdlYmEwYTlkMjQwZTE5NzE1Y2VjMjk3Y2RjNTkzXzgtNC0xLTEtMA_276eaedf-2d8c-4803-839c-7bc87064eb1d"
      unitRef="usd">10000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTo0ZTI3ZWJhMGE5ZDI0MGUxOTcxNWNlYzI5N2NkYzU5My90YWJsZXJhbmdlOjRlMjdlYmEwYTlkMjQwZTE5NzE1Y2VjMjk3Y2RjNTkzXzktMi0xLTEtMA_d13021bd-343a-476e-baee-13aa269d9eb9"
      unitRef="usd">-106000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTo0ZTI3ZWJhMGE5ZDI0MGUxOTcxNWNlYzI5N2NkYzU5My90YWJsZXJhbmdlOjRlMjdlYmEwYTlkMjQwZTE5NzE1Y2VjMjk3Y2RjNTkzXzktNC0xLTEtMA_0261c533-277f-425c-81d2-6dbad9e5cbc5"
      unitRef="usd">20000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTo0ZTI3ZWJhMGE5ZDI0MGUxOTcxNWNlYzI5N2NkYzU5My90YWJsZXJhbmdlOjRlMjdlYmEwYTlkMjQwZTE5NzE1Y2VjMjk3Y2RjNTkzXzEwLTItMS0xLTA_5d782a67-edee-4d30-9df3-d6a4ca41d7a7"
      unitRef="usd">-79000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTo0ZTI3ZWJhMGE5ZDI0MGUxOTcxNWNlYzI5N2NkYzU5My90YWJsZXJhbmdlOjRlMjdlYmEwYTlkMjQwZTE5NzE1Y2VjMjk3Y2RjNTkzXzEwLTQtMS0xLTA_9b9ecac0-5b0b-4098-9a37-9499e09df1c7"
      unitRef="usd">25000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90ZXh0cmVnaW9uOmM0OGE0MDAzOGVkYzQ4ZGQ4YTkxNGVmOWE0YTUzZDNiXzM0MjY_386048bf-748d-465c-9a3d-3f25f63a9cfb">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The effective tax rate of our provision for income taxes differs from the federal statutory rate as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-indent:24.75pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.660%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.498%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Federal statutory tax rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(21.0)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(21.0)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;State income taxes, net of federal tax benefits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(3.9)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(3.6)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Change in fair value of preferred stock liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.5)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Change in valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;22.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(36.1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Limitation of net operating losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;59.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Effective tax rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.5)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;0.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZToyOTdjM2ZlNjBlYzM0ZGRiOGMwMWJiNzY3ZDAwYzdmZi90YWJsZXJhbmdlOjI5N2MzZmU2MGVjMzRkZGI4YzAxYmI3NjdkMDBjN2ZmXzItMi0xLTEtMA_ed697b75-158b-468c-8cf4-f530b8c28fbc"
      unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZToyOTdjM2ZlNjBlYzM0ZGRiOGMwMWJiNzY3ZDAwYzdmZi90YWJsZXJhbmdlOjI5N2MzZmU2MGVjMzRkZGI4YzAxYmI3NjdkMDBjN2ZmXzItNC0xLTEtMA_433f9060-a663-4cc3-a2d6-1f8fc92921ea"
      unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZToyOTdjM2ZlNjBlYzM0ZGRiOGMwMWJiNzY3ZDAwYzdmZi90YWJsZXJhbmdlOjI5N2MzZmU2MGVjMzRkZGI4YzAxYmI3NjdkMDBjN2ZmXzMtMi0xLTEtMA_08d0321e-007a-433a-9ed4-6bc5c2ad24ed"
      unitRef="number">0.039</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZToyOTdjM2ZlNjBlYzM0ZGRiOGMwMWJiNzY3ZDAwYzdmZi90YWJsZXJhbmdlOjI5N2MzZmU2MGVjMzRkZGI4YzAxYmI3NjdkMDBjN2ZmXzMtNC0xLTEtMA_dba27235-8c43-488c-9d52-429338ff9460"
      unitRef="number">0.036</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <exdx:EffectiveIncomeTaxRateReconciliationChangeInFairValueOfPreferredStockLiabilitiesPercent
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZToyOTdjM2ZlNjBlYzM0ZGRiOGMwMWJiNzY3ZDAwYzdmZi90YWJsZXJhbmdlOjI5N2MzZmU2MGVjMzRkZGI4YzAxYmI3NjdkMDBjN2ZmXzQtMi0xLTEtMA_61a57bda-2cb1-4e51-931f-7f664e551b27"
      unitRef="number">0</exdx:EffectiveIncomeTaxRateReconciliationChangeInFairValueOfPreferredStockLiabilitiesPercent>
    <exdx:EffectiveIncomeTaxRateReconciliationChangeInFairValueOfPreferredStockLiabilitiesPercent
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZToyOTdjM2ZlNjBlYzM0ZGRiOGMwMWJiNzY3ZDAwYzdmZi90YWJsZXJhbmdlOjI5N2MzZmU2MGVjMzRkZGI4YzAxYmI3NjdkMDBjN2ZmXzQtNC0xLTEtMA_ddfa92fd-65f7-458a-b6d4-c3e23db16e2f"
      unitRef="number">0.005</exdx:EffectiveIncomeTaxRateReconciliationChangeInFairValueOfPreferredStockLiabilitiesPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZToyOTdjM2ZlNjBlYzM0ZGRiOGMwMWJiNzY3ZDAwYzdmZi90YWJsZXJhbmdlOjI5N2MzZmU2MGVjMzRkZGI4YzAxYmI3NjdkMDBjN2ZmXzUtMi0xLTEtMA_dd103b97-b179-4420-b9a5-e889f4128dce"
      unitRef="number">-0.226</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZToyOTdjM2ZlNjBlYzM0ZGRiOGMwMWJiNzY3ZDAwYzdmZi90YWJsZXJhbmdlOjI5N2MzZmU2MGVjMzRkZGI4YzAxYmI3NjdkMDBjN2ZmXzUtNC0xLTEtMA_5742b95d-3b4a-4167-83f2-aa46aa2905c5"
      unitRef="number">0.361</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZToyOTdjM2ZlNjBlYzM0ZGRiOGMwMWJiNzY3ZDAwYzdmZi90YWJsZXJhbmdlOjI5N2MzZmU2MGVjMzRkZGI4YzAxYmI3NjdkMDBjN2ZmXzYtMi0xLTEtMA_d5bc1ac4-d657-4d06-a9b2-7549a5b7eb13"
      unitRef="number">0</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZToyOTdjM2ZlNjBlYzM0ZGRiOGMwMWJiNzY3ZDAwYzdmZi90YWJsZXJhbmdlOjI5N2MzZmU2MGVjMzRkZGI4YzAxYmI3NjdkMDBjN2ZmXzYtNC0xLTEtMA_4d662c67-0e23-47bf-9bc4-b3dde79530aa"
      unitRef="number">-0.598</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZToyOTdjM2ZlNjBlYzM0ZGRiOGMwMWJiNzY3ZDAwYzdmZi90YWJsZXJhbmdlOjI5N2MzZmU2MGVjMzRkZGI4YzAxYmI3NjdkMDBjN2ZmXzctMi0xLTEtMA_208a67bb-7132-4dac-9b40-a3ce5d9cb4ff"
      unitRef="number">-0.018</us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZToyOTdjM2ZlNjBlYzM0ZGRiOGMwMWJiNzY3ZDAwYzdmZi90YWJsZXJhbmdlOjI5N2MzZmU2MGVjMzRkZGI4YzAxYmI3NjdkMDBjN2ZmXzctNC0xLTEtMA_18a0b36b-fb48-400f-8bca-d5754f610345"
      unitRef="number">-0.016</us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZToyOTdjM2ZlNjBlYzM0ZGRiOGMwMWJiNzY3ZDAwYzdmZi90YWJsZXJhbmdlOjI5N2MzZmU2MGVjMzRkZGI4YzAxYmI3NjdkMDBjN2ZmXzgtMi0xLTEtMA_035831dc-d4d1-4753-a2cb-f99d16afa461"
      unitRef="number">0.005</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZToyOTdjM2ZlNjBlYzM0ZGRiOGMwMWJiNzY3ZDAwYzdmZi90YWJsZXJhbmdlOjI5N2MzZmU2MGVjMzRkZGI4YzAxYmI3NjdkMDBjN2ZmXzgtNC0xLTEtMA_1f330244-cde0-4b0c-8a2b-a832128c8c5a"
      unitRef="number">-0.002</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90ZXh0cmVnaW9uOmM0OGE0MDAzOGVkYzQ4ZGQ4YTkxNGVmOWE0YTUzZDNiXzM0Mjc_6f34b525-65ab-4ee7-9947-14a29ac51d59">If the Company&#x2019;s judgment changes and it is determined that the Company will be able to realize these deferred tax assets, the tax benefits relating to any reversal of the valuation allowance on deferred tax assets will be accounted for as a reduction to income tax expense (in thousands).&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Deferred tax assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net operating loss carryforwards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;17,733&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;15,287&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Research and development tax credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;629&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;419&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accruals, reserves and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;590&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Interest expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,306&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;744&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Basis differences in fixed and intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total gross deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;21,233&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;17,265&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Less: Valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(20,596)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(16,797)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Deferred tax assets, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;637&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;468&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Deferred tax liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Financing and acquisition-related liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(336)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(336)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Indefinite lived assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(459)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(396)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Deferred tax liabilities, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(795)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(732)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net deferred tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(158)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(264)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTpmNDExMDE1MWVjMWM0MjY1ODA3M2ZiMzhjODBlZGZhYS90YWJsZXJhbmdlOmY0MTEwMTUxZWMxYzQyNjU4MDczZmIzOGM4MGVkZmFhXzMtMi0xLTEtMA_22645481-b322-4c94-84cc-7f4be2011cbc"
      unitRef="usd">17733000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTpmNDExMDE1MWVjMWM0MjY1ODA3M2ZiMzhjODBlZGZhYS90YWJsZXJhbmdlOmY0MTEwMTUxZWMxYzQyNjU4MDczZmIzOGM4MGVkZmFhXzMtNC0xLTEtMA_9ab4e2ea-64aa-48be-981f-98ceaaab38cf"
      unitRef="usd">15287000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTpmNDExMDE1MWVjMWM0MjY1ODA3M2ZiMzhjODBlZGZhYS90YWJsZXJhbmdlOmY0MTEwMTUxZWMxYzQyNjU4MDczZmIzOGM4MGVkZmFhXzQtMi0xLTEtMA_f0d46a9a-4338-4e85-8058-a7c775a066ac"
      unitRef="usd">629000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTpmNDExMDE1MWVjMWM0MjY1ODA3M2ZiMzhjODBlZGZhYS90YWJsZXJhbmdlOmY0MTEwMTUxZWMxYzQyNjU4MDczZmIzOGM4MGVkZmFhXzQtNC0xLTEtMA_afb96717-c642-40a2-ac01-35defd072b17"
      unitRef="usd">419000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLossReserves
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTpmNDExMDE1MWVjMWM0MjY1ODA3M2ZiMzhjODBlZGZhYS90YWJsZXJhbmdlOmY0MTEwMTUxZWMxYzQyNjU4MDczZmIzOGM4MGVkZmFhXzUtMi0xLTEtMA_8c5aa826-4b03-4171-8487-1aa2ae278f36"
      unitRef="usd">1448000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLossReserves>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLossReserves
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTpmNDExMDE1MWVjMWM0MjY1ODA3M2ZiMzhjODBlZGZhYS90YWJsZXJhbmdlOmY0MTEwMTUxZWMxYzQyNjU4MDczZmIzOGM4MGVkZmFhXzUtNC0xLTEtMA_1d4478e4-e9e9-4f04-b78d-ecd9f2ddc1b0"
      unitRef="usd">590000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLossReserves>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTpmNDExMDE1MWVjMWM0MjY1ODA3M2ZiMzhjODBlZGZhYS90YWJsZXJhbmdlOmY0MTEwMTUxZWMxYzQyNjU4MDczZmIzOGM4MGVkZmFhXzYtMi0xLTEtMA_0bbb5bb2-074c-44f4-975c-ddefea9d514f"
      unitRef="usd">1306000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTpmNDExMDE1MWVjMWM0MjY1ODA3M2ZiMzhjODBlZGZhYS90YWJsZXJhbmdlOmY0MTEwMTUxZWMxYzQyNjU4MDczZmIzOGM4MGVkZmFhXzYtNC0xLTEtMA_e046d9ff-39d4-41d1-a3c1-9cdb94130dcc"
      unitRef="usd">744000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTpmNDExMDE1MWVjMWM0MjY1ODA3M2ZiMzhjODBlZGZhYS90YWJsZXJhbmdlOmY0MTEwMTUxZWMxYzQyNjU4MDczZmIzOGM4MGVkZmFhXzctMi0xLTEtMA_7c7b6040-0082-4121-a94d-1afb382eb3cf"
      unitRef="usd">117000</us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets>
    <us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTpmNDExMDE1MWVjMWM0MjY1ODA3M2ZiMzhjODBlZGZhYS90YWJsZXJhbmdlOmY0MTEwMTUxZWMxYzQyNjU4MDczZmIzOGM4MGVkZmFhXzctNC0xLTEtMA_0924ee96-90b2-4d67-8546-674f30b44bfc"
      unitRef="usd">225000</us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTpmNDExMDE1MWVjMWM0MjY1ODA3M2ZiMzhjODBlZGZhYS90YWJsZXJhbmdlOmY0MTEwMTUxZWMxYzQyNjU4MDczZmIzOGM4MGVkZmFhXzgtMi0xLTEtMA_1fc6da29-65c7-4ece-b124-7c658e817c13"
      unitRef="usd">21233000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTpmNDExMDE1MWVjMWM0MjY1ODA3M2ZiMzhjODBlZGZhYS90YWJsZXJhbmdlOmY0MTEwMTUxZWMxYzQyNjU4MDczZmIzOGM4MGVkZmFhXzgtNC0xLTEtMA_1997290f-5641-44db-bd56-53c4ae8557ba"
      unitRef="usd">17265000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTpmNDExMDE1MWVjMWM0MjY1ODA3M2ZiMzhjODBlZGZhYS90YWJsZXJhbmdlOmY0MTEwMTUxZWMxYzQyNjU4MDczZmIzOGM4MGVkZmFhXzktMi0xLTEtMA_c9e92e99-99ed-4c82-9089-9b3091c97da4"
      unitRef="usd">20596000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTpmNDExMDE1MWVjMWM0MjY1ODA3M2ZiMzhjODBlZGZhYS90YWJsZXJhbmdlOmY0MTEwMTUxZWMxYzQyNjU4MDczZmIzOGM4MGVkZmFhXzktNC0xLTEtMA_3ebce777-65ee-486e-9425-21dd025ec57a"
      unitRef="usd">16797000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTpmNDExMDE1MWVjMWM0MjY1ODA3M2ZiMzhjODBlZGZhYS90YWJsZXJhbmdlOmY0MTEwMTUxZWMxYzQyNjU4MDczZmIzOGM4MGVkZmFhXzEwLTItMS0xLTA_d8390f52-8d6e-40ca-801c-7f2712bb271d"
      unitRef="usd">637000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTpmNDExMDE1MWVjMWM0MjY1ODA3M2ZiMzhjODBlZGZhYS90YWJsZXJhbmdlOmY0MTEwMTUxZWMxYzQyNjU4MDczZmIzOGM4MGVkZmFhXzEwLTQtMS0xLTA_9fa017d9-0458-4acd-abeb-f428b72b51cf"
      unitRef="usd">468000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesFinancingArrangements
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTpmNDExMDE1MWVjMWM0MjY1ODA3M2ZiMzhjODBlZGZhYS90YWJsZXJhbmdlOmY0MTEwMTUxZWMxYzQyNjU4MDczZmIzOGM4MGVkZmFhXzEyLTItMS0xLTA_b730d8a3-6d68-4e5f-9747-ab561349adef"
      unitRef="usd">336000</us-gaap:DeferredTaxLiabilitiesFinancingArrangements>
    <us-gaap:DeferredTaxLiabilitiesFinancingArrangements
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTpmNDExMDE1MWVjMWM0MjY1ODA3M2ZiMzhjODBlZGZhYS90YWJsZXJhbmdlOmY0MTEwMTUxZWMxYzQyNjU4MDczZmIzOGM4MGVkZmFhXzEyLTQtMS0xLTA_777d976b-1b79-40b0-8ee4-cbc78d6e4e6e"
      unitRef="usd">336000</us-gaap:DeferredTaxLiabilitiesFinancingArrangements>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTpmNDExMDE1MWVjMWM0MjY1ODA3M2ZiMzhjODBlZGZhYS90YWJsZXJhbmdlOmY0MTEwMTUxZWMxYzQyNjU4MDczZmIzOGM4MGVkZmFhXzEzLTItMS0xLTA_4da26d93-4efe-4aba-b750-bce385a49767"
      unitRef="usd">459000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTpmNDExMDE1MWVjMWM0MjY1ODA3M2ZiMzhjODBlZGZhYS90YWJsZXJhbmdlOmY0MTEwMTUxZWMxYzQyNjU4MDczZmIzOGM4MGVkZmFhXzEzLTQtMS0xLTA_04290bee-5775-4e21-b7a4-068c08a1ad05"
      unitRef="usd">396000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTpmNDExMDE1MWVjMWM0MjY1ODA3M2ZiMzhjODBlZGZhYS90YWJsZXJhbmdlOmY0MTEwMTUxZWMxYzQyNjU4MDczZmIzOGM4MGVkZmFhXzE0LTItMS0xLTA_3c0e1cad-c678-48cf-93d3-cf37fedf2df9"
      unitRef="usd">795000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTpmNDExMDE1MWVjMWM0MjY1ODA3M2ZiMzhjODBlZGZhYS90YWJsZXJhbmdlOmY0MTEwMTUxZWMxYzQyNjU4MDczZmIzOGM4MGVkZmFhXzE0LTQtMS0xLTA_381edc78-858f-4bf7-99c4-c5f8ba54e5d5"
      unitRef="usd">732000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTpmNDExMDE1MWVjMWM0MjY1ODA3M2ZiMzhjODBlZGZhYS90YWJsZXJhbmdlOmY0MTEwMTUxZWMxYzQyNjU4MDczZmIzOGM4MGVkZmFhXzE1LTItMS0xLTA_66ad2656-f177-4c43-8b45-27e11db67d44"
      unitRef="usd">158000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTpmNDExMDE1MWVjMWM0MjY1ODA3M2ZiMzhjODBlZGZhYS90YWJsZXJhbmdlOmY0MTEwMTUxZWMxYzQyNjU4MDczZmIzOGM4MGVkZmFhXzE1LTQtMS0xLTA_cdc175bb-08e7-4a4a-84c4-79ad285a02f5"
      unitRef="usd">264000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:SummaryOfValuationAllowanceTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90ZXh0cmVnaW9uOmM0OGE0MDAzOGVkYzQ4ZGQ4YTkxNGVmOWE0YTUzZDNiXzM0Mjg_7dd13d93-1467-416a-98a3-330833f1f6c3">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Changes in the valuation allowance for deferred tax assets during the years ended December&#160;31, 2020 and 2019, which related primarily to increases in net operating loss carryforwards, accrued revenue and accruals and reserves were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:15pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Valuation allowance at the beginning of the year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;16,797&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;21,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Decreases recorded as benefits to income tax provision&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(4,341)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Increases recorded to income tax provision&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;3,799&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Valuation allowance at the end of the year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;20,596&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;16,797&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:SummaryOfValuationAllowanceTextBlock>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTo3ZTY0OWQ2YmEzOTk0NzIxOTk0OTJjZGE4ZThkYmMwNy90YWJsZXJhbmdlOjdlNjQ5ZDZiYTM5OTQ3MjE5OTQ5MmNkYThlOGRiYzA3XzItMi0xLTEtMA_d97f47bc-2e67-4d7f-b888-44dc6230ab07"
      unitRef="usd">16797000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="ibdd8f716641546a99b2b0acc6ea44d50_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTo3ZTY0OWQ2YmEzOTk0NzIxOTk0OTJjZGE4ZThkYmMwNy90YWJsZXJhbmdlOjdlNjQ5ZDZiYTM5OTQ3MjE5OTQ5MmNkYThlOGRiYzA3XzItNC0xLTEtMA_09dd5e25-849b-457f-94a5-d76d633082a5"
      unitRef="usd">21138000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <exdx:ValuationAllowanceDeferredTaxAssetDecreaseRecordedAsABenefitToIncomeTaxProvisionAmount
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTo3ZTY0OWQ2YmEzOTk0NzIxOTk0OTJjZGE4ZThkYmMwNy90YWJsZXJhbmdlOjdlNjQ5ZDZiYTM5OTQ3MjE5OTQ5MmNkYThlOGRiYzA3XzMtMi0xLTEtMA_93b20a29-2e6d-4604-9f07-01e6de131a1a"
      unitRef="usd">0</exdx:ValuationAllowanceDeferredTaxAssetDecreaseRecordedAsABenefitToIncomeTaxProvisionAmount>
    <exdx:ValuationAllowanceDeferredTaxAssetDecreaseRecordedAsABenefitToIncomeTaxProvisionAmount
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTo3ZTY0OWQ2YmEzOTk0NzIxOTk0OTJjZGE4ZThkYmMwNy90YWJsZXJhbmdlOjdlNjQ5ZDZiYTM5OTQ3MjE5OTQ5MmNkYThlOGRiYzA3XzMtNC0xLTEtMA_9f59de48-6ac1-4776-9b11-34562be897c0"
      unitRef="usd">4341000</exdx:ValuationAllowanceDeferredTaxAssetDecreaseRecordedAsABenefitToIncomeTaxProvisionAmount>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTo3ZTY0OWQ2YmEzOTk0NzIxOTk0OTJjZGE4ZThkYmMwNy90YWJsZXJhbmdlOjdlNjQ5ZDZiYTM5OTQ3MjE5OTQ5MmNkYThlOGRiYzA3XzQtMi0xLTEtMA_6d8e3da8-5720-4ce8-b76a-0366c0da342f"
      unitRef="usd">3799000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTo3ZTY0OWQ2YmEzOTk0NzIxOTk0OTJjZGE4ZThkYmMwNy90YWJsZXJhbmdlOjdlNjQ5ZDZiYTM5OTQ3MjE5OTQ5MmNkYThlOGRiYzA3XzQtNC0xLTEtMA_4d0a6fff-821c-4749-94b6-4e072987c9e1"
      unitRef="usd">0</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTo3ZTY0OWQ2YmEzOTk0NzIxOTk0OTJjZGE4ZThkYmMwNy90YWJsZXJhbmdlOjdlNjQ5ZDZiYTM5OTQ3MjE5OTQ5MmNkYThlOGRiYzA3XzUtMi0xLTEtMA_4ddab1b9-80c4-4040-939b-e394c9c0074d"
      unitRef="usd">20596000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90YWJsZTo3ZTY0OWQ2YmEzOTk0NzIxOTk0OTJjZGE4ZThkYmMwNy90YWJsZXJhbmdlOjdlNjQ5ZDZiYTM5OTQ3MjE5OTQ5MmNkYThlOGRiYzA3XzUtNC0xLTEtMA_55c78c67-d1bf-438a-9e90-4e634b67d728"
      unitRef="usd">16797000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90ZXh0cmVnaW9uOmM0OGE0MDAzOGVkYzQ4ZGQ4YTkxNGVmOWE0YTUzZDNiXzEwOTI_4339675c-8aba-463c-910b-3ad6cd6069ba"
      unitRef="usd">70600000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90ZXh0cmVnaW9uOmM0OGE0MDAzOGVkYzQ4ZGQ4YTkxNGVmOWE0YTUzZDNiXzExMDc_20ce9b6f-6570-49ab-8d15-6bc699c6f3b2"
      unitRef="usd">60700000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90ZXh0cmVnaW9uOmM0OGE0MDAzOGVkYzQ4ZGQ4YTkxNGVmOWE0YTUzZDNiXzEyMDc_3e482589-7e63-46bf-b831-8822eec1671a"
      unitRef="usd">48900000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90ZXh0cmVnaW9uOmM0OGE0MDAzOGVkYzQ4ZGQ4YTkxNGVmOWE0YTUzZDNiXzEyMjI_e382eb9d-03cc-4955-8009-66f34e9788ff"
      unitRef="usd">43500000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90ZXh0cmVnaW9uOmM0OGE0MDAzOGVkYzQ4ZGQ4YTkxNGVmOWE0YTUzZDNiXzEyNjI_74f59515-e601-4bc8-af0e-79e80ddfdc66"
      unitRef="usd">43500000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90ZXh0cmVnaW9uOmM0OGE0MDAzOGVkYzQ4ZGQ4YTkxNGVmOWE0YTUzZDNiXzE0NTQ_78fe2e81-2937-407e-857b-4cf6b3a4f32b"
      unitRef="usd">27100000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration>
    <exdx:OperatingLossCarryforwardsNotUtilized
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90ZXh0cmVnaW9uOmM0OGE0MDAzOGVkYzQ4ZGQ4YTkxNGVmOWE0YTUzZDNiXzIwNDY_c1fd82db-5581-42d3-98ad-72e4da4cf219"
      unitRef="usd">61800000</exdx:OperatingLossCarryforwardsNotUtilized>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i161aa9f12f5040b598e25e1d7896f041_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90ZXh0cmVnaW9uOmM0OGE0MDAzOGVkYzQ4ZGQ4YTkxNGVmOWE0YTUzZDNiXzMyNjU_0e5f1fcc-a055-4ad3-9e31-83618f320a14"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i616b08c4738d433b924c1dc44c268b4f_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTEvZnJhZzpjNDhhNDAwMzhlZGM0OGRkOGE5MTRlZjlhNGE1M2QzYi90ZXh0cmVnaW9uOmM0OGE0MDAzOGVkYzQ4ZGQ4YTkxNGVmOWE0YTUzZDNiXzMyNjU_b6b28be1-ac93-41a5-ab69-1539106ca7d8"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTQvZnJhZzo1NmJmNmRmNWNiYzE0N2QyYmU5YzczZTQzMjg4MGM5OS90ZXh0cmVnaW9uOjU2YmY2ZGY1Y2JjMTQ3ZDJiZTljNzNlNDMyODgwYzk5XzI1NDk_fdaa94e2-d0e0-41e6-831c-69fdb74d79f7">Related PartiesThe closings of the Series&#160;G financing and the Series H financing described in Note 7 were issued to existing holders of the Company's redeemable convertible preferred stock, including certain members of our Board of Directors.</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTcvZnJhZzoxNzZmMjA1NDZkYmE0N2Y1OWJmMDUzNjc3ZDBlY2JmNi90ZXh0cmVnaW9uOjE3NmYyMDU0NmRiYTQ3ZjU5YmYwNTM2NzdkMGVjYmY2XzUxMQ_e3b44d3d-d92d-4a29-bdff-4d055fdef5b0">&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Note 12. 401(k) Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company sponsors an employee savings plan that qualifies as a deferred salary arrangement under Section 401(k) of the Code. Participating employees may defer up to the Internal Revenue Service annual contribution limit. Additionally, the Company may elect to make contributions into the savings plan at its sole discretion. For the years ended December&#160;31, 2020 and 2019, the Company made contributions to the Plan at 3% of qualified employee compensation, which totaled approximately $0.5 million and $0.4 million, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTcvZnJhZzoxNzZmMjA1NDZkYmE0N2Y1OWJmMDUzNjc3ZDBlY2JmNi90ZXh0cmVnaW9uOjE3NmYyMDU0NmRiYTQ3ZjU5YmYwNTM2NzdkMGVjYmY2XzQzMw_2b823f2f-91aa-4396-a167-2fe13309f919"
      unitRef="number">0.03</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTcvZnJhZzoxNzZmMjA1NDZkYmE0N2Y1OWJmMDUzNjc3ZDBlY2JmNi90ZXh0cmVnaW9uOjE3NmYyMDU0NmRiYTQ3ZjU5YmYwNTM2NzdkMGVjYmY2XzQzMw_dbe0ec20-7749-480c-b087-d11fa9ebf921"
      unitRef="number">0.03</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTcvZnJhZzoxNzZmMjA1NDZkYmE0N2Y1OWJmMDUzNjc3ZDBlY2JmNi90ZXh0cmVnaW9uOjE3NmYyMDU0NmRiYTQ3ZjU5YmYwNTM2NzdkMGVjYmY2XzUwMA_f9b56f5d-82c9-4fe9-8908-4785116480f4"
      unitRef="usd">500000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i3617efc1423e40249453b903e951175d_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl8xNTcvZnJhZzoxNzZmMjA1NDZkYmE0N2Y1OWJmMDUzNjc3ZDBlY2JmNi90ZXh0cmVnaW9uOjE3NmYyMDU0NmRiYTQ3ZjU5YmYwNTM2NzdkMGVjYmY2XzE2NDkyNjc0NDIxODY_378440df-cf78-4b31-b452-66252be099a7"
      unitRef="usd">400000</us-gaap:DefinedContributionPlanCostRecognized>
    <exdx:CoronavirusAidReliefAndEconomicSecuritiesCARESActDisclosureTextBlock
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl83NjAvZnJhZzpiZTU0NzYzMWU1MTE0ZGIyOTgzODQwNTg4YThjOWVmZS90ZXh0cmVnaW9uOmJlNTQ3NjMxZTUxMTRkYjI5ODM4NDA1ODhhOGM5ZWZlXzMyOTg1MzQ4OTI4MzU_c2515fc1-4101-4ad4-b650-f77dfc923ffa">COVID-19&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During 2020, due to the worldwide COVID-19 pandemic, the Company experienced a reduction in patient test volumes, delays in patient enrollment in ongoing and planned clinical studies, and delays in the procurement of its testing supplies. In response to the pandemic, the Company has curtailed non-essential employee travel, equipped employees with the ability to work remotely with the exception of clinical laboratory employees, and reduced marketing spend and employee headcount. The reduction in headcount resulted in a restructuring charge for termination benefits of $0.3 million which has been paid as of December&#160;31, 2020. The full extent to which the COVID-19 pandemic will directly or indirectly continue to impact the Company's business, results of operations and financial condition, will depend on future developments that are highly uncertain, including as a result of new information that may emerge concerning COVID-19 and the actions taken to contain it or treat COVID-19, as well as the economic impact on local, regional and international markets.   &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act (CARES Act) was enacted in response to the COVID-19 pandemic. The CARES Act, among other things, permits NOL carryovers and carrybacks to offset 100% of taxable income for taxable years beginning before 2021. Under the Tax Cuts and Jobs Act (TCJA), NOLs generated post TCJA were allowed to be carried forward indefinitely but were only allowed to offset 80% of taxable income. As a result of the CARES Act and the change to permit NOLs generated in taxable years 2018, 2019 and 2020 to offset 100% of taxable income, the Company released valuation allowance against its deferred tax assets in the amount of $0.1 million for the year ended December&#160;31, 2020. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On December 27, 2020, the Consolidated Appropriations Act, 2021 was signed into law. It provides additional COVID-19 focused relief and extends certain provisions of the CARES Act. At this time, the Company does not believe that the Consolidated Appropriations Act, 2021 has a material impact on its financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In April 2020, the Company received $0.7 million of funding under the CARES Act Provider Relief Fund, subject to the Company's agreement to comply with the Department of Health &amp;amp; Human Services' (HHS) standard terms and conditions. The CARES Act Provider Relief Fund is a federal fund allocated for general distributions to Medicare facilities and providers impacted by the COVID-19 pandemic and is intended to support COVID-related expenses or lost revenue attributable to COVID-19. The funding received is considered a government grant which is recognized when there is reasonable assurance that the grant will be received and that conditions attached to the grant have &lt;/span&gt;&lt;/div&gt;been met. For the year ended December&#160;31, 2020, the Company recognized $0.7 million due to lost revenue attributable to COVID-19, which is reflected in other income, net, on its statements of operations.On April 16, 2020, the Company entered into a promissory note with BOKF, NA dba Bank of Oklahoma, the lender, evidencing an unsecured loan pursuant to the U.S. Small Business Administration (SBA) Paycheck Protection Program (PPP) of the CARES Act of approximately $2.9 million (the PPP Loan). The Company applied for and received the PPP Loan pursuant to the then published PPP qualification and certification requirements. On April 23, 2020, the SBA, in consultation with the Department of Treasury, issued new guidance that created uncertainty regarding the qualification requirements for the PPP Loan (the New Guidance). In light of the New Guidance, on May 11, 2020, the Company paid off in full the principal and interest on the PPP Loan, resulting in the termination of the promissory note.</exdx:CoronavirusAidReliefAndEconomicSecuritiesCARESActDisclosureTextBlock>
    <us-gaap:RestructuringCharges
      contextRef="i95195c5be0cf48859f028de27b41c233_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl83NjAvZnJhZzpiZTU0NzYzMWU1MTE0ZGIyOTgzODQwNTg4YThjOWVmZS90ZXh0cmVnaW9uOmJlNTQ3NjMxZTUxMTRkYjI5ODM4NDA1ODhhOGM5ZWZlXzEwOTk1MTE2NTAxMjk_08c07e19-1095-413b-a9ed-f914ff1cc9b2"
      unitRef="usd">300000</us-gaap:RestructuringCharges>
    <exdx:CoronavirusAidReliefAndEconomicSecuritiesCARESActDeferredTaxAssetsValuationAllowance
      contextRef="i9a7dd8fe1c69457ebd695bca19af30c8_I20200331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl83NjAvZnJhZzpiZTU0NzYzMWU1MTE0ZGIyOTgzODQwNTg4YThjOWVmZS90ZXh0cmVnaW9uOmJlNTQ3NjMxZTUxMTRkYjI5ODM4NDA1ODhhOGM5ZWZlXzE2NDkyNjc0NDk4ODE_c3298fe4-1f3a-4b48-8067-8d1d481f08f7"
      unitRef="usd">100000</exdx:CoronavirusAidReliefAndEconomicSecuritiesCARESActDeferredTaxAssetsValuationAllowance>
    <exdx:CoronavirusAidReliefAndEconomicSecuritiesCARESActProceedsFromLoan
      contextRef="i801df2af82e6463ebc78fe5a1417689d_D20200401-20200430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl83NjAvZnJhZzpiZTU0NzYzMWU1MTE0ZGIyOTgzODQwNTg4YThjOWVmZS90ZXh0cmVnaW9uOmJlNTQ3NjMxZTUxMTRkYjI5ODM4NDA1ODhhOGM5ZWZlXzE2NDkyNjc0NDk5NTg_918e784f-759d-48b0-ab05-989d1fca6102"
      unitRef="usd">700000</exdx:CoronavirusAidReliefAndEconomicSecuritiesCARESActProceedsFromLoan>
    <exdx:CoronavirusAidReliefAndEconomicSecuritiesCARESActOtherNonOperatingIncomeExpense
      contextRef="iac638a334d2d4a41982db55571d79004_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl83NjAvZnJhZzpiZTU0NzYzMWU1MTE0ZGIyOTgzODQwNTg4YThjOWVmZS90ZXh0cmVnaW9uOmJlNTQ3NjMxZTUxMTRkYjI5ODM4NDA1ODhhOGM5ZWZlXzI3NDg3NzkwOTAwNzY_6ee78c31-d15b-4247-9caf-2e60597f9326"
      unitRef="usd">700000</exdx:CoronavirusAidReliefAndEconomicSecuritiesCARESActOtherNonOperatingIncomeExpense>
    <exdx:CoronavirusAidReliefAndEconomicSecuritiesCARESActProceedsFromLoan
      contextRef="ic992af68648c493b97deed5f40c92944_D20200416-20200416"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjQ2Mjk3YWVjYzUwMzQyMTg5Y2U2YWQwNTExYjFlZmQ2L3NlYzo0NjI5N2FlY2M1MDM0MjE4OWNlNmFkMDUxMWIxZWZkNl83NjAvZnJhZzpiZTU0NzYzMWU1MTE0ZGIyOTgzODQwNTg4YThjOWVmZS90ZXh0cmVnaW9uOmJlNTQ3NjMxZTUxMTRkYjI5ODM4NDA1ODhhOGM5ZWZlXzE2NDkyNjc0NDk5OTM_a236acba-6ec0-4947-a0f6-e97970de1701"
      unitRef="usd">2900000</exdx:CoronavirusAidReliefAndEconomicSecuritiesCARESActProceedsFromLoan>
</xbrl>
