<?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/2021q4"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2021-01-31"
  xmlns:tls="http://telos.com/20211231"
  xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31"
  xmlns:utr="http://www.xbrl.org/2009/utr"
  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="tls-20211231.xsd" xlink:type="simple"/>
    <context id="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i9c85698703bb496e95190a094cc17293_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="idf745672f722427280f1edf2b8506f9c_I20220321">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <instant>2022-03-21</instant>
        </period>
    </context>
    <context id="i111651b0c9ba4a02bb27d3984b9c4e40_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i0ebcdd8394e64d6a9691af8507bd8a40_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ic881eef5a016434ab5e138d428b82b6e_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i3a904e7a0ab04c61aadee182dda6f6ab_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ie616575eb8b94979a2e4dae2a5050c3e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if974150894214d8aaf0524d196cada3c_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i6b261579f4774b16906440fd5c2d54a9_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i80792f44233941c890b75811627a7d6f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ibd17c1a727e14c3eb048e13fd9d1c173_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="iadf4b09fd00b4cc28962e99c48301a62_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="ibcb9b0cbef69476d87bdf573edbaf6c2_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</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="i9e23f08f5dfc4f8ba2c321e0035d766d_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i862fe18962e9408c8d7210afb0803328_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="ia49217ca40044313a457b58e48baec72_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</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="i8a31a3cb9a0d40389c53693564be3c8f_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="id73a11874aea4a4eae0d5ae862df1679_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</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="i3ee3ae2ed83c4581912988abc8df77eb_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i329fe7baab044b9d9cc7a8b2438ab362_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</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="i0dc13a0737a14069b88adda64f898f91_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i3ba07cbc0da54bb7bc9046cb276f9a54_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i0c9ddefe9b3642ada8e80178bbed1f59_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</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="ib3aaf4bb095847a9a2dd80cedd45a45d_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i1b0835e964034e2999894f805ae2fe0b_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="if55a4b2d54cf4e91812e51a64bce49aa_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</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="iefd326d44cca40029321e957f897eb50_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ied2107de64c54a589718060592665116_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</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="i0ea9b50b2e9340de8e968ed594470846_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i58ff65c359a941fea2d41952f0ad852e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</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="i721caaef409448439d1687ecc1c75e9d_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iccad4b0926a14c75b8380da7e8f6c17c_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</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="i493c4f581f21449cb9940bffd840d57e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <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="ib60630051ba345b6a149b49881e068d8_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <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="iab02e40d397442ff99bccf8b46ee9695_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</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="i5c20654df2a64230b925cc3f81286324_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i1b6dfd2b1c99451abfedb16a75f0e827_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</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="i4e95ca6481104a6bba22983a5df5d3c0_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="id83cccae6a55455da3adc8ac494b8c06_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i0e25143b2251425eb2898639690d68db_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</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="i7b59e113df0d48f5adcf15e3b5df3470_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i361bda28b5ac44d1a58cf6e19feb0fd0_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</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="i13da460816f24e6f99903093bf760591_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i2d95470b4c9a4749b509b89c326d99d2_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i6302062435a14ed89faa20a0da36954a_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i1a85fa5934d54b7f965315720779ab28_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="idc97cc9af1dc42339f5eb205e841220b_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iac1513c3d43246f1b5c60fafb01a44d5_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i4638a613837a4fdf83d502dbdd3e1e4a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i9a78c64b32eb4629a13683707f907e8f_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i9b3d751e3eef4f1d96905ca0965311aa_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="if543541106e6409794ccc69919421d4e_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i0a84d117b5fe4298819f8ef77b446044_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic0b5bb5281904fd1a8a5c7b96d208451_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="iac9555ae69f940878a0a0cd59b27fecb_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i8cd9cadd3f164e57806edf9cf2816170_D20201112-20201112">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <startDate>2020-11-12</startDate>
            <endDate>2020-11-12</endDate>
        </period>
    </context>
    <context id="ia588acf5040f49fcb176f35d99afaa70_D20201119-20201119">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-19</startDate>
            <endDate>2020-11-19</endDate>
        </period>
    </context>
    <context id="i582ad93ec7ca4d908fd7ab1e67cc4791_I20201119">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-11-19</instant>
        </period>
    </context>
    <context id="i195bcb1e865649ab97ab6dfe1a7f63c1_D20201119-20201119">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tls:ExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-19</startDate>
            <endDate>2020-11-19</endDate>
        </period>
    </context>
    <context id="ie2b4a1f427f1484eab1c6db85e3d64b6_D20201119-20201119">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tls:TelosIdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-19</startDate>
            <endDate>2020-11-19</endDate>
        </period>
    </context>
    <context id="i47fa83c78e5148c783fb23b81a347331_D20210406-20210406">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">tls:SecondaryPublicOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-06</startDate>
            <endDate>2021-04-06</endDate>
        </period>
    </context>
    <context id="ia6a91b87e01544bdab5d57ce3486f6a2_I20210406">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">tls:SecondaryPublicOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-06</instant>
        </period>
    </context>
    <context id="i92f37feb042d4c86aaffd74c062228c5_D20210419-20210419">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EnlightenmentCapitalSolutionsFundIILPMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-19</startDate>
            <endDate>2021-04-19</endDate>
        </period>
    </context>
    <context id="ib6b141adee7b44e39a6721b2e7a8cb58_D20211001-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ic36b252cb7324b619baae6af152ef7ef_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ic302e497fc56411485d9163bb28971ba_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ifd52802431c04030a360ae1aaae5d7db_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tls:ServiceBasedRSUAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i6b13a923b9374c73af7efb777d57e988_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tls:ServiceBasedRSUAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i973ccb9552fa4a5fac4d001cc8f0c182_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tls:ServiceBasedRSUAwardsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i1c066c48789d45a5a768d78e1d47e9bb_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tls:ServiceBasedRSUAwardsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ifdca6a3b3f4a4bcd8165011669465624_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tls:ServiceBasedRSUAwardsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i78fdd607a975486495c6293c27a4beaa_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i2f1d5a56e4e34b34ac70dde7f21f676e_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ib2ed34ebc31647a4b1b1446eb2ba33d3_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i0efa09e8515e49eca22feb013f792305_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iff3218ebf821488b8dfffecdff6fd484_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i82c73f7990f543289ca6e9689c41d672_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i51a8b738b09b40db8ed5babec61001d1_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</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="i50cdf6bfd1484346b0fd1d092be107f0_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tls:RevenueTimingOfTransferOfGoodsOrServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i3aa757c7bfb14dd3a12da505e457ba8e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tls:RevenueTimingOfTransferOfGoodsOrServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iad85f02e291f422ba2dc3550f06abbc9_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tls:RevenueTimingOfTransferOfGoodsOrServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ib46f601fd4ae4b3db4e17ce756f4af5a_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tls:RevenueTimingOfTransferOfGoodsOrServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i1fe55725bb39402498de9f0ff4e59468_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tls:RevenueTimingOfTransferOfGoodsOrServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i2e70695900414cde93bc9a81e348da95_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tls:RevenueTimingOfTransferOfGoodsOrServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="iebf2f0a23ef3497eb50d5701d655a482_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201409Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iaf00e6bcbb5447a3ab68132bf67195e7_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ib9bc1a35418b46b2a970f738ec6bfb66_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i971437d042cc4ce4a6176d90f18bb781_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i471b7abdf22b459c946b7a7677065610_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="if4af21ecc74e4558a48c3b2303fc467e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i2d0c4b7561fc40d68fbd844113061ba4_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="id7fb253162fb4a8c8a3ddd6ab565af9d_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i53b900607ca84847ae14ffc3a3128c84_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i225fb698b2bc4d1eb62a321be931f26a_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i5bd5434cdb784ba990c09d0964adfb62_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i06a4a10f87104bbbbf86b32d67807d6f_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i4fd5fd639f134fb78894ca91aeeac9a2_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i694d5d1608bf4c109afdd913cee03d20_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i359c7e6289d84664a30d2174b6c589b7_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ib633ae54ad02415dbb6bf69b959a2a2d_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="id07f8c8205794af3b36e6c75fd73ea24_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i84821c63926a4157aacdca08ca3685af_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i792c0e21187e4314b636121d038fbbea_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ia537c35738594636a3ecd4c3bceef001_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i2b0ce93d25324e90977f25a1e5e53459_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i5965f4e767434404b022ed2d55df3da1_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i5964938007e14ea2b593d30dcdd62bf3_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:StateLocalAndCommercialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i857e59a32ad74662997a012395c1ddb3_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:StateLocalAndCommercialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i8676398d266640c298445a53d5020a32_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:StateLocalAndCommercialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i1b261d531a6d456c9389333979048f0a_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i3dc8457abb3440b8b7445363523869f5_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ie639164f9fcd4829aa0241cb0d9e612b_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i214ff7834a564a1383889f479ee84a67_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:StateLocalAndCommercialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i8ce928c2882c49898d50c6bcaa34c2f8_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:StateLocalAndCommercialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i24023b7c6abe4d5789b36144ae26db3f_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:StateLocalAndCommercialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="if329cccf9f9e487696d442f385bf1091_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i2902cbf6c71941dcb737e3d974796a20_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i669516292ece4fc4b6624ef0d2802ab7_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="idea50068e3ab46909764e8acc644abd2_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:TimeAndMaterialsContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ic86c76a378464c5ab6cc51453a49c00a_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:TimeAndMaterialsContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i710ddd9c41804a6fb120977b7c568589_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:TimeAndMaterialsContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i5d7faf5af0a9491d8c35c3a501be66fe_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">tls:CostPlusFixedFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ida01894bcd654e2299de3b2aebbe8007_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">tls:CostPlusFixedFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i85b48e160acc434aa5c40637f1591da4_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">tls:CostPlusFixedFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="iaa1f5c0bd2f74b598a19d6ff731ee1f9_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i5894ab82062c4e298bcf89d00a6210b0_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i1f10497ad9184da781b63c2914e5ccc4_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i75ba5c05736a47ceb2d4501ab339b0dd_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:TimeAndMaterialsContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iaf5f01493e2c4bfd90fc38c5b98d217e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:TimeAndMaterialsContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i5f897ebfb726464e970e0b8fc718dcc2_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:TimeAndMaterialsContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ib7a5aef5fa154cac86bbf1fb7110ba2e_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">tls:CostPlusFixedFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i6975bad7bb774cc59c0fba5a46e441b5_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">tls:CostPlusFixedFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i7a2d1cec79d8423c882fade74ec808ce_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">tls:CostPlusFixedFeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i856cdc96dffb4473b634cd29bd8f8569_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i3e3a426ca3cf4e73b74cec8d2289fc21_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</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="iab85ae8d2eda4324b25937a2f38290ed_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</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="i2f03a55899294ba49dcd55d35910217f_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i2486a6108522488b9ca7da30fc6e9d2b_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:USDepartmentOfDefenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id46c84bf6a8f41f7bcaf166c9805a7c2_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:USDepartmentOfDefenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</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="i8965376647c74dc79f2969520dca37c1_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:USDepartmentOfDefenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</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="i07c20fefb6f9477590420eee53a01579_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:CivilianMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i722981c365cd420d90b026e322f9c41b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:CivilianMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</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="ia3d977ad6fc54a9fabec8ffa5fa97813_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:CivilianMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</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="i3aa04eb08dab451b9f14d9f3ee08e871_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2022-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie424bb1990354434a8a8dc1fee49e896_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2023-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i7893495bed174c189b17ce7769f5bca2_D20160715-20160715">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <startDate>2016-07-15</startDate>
            <endDate>2016-07-15</endDate>
        </period>
    </context>
    <context id="i72add7a7b792454c959761fd334824a4_D20210730-20210730">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tls:AssetPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-30</startDate>
            <endDate>2021-07-30</endDate>
        </period>
    </context>
    <context id="i1133db34c1894b588d987e5aeca99e26_I20210730">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tls:AssetPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-30</instant>
        </period>
    </context>
    <context id="ide1f5f11f48c47ddbb0a38935124f8e0_D20210730-20210730">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tls:AssetPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-30</startDate>
            <endDate>2021-07-30</endDate>
        </period>
    </context>
    <context id="i5fd2037efd81413d801cc60d72af77d7_D20210730-20210730">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tls:AssetPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-30</startDate>
            <endDate>2021-07-30</endDate>
        </period>
    </context>
    <context id="i38980bfdbc144608937666f16d89aa46_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="id4283ab7bb8f42749d705d36afcfe4c4_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i5dffb9064ad14f819a6252b984e407fb_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic903b104b68b45ec9076aa99e1c168fb_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i728c61be396f48ae92eb518d17f8baf7_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i6c0ebb2b2e9e410aaea2677dc4323992_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i4a15e8eccee94495b605318bd8ba0de4_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i70ea036d15b545b6b42a32b5c3d986c2_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i5428d539979540d597abd7c767e1ed85_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i9c5f393c8bc34c0a80d37643bbae98b0_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ia2832eb04dd54e9dbdae94f4aba2ecef_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="id2b6ffa041004b48ba0cf816bc1fd087_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i3eb9a94c97fc42adbd979ddb1a47724b_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i219b129458b740d49e5002c85f842dff_I20170125">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">tls:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EnlightenmentCapitalSolutionsFundIILPMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-01-25</instant>
        </period>
    </context>
    <context id="i9e8b6d2b87694385a6f820cea79171d6_I20170125">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EnlightenmentCapitalSolutionsFundIILPMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-01-25</instant>
        </period>
    </context>
    <context id="i002fc5a99fde49ddab86798546a46a35_D20170125-20170125">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EnlightenmentCapitalSolutionsFundIILPMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-25</startDate>
            <endDate>2017-01-25</endDate>
        </period>
    </context>
    <context id="id1f079dc63f8450ba80d0a09590522d0_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tls:CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i7d2696faa50b41e6b443aef287d02bc9_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tls:CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i12222f71d6744f2b9fe1982e807d3ea7_D20180331-20180331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tls:CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-03-31</startDate>
            <endDate>2018-03-31</endDate>
        </period>
    </context>
    <context id="ic84f4a066faf48649987e234ee5a5fb5_I20180331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tls:CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EmmettWoodMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-03-31</instant>
        </period>
    </context>
    <context id="i044c2ad5eb7243ff87f1d7f8085f678e_D20190719-20190719">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EnlightenmentCapitalSolutionsFundIILPMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-19</startDate>
            <endDate>2019-07-19</endDate>
        </period>
    </context>
    <context id="i687f532bdce641de88453d8d4a530274_I20190719">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EnlightenmentCapitalSolutionsFundIILPMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-07-19</instant>
        </period>
    </context>
    <context id="if02de2e9c83d4789b17b0e16b556bb4f_I20190718">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EnlightenmentCapitalSolutionsFundIILPMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-07-18</instant>
        </period>
    </context>
    <context id="idc052a08cb4644ad867a0ef8bfe109ee_D20200326-20200326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <startDate>2020-03-26</startDate>
            <endDate>2020-03-26</endDate>
        </period>
    </context>
    <context id="if882389959f64f5d96a68dab34509297_D20201124-20201124">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tls:CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-24</startDate>
            <endDate>2020-11-24</endDate>
        </period>
    </context>
    <context id="i2eaa4baae97b4c3ead79e3f36bcbf936_I20201124">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tls:CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-11-24</instant>
        </period>
    </context>
    <context id="i060a542a8ab749d3a76e4204322da77d_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tls:CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i8c8e27c47ed041d886c500c193b7d310_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tls:CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i6d4b7dc387294e92ad3a53a91c1c448c_I20210419">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EnlightenmentCapitalSolutionsFundIILPMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-19</instant>
        </period>
    </context>
    <context id="i8f7b0df8dd8643749272c5e0f3c6ccf8_I20150331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">tls:PorterMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">tls:SubordinatedLoanAgreementsAndPromissoryNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2015-03-31</instant>
        </period>
    </context>
    <context id="ic24dfd04357f49f68cc538b9e72ea2b7_D20150331-20150331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">tls:PorterMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">tls:SubordinatedLoanAgreementsAndPromissoryNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2015-03-31</startDate>
            <endDate>2015-03-31</endDate>
        </period>
    </context>
    <context id="ib11f1a997cc248718cf2a5c2c6f198a7_D20170417-20170417">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">tls:PorterMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">tls:SubordinatedLoanAgreementsAndPromissoryNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-04-17</startDate>
            <endDate>2017-04-17</endDate>
        </period>
    </context>
    <context id="i9e485acf9154408487b01f07bcba59f4_D20170418-20170418">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">tls:PorterMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">tls:SubordinatedLoanAgreementsAndPromissoryNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-04-18</startDate>
            <endDate>2017-04-18</endDate>
        </period>
    </context>
    <context id="ia4dac1d31b0448cab992d8014427b905_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">tls:PorterMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">tls:SubordinatedLoanAgreementsAndPromissoryNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i943c3ca487c94abe8e0c86ed81564442_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">tls:PorterMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">tls:SubordinatedLoanAgreementsAndPromissoryNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i70e67946e738447db730fd601d29629d_I19901231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PreferredUnitsByNameAxis">tls:TwelvePercentCumulativeExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>1990-12-31</instant>
        </period>
    </context>
    <context id="i443e4dcd8f834f55873404b535cbb628_D20060401-20060630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PreferredUnitsByNameAxis">tls:TwelvePercentCumulativeExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2006-04-01</startDate>
            <endDate>2006-06-30</endDate>
        </period>
    </context>
    <context id="id40daaf35be443369c2badb6c89f6d14_D19900101-19901231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PreferredUnitsByNameAxis">tls:TwelvePercentCumulativeExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>1990-01-01</startDate>
            <endDate>1990-12-31</endDate>
        </period>
    </context>
    <context id="ib6574faf633449be97f5c25b46d8de64_D19910101-19911231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PreferredUnitsByNameAxis">tls:TwelvePercentCumulativeExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>1991-01-01</startDate>
            <endDate>1991-12-31</endDate>
        </period>
    </context>
    <context id="i757c5c184741438eb6a4e8a4d696f7eb_D19981101-19981130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PreferredUnitsByNameAxis">tls:TwelvePercentCumulativeExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>1998-11-01</startDate>
            <endDate>1998-11-30</endDate>
        </period>
    </context>
    <context id="idb9c70b9da98464e809257227c9de62a_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PreferredUnitsByNameAxis">tls:TwelvePercentCumulativeExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i2ec3feedd58b449b8e1aae3cead39eff_D19900101-19911231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PreferredUnitsByNameAxis">tls:TwelvePercentCumulativeExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>1990-01-01</startDate>
            <endDate>1991-12-31</endDate>
        </period>
    </context>
    <context id="iff96ec4c28be415cadeb68349ddee0de_I19911231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tls:ExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>1991-12-31</instant>
        </period>
    </context>
    <context id="i034fdec729844719b004b50bbdad6a23_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PreferredUnitsByNameAxis">tls:TwelvePercentCumulativeExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i38da50a66bfb471ba8e323409f0fe8be_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PreferredUnitsByNameAxis">tls:TwelvePercentCumulativeExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ibb745ccb5c984cd3a9dacdaacba867a4_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tls:ExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id904bcf77bec4851be146d7d9517ccb9_D20201119-20201119">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tls:ExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-19</startDate>
            <endDate>2020-11-19</endDate>
        </period>
    </context>
    <context id="i72c8621d16e744448633dd38ce18a018_D20201123-20201123">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tls:ExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-23</startDate>
            <endDate>2020-11-23</endDate>
        </period>
    </context>
    <context id="ied6249f1a664436ea6392a4f25eacb44_I20201123">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tls:ExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-11-23</instant>
        </period>
    </context>
    <context id="iedc7903e6fe347018052b3e1ebcb16fb_I20070411">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2007-04-11</instant>
        </period>
    </context>
    <context id="i2ea6ff00dc7646a8ae2edd361f3ab965_D20070419-20070419">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2007-04-19</startDate>
            <endDate>2007-04-19</endDate>
        </period>
    </context>
    <context id="ic27cad0165d5480083294b04b697db03_I20070419">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2007-04-19</instant>
        </period>
    </context>
    <context id="i89ea0e9ca223400aae6801b03f8bca53_I20070420">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2007-04-20</instant>
        </period>
    </context>
    <context id="i56715ec4c7a14eaea4a3f08476cf8a87_D20070420-20070420">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2007-04-20</startDate>
            <endDate>2007-04-20</endDate>
        </period>
    </context>
    <context id="if696e14563ee407d9e530ff07d21a225_I20141224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2014-12-24</instant>
        </period>
    </context>
    <context id="i4437da99f9eb4fc990612cb2579856fd_D20141224-20141224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2014-12-24</startDate>
            <endDate>2014-12-24</endDate>
        </period>
    </context>
    <context id="i2eb1555c10b74cf2b34052dc5f555568_D20141224-20141224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tls:ClassMembershipUnitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2014-12-24</startDate>
            <endDate>2014-12-24</endDate>
        </period>
    </context>
    <context id="i3db61aee55d8424c8cafebf6d95355f8_I20141224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tls:ClassMembershipUnitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2014-12-24</instant>
        </period>
    </context>
    <context id="ia09bb6e1876f4dd39f9bc822aea0e60b_D20141224-20141224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tls:ClassBMembershipUnitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2014-12-24</startDate>
            <endDate>2014-12-24</endDate>
        </period>
    </context>
    <context id="i0a0487a681ae4a6bbe64b97542ae468c_I20141224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tls:ClassBMembershipUnitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2014-12-24</instant>
        </period>
    </context>
    <context id="i83762493446848c8b652cab964fc4975_D20201123-20201123">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-23</startDate>
            <endDate>2020-11-23</endDate>
        </period>
    </context>
    <context id="i5af35c8368d446e299b581c8cb26e242_I20201123">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-11-23</instant>
        </period>
    </context>
    <context id="ie2ee4aeec45b400e84cc107af7c3d226_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tls:ClassMembershipUnitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ic2b1976925e445788a190765d4fc6dae_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tls:ClassMembershipUnitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i9173689979ab41a8a9136cb999a1d9c0_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tls:ClassBMembershipUnitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ice3c73077da143fb9db26f1e688a070b_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tls:ClassBMembershipUnitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i62d4b824c70144f2ac35461cb4746b6e_D20210101-20210131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tls:ClassBMembershipUnitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-01-31</endDate>
        </period>
    </context>
    <context id="i885e1cdfb77e43e9bcc889cd8e2fc14e_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="if5afccaa28fa455abddd7969179a907a_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ifa0e4296f95446aeb2af022594132ca7_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id673f9245dce48d980764d43703e0fc2_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if4e8bf1732954c4480b49f1b519c745d_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i8b72986c169543398ffcdcc4743ca4e2_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i8dfa22aaf2be4146a7babf1feaeb2cae_D20170501-20170531">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-05-01</startDate>
            <endDate>2017-05-31</endDate>
        </period>
    </context>
    <context id="i3f51ba5d2df34d7fa74834a964fdf12e_I20171231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="i1d1da4cdc74f402d8e2959c780a4934e_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i6f11ca8aae2f4e35a321f6237bc6b521_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="ic5ef1ff401ec451d9fde605679a202c7_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i67a797169402454aba969b71ebec70fa_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="id6bcfe72927b477e8fce6252d561a217_D20200101-20200531">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-05-31</endDate>
        </period>
    </context>
    <context id="i99344d00f57f4042b08d3aee0a20d520_I20200531">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-05-31</instant>
        </period>
    </context>
    <context id="ia7ff2fca2a584b4ca514e4199c2f255a_D20200531-20200531">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-05-31</startDate>
            <endDate>2020-05-31</endDate>
        </period>
    </context>
    <context id="i1563b6bbc3434c20b18b926db9a0615b_I20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tls:Two016OmnibusLongTermIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="i8bd84477796f4b53b4fa6709cdeaa9ab_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tls:Two016OmnibusLongTermIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i4cd9e65336f146d59c7776b00e532baa_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tls:Two016OmnibusLongTermIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ifa6aff6ec9484c2cb5fbde3a278875c8_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tls:Two016OmnibusLongTermIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id9312458afaf4f999f358b83e4c3ac87_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tls:Two016OmnibusLongTermIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iad29c0b8a74b49899800359554226bff_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tls:Two016OmnibusLongTermIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="id8d9d386295b47c39205b4fb6dbdcb85_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="if981dc5b79194832af46780025982b67_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <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="ib4547c6902584e9bbfceeb226a00b1f8_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="icc734895d48b48c58bc2a9bc781bbfd4_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i113807d8c26e418cb83a4788cbcbc3e9_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ic454668d42624f4da2698c0e951b93ea_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</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="icfea30f0173b4846a59eca4c387ae149_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="icea6664302da46e99c0f95bedc02bee5_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if55a0bac6cd34b0f8860887cddaaf7a2_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tls:ServiceBasedRSUAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i88bab31fe45044898529e8dd50897b14_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tls:ServiceBasedRSUAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if1b976d15984464983cb662d275d9ce0_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tls:ServiceBasedRSUAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ibe64ea76892b4ef59254352e911351e1_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ice9e4137b4294e71a7ff3eada8dbe896_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic32a8b44539544798bcb182377a0c135_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i5a3733eaf944454cadca09596a5de1c5_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ib7812a42904240d39ed9f1f7c846d68c_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">tls:CertainEmployeesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i68ac021258cf42a09dc14e4e58c744c8_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i51a6efefc25b4ad8a5c252972e5c5fe1_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i7ac24a68f7a64ad5a2566b4f2bafb9e0_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i156de7cec5fb43f7a7a53dd0de3739e6_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="icf6959d494a841b9b1b40429a52cac89_D20201201-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <startDate>2020-12-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i47c223fa22044b5eb0307671a5a3d115_D19960101-19961231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:CapitalLeaseObligationsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MajorPropertyClassAxis">us-gaap:AssetsHeldUnderCapitalLeasesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>1996-01-01</startDate>
            <endDate>1996-12-31</endDate>
        </period>
    </context>
    <context id="i8d8665d804e8467abcbc813155fe073b_I19961231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:CapitalLeaseObligationsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MajorPropertyClassAxis">us-gaap:AssetsHeldUnderCapitalLeasesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>1996-12-31</instant>
        </period>
    </context>
    <context id="i8177341453b844fb8be9b076290e3692_D20130101-20131231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:CapitalLeaseObligationsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MajorPropertyClassAxis">us-gaap:AssetsHeldUnderCapitalLeasesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2013-01-01</startDate>
            <endDate>2013-12-31</endDate>
        </period>
    </context>
    <context id="if98db18166ff4e9db71afcb555f97dbf_I20131231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:CapitalLeaseObligationsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MajorPropertyClassAxis">us-gaap:AssetsHeldUnderCapitalLeasesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2013-12-31</instant>
        </period>
    </context>
    <context id="i1650e16397e5432e998292dfed4d7356_D20140101-20141231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <startDate>2014-01-01</startDate>
            <endDate>2014-12-31</endDate>
        </period>
    </context>
    <context id="i574499b936c24d8bb681a4465b4cc8c8_I20141231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <instant>2014-12-31</instant>
        </period>
    </context>
    <context id="ie85666983d9148dcb937e8b410716f9c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:CapitalLeaseObligationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ica958ef8ed3741f8bad8c559161c90eb_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EmmettWoodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="if8f0637f091d4721867bf8e748cf365e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EmmettWoodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i84aece213bb142e89af104df1af9b06d_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EmmettWoodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i518164becf0a4538a7e1aa5b4f1e64d7_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EmmettWoodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i27203b9fc4154782b3cc2d8fbcddddbf_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EmmettWoodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i4d6662db75a444bb86ca257029144625_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:DirectorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ic136058caf3545a9808b3e461742ec25_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:DirectorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i7b9dc9bf05a349edab5271728d5364ed_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:DirectorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ie17a313ec9524b0b9b25a961d94467ff_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id6577bac6f31435392e10017b70fe0ad_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="icc4bd7cb54f74df29a6a16dd84b89a60_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecuritySolutionsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i2e8aea1a88b6423f8ca649a80e7b2dac_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i656a504735384f3e88d494f23ae16c28_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i99d54b91a4ce46299a3a7dc771a00723_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tls:SecureNetworksSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i2aad13dd27844a8ea5b82d82d6d7e406_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i93709ec5d6fa47d59051e69727889368_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="id666ee09833c4b58abc5ab49719bc5a2_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="iae8f11f157fb477b8b9d977e2648c396_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis">tls:SingleIndividualStockCompensationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id045b1d7d59543409a0dffe006461682_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis">tls:SingleIndividualStockCompensationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i892c82c22f36480599720a10eb4b2914_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis">tls:SingleIndividualStockCompensationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iaef21c1c2ebe46c9aabb4a5d5c02f2bc_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis">tls:OverheadCostPoolsStockCompensationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i79595cf7dcac453daf19b58e4e4402c4_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i248b9930d6ac4ae7a153585d09486368_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis">tls:RevenueRelatedToStubPeriodOfAContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iedcd43de4bbb4195affa9f11424b9fc1_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis">tls:RevenueRelatedToStubPeriodOfAContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i1f05adb1207c4c1da09b5671b4ff84d4_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis">tls:RevenueRelatedToStubPeriodOfAContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="if545583a38af42e6b4e39dfbf0ed30e0_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis">tls:RevenueRelatedToStubPeriodOfAContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i30ff3183f5eb4aa7b38001df416cb83f_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis">tls:ExpenseRelatedToAContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="if318da0d6f404849a36a44aa7cd15550_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis">tls:ExpenseRelatedToASoftwareProjectMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="if19f28db3eb14f72ae17f43fa3728b03_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="ia0f00f99200a4b038e5f2865acf9c56d_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis">tls:SingleIndividualStockCompensationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i083684fe7d1d40aebd1b9ea177a8bb44_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="i6e2a422e7a1240f7b103508ec773627e_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="idb53d308ed53451495e37fabe83d60e7_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i81fbe052320a49cc9d0501ccb77f8030_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i33ba8fee93564b59aeb6cb0f1c6a22d4_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tls:ProductsAndServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="ibb8350192a964d908d1eb59df097223e_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tls:ProductsAndServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="idaadcf336edb45a6a77ac05ff38fc8c6_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tls:ProductsAndServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i28b11894ec4848c8b79f18cc17fa5daa_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="id4261218348047c1a020b9f1c7060898_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="if67813ca69e64c98a29604a3a87bcd2a_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i9a270f23c18f41b98f2d5848e3974bda_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ib168d3d17b774a329122845bdade5bc5_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ie6adb9732760487b9bd5ce76d4746113_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iee5690c48af0421291c2ccb66c0c74ce_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i50fce68a0fde42e18cf8565b4f343d83_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i1a87e76fdd77452690de9035906722fc_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i20fea44f7ab642c0a3547d358c0fbeba_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ia669eb82f89244d798067e3f6b88b810_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id7ae6d48ad474d3dac7b68ecd9c063b9_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ic7bbe1913ca4480d86fb1a43f95e7223_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i5ea817c3b5044de2aa5f06bab1eb0580_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iedbbc78c99ba4202a39c3d4ec29683f3_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i8bd957aad321460a92d3241579729366_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i570d6bcea8954afbb049e46f3e16dd84_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i668caf1d5b5c4e62ac8a680222df51ed_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i1fb6b48fda9a4bba800a33063c8b4903_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i61f4618feae7441480b716ea43e1abb5_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ib2e0b00555f84ca296a95ea5e46ab62f_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tls:ProductsAndServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ia8b410dbe3654632ae1b6adf788c5572_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tls:ProductsAndServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i464a581fa6f848a68c30ac91ade985dc_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tls:ProductsAndServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i4404c9c6aa15431d9271252f85bc3c4a_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tls:ProductsAndServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i624d6a8fe7fe4e38b4406485afd30e55_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tls:ProductsAndServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i956aec3b0a2f4fd7b1d05fbbbb244020_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tls:ProductsAndServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i521b473064274c2ca4823226ed535b48_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i0cb0741bae0d4120b0ad5c2ae9bfa44d_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i77360873e0654135a1659442e1fd6d0c_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="idfd9cbb7eff9431db8c995f7d99bc0a7_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ieb7ab9acfc014064b7aa5b5db347e2d1_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ia3d354e637db4bddb59d8d2d8876677e_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="ie1963287809e471fa4802860ddaed9fc_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i7682a676fea6460fae17d4663bb3fa58_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="ida6af5efad4d4c47a28ef0d2e11614ba_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i5be0e440de2d4795bc48b82119e8968c_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i49a6c3a4f2c94b38a0ccfdca41018570_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="if08d31a214c949ef917fd05165eb7368_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="ica6d0771fe624e30b1b09154222855fb_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i5c36881d4f6d411b9a3e09b3f6275d6e_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i6682f9293c8a4aea9a51db72c3e99efd_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="if80be96690214c03820043dd9ab53bd8_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i757703e093e549bb99915a2b8a77e454_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i5dacda95aee4404285ddaefe6e3ba772_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i0f81f81921144c6b9fb4d1d84aedd453_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i24c2a9035bf34afda47a9de7bad19708_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i3220b9a89e8f4a7aae1ebd8b60c36ae5_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="icfc9ed27de6a452c8af5d72c4b35d5a7_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i33c277cd416247bfb170dc5ac3d64cc9_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tls:ProductsAndServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i5539b8065dab403ea0bf02d67f640ac9_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tls:ProductsAndServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i005946d4be9846268f5e5e8ba58ae2db_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tls:ProductsAndServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i4dff69dce2c44b649533f01416c385bc_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tls:ProductsAndServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="ifc38c3761c73419c8373328aa4f1ba03_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tls:ProductsAndServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i6db3c47f90334a869ad8548f21ce79f7_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tls:ProductsAndServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i7310cad132bd4bfa8764a0ba66eda249_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="i55f5c0e00d96464abb76c190feb6f362_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="ie239caf1c8504500ba646687180029a2_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="iae56507525fc4e3f9c874ae3605a3577_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="i1d9d3007e5df4552a662298a0acc7414_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="i911d17c93dfa4bb38f50e618388f06b2_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="id35a4b17b1e644aca52aa17650406e61_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i486468ba3b694075a4918de695a24d1b_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="i434bb09343dd4c2b993effa5f9d8ee0d_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="i4dd927cba50f4a5888b3a716681a170e_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </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="segment">
        <measure>tls:segment</measure>
    </unit>
    <unit id="reportingunit">
        <measure>tls:reportingUnit</measure>
    </unit>
    <unit id="q">
        <measure>utr:Q</measure>
    </unit>
    <unit id="maturity_date_extension">
        <measure>tls:maturity_date_extension</measure>
    </unit>
    <unit id="member">
        <measure>tls:member</measure>
    </unit>
    <unit id="membershipunitclass">
        <measure>tls:membershipUnitClass</measure>
    </unit>
    <unit id="day">
        <measure>tls:day</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl80L2ZyYWc6Yjc5N2Y2Y2NlMDNlNGM2MGE5OGZkMWMzYmYyYmU2YmYvdGFibGU6YmY2MTVmZWVmODFlNDYzNmJhZmIyMjFjNzU3M2E3NzYvdGFibGVyYW5nZTpiZjYxNWZlZWY4MWU0NjM2YmFmYjIyMWM3NTczYTc3Nl80LTEtMS0xLTE_5d803d7c-a2c7-41b3-afc8-73954f941f9e">0000320121</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl80L2ZyYWc6Yjc5N2Y2Y2NlMDNlNGM2MGE5OGZkMWMzYmYyYmU2YmYvdGFibGU6YmY2MTVmZWVmODFlNDYzNmJhZmIyMjFjNzU3M2E3NzYvdGFibGVyYW5nZTpiZjYxNWZlZWY4MWU0NjM2YmFmYjIyMWM3NTczYTc3Nl83LTEtMS0xLTE_56f76d44-f477-4760-9f94-78e7b65a5c20">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl80L2ZyYWc6Yjc5N2Y2Y2NlMDNlNGM2MGE5OGZkMWMzYmYyYmU2YmYvdGFibGU6YmY2MTVmZWVmODFlNDYzNmJhZmIyMjFjNzU3M2E3NzYvdGFibGVyYW5nZTpiZjYxNWZlZWY4MWU0NjM2YmFmYjIyMWM3NTczYTc3Nl85LTEtMS0xLTE_a622b527-6d9e-4a30-9ff6-d6c35eaaa246">2021</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl80L2ZyYWc6Yjc5N2Y2Y2NlMDNlNGM2MGE5OGZkMWMzYmYyYmU2YmYvdGFibGU6YmY2MTVmZWVmODFlNDYzNmJhZmIyMjFjNzU3M2E3NzYvdGFibGVyYW5nZTpiZjYxNWZlZWY4MWU0NjM2YmFmYjIyMWM3NTczYTc3Nl8xMC0xLTEtMS0x_8e873a73-d7f6-4575-80f6-6dfc4e27c4ba">FY</dei:DocumentFiscalPeriodFocus>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i6b13a923b9374c73af7efb777d57e988_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEwOTk1MTE3NTkyNzY_3b8f4649-a003-48b9-9d91-80e0b2e90e73">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="ic36b252cb7324b619baae6af152ef7ef_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDc0L2ZyYWc6MzgxOTAwZWJkNzZiNDdlZjg3MTNmYjRkMTJjNTZlZDcvdGFibGU6NzI1NWRlOWUzMjY2NDA1ZjlkOTZkYjBhN2FlYTI0MjYvdGFibGVyYW5nZTo3MjU1ZGU5ZTMyNjY0MDVmOWQ5NmRiMGE3YWVhMjQyNl8wLTEtMS0xLTQ4ODQ2_c1ab852f-b55c-4876-ad75-0d41d273af11">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="ic302e497fc56411485d9163bb28971ba_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDc0L2ZyYWc6MzgxOTAwZWJkNzZiNDdlZjg3MTNmYjRkMTJjNTZlZDcvdGFibGU6NzI1NWRlOWUzMjY2NDA1ZjlkOTZkYjBhN2FlYTI0MjYvdGFibGVyYW5nZTo3MjU1ZGU5ZTMyNjY0MDVmOWQ5NmRiMGE3YWVhMjQyNl8wLTItMS0xLTQ4ODUw_ba23461f-cd58-4835-be99-e9132923963c">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="i3aa04eb08dab451b9f14d9f3ee08e871_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDI5L2ZyYWc6OWVkNTQwOGFmZjBlNDk2ZDljYmVlNDIxYmI3M2E3NmYvdGFibGU6ZTJkODMyMDBhMzZiNGNiNGE5ZDc2MzEwNzlhY2Q1ZjMvdGFibGVyYW5nZTplMmQ4MzIwMGEzNmI0Y2I0YTlkNzYzMTA3OWFjZDVmM18xLTEtMS0xLTM2NTg3_af9eba77-1473-435b-a607-403189217e2d">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="ie424bb1990354434a8a8dc1fee49e896_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDI5L2ZyYWc6OWVkNTQwOGFmZjBlNDk2ZDljYmVlNDIxYmI3M2E3NmYvdGFibGU6ZTJkODMyMDBhMzZiNGNiNGE5ZDc2MzEwNzlhY2Q1ZjMvdGFibGVyYW5nZTplMmQ4MzIwMGEzNmI0Y2I0YTlkNzYzMTA3OWFjZDVmM18yLTEtMS0xLTM2NTg3_71e7acfa-7df8-4daf-87a0-767d8f6b1d1f">P2Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="ifa0e4296f95446aeb2af022594132ca7_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMTA1L2ZyYWc6NjJjMDg0YjExOGNhNDlhMzhkZmM0OTMxZjVjMjI0MjAvdGFibGU6NGFlZWU2NmRiYjZjNDMwNzk5MDUyNDgzMWIyMTExMTkvdGFibGVyYW5nZTo0YWVlZTY2ZGJiNmM0MzA3OTkwNTI0ODMxYjIxMTExOV8wLTEtMS0xLTU1Mzcz_06b78f0d-a00e-456a-93fb-2f6e3d5fb56a"
      unitRef="number">0.50</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMTA1L2ZyYWc6NjJjMDg0YjExOGNhNDlhMzhkZmM0OTMxZjVjMjI0MjAvdGFibGU6NGFlZWU2NmRiYjZjNDMwNzk5MDUyNDgzMWIyMTExMTkvdGFibGVyYW5nZTo0YWVlZTY2ZGJiNmM0MzA3OTkwNTI0ODMxYjIxMTExOV8wLTEtMS0xLTU1Mzcz_0986f980-b7e6-40d6-989a-819dbb292557"
      unitRef="number">0.50</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i4cd9e65336f146d59c7776b00e532baa_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8zMjk4NTM0ODk0NTkx_766da6b7-a687-4ea2-95d1-8651956c5d86">P2Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <dei:DocumentType
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGV4dHJlZ2lvbjozZjg1NjFlZGM1ZDE0YzQ5YjVhYjJjYzEyNGFiMWIzYV8zMjk4NTM0ODkxMTM1_69ab9d60-d469-4f3b-aae9-e234948a9a79">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGV4dHJlZ2lvbjozZjg1NjFlZGM1ZDE0YzQ5YjVhYjJjYzEyNGFiMWIzYV8zMjk4NTM0ODkxMTM3_0ce9364c-2309-49b4-b3eb-76f6b2b4a252">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGV4dHJlZ2lvbjozZjg1NjFlZGM1ZDE0YzQ5YjVhYjJjYzEyNGFiMWIzYV8zMjk4NTM0ODkxMjIw_a6210f49-af5e-45ab-9df2-21c37343b657">2021-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGV4dHJlZ2lvbjozZjg1NjFlZGM1ZDE0YzQ5YjVhYjJjYzEyNGFiMWIzYV8zMjk4NTM0ODkxMjIw_ddbae419-7b62-4123-a725-a2904724cce4">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentTransitionReport
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGV4dHJlZ2lvbjozZjg1NjFlZGM1ZDE0YzQ5YjVhYjJjYzEyNGFiMWIzYV8zMjk4NTM0ODkxMTM5_6aa7eba1-53ac-452a-b8f5-69823674d853">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGV4dHJlZ2lvbjozZjg1NjFlZGM1ZDE0YzQ5YjVhYjJjYzEyNGFiMWIzYV8zMjk4NTM0ODkxMTQw_44749de2-b96f-4e7b-91e5-bb93d7a26543">001-08443</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGV4dHJlZ2lvbjozZjg1NjFlZGM1ZDE0YzQ5YjVhYjJjYzEyNGFiMWIzYV8zMjk4NTM0ODkxMTQy_ce3cef40-8f95-4843-8e10-2fc27976129f">TELOS CORPORATION</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGFibGU6NmRiMDZjODNkMGNmNGRmNmIyOGQxMzlkYWViMTM1MzkvdGFibGVyYW5nZTo2ZGIwNmM4M2QwY2Y0ZGY2YjI4ZDEzOWRhZWIxMzUzOV8wLTAtMS0xLTMwMjU2_0af436cf-8fc3-471a-8394-7834731fb02f">MD</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGFibGU6NmRiMDZjODNkMGNmNGRmNmIyOGQxMzlkYWViMTM1MzkvdGFibGVyYW5nZTo2ZGIwNmM4M2QwY2Y0ZGY2YjI4ZDEzOWRhZWIxMzUzOV8wLTEtMS0xLTMwMjU5_37c6debb-4950-4b90-ba5a-54e0bf09b88b">52-0880974</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGFibGU6NmRiMDZjODNkMGNmNGRmNmIyOGQxMzlkYWViMTM1MzkvdGFibGVyYW5nZTo2ZGIwNmM4M2QwY2Y0ZGY2YjI4ZDEzOWRhZWIxMzUzOV8yLTAtMS0xLTMwMzU1L3RleHRyZWdpb246MmYzMWM0Nzc0MjEwNDdjY2JjMjZmOGViOGQ3MjQzYWVfMzI5ODUzNDg4MzM4Nw_3095a64e-9703-4bf4-9044-0b85c5ee59a8">19886 Ashburn Road</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGFibGU6NmRiMDZjODNkMGNmNGRmNmIyOGQxMzlkYWViMTM1MzkvdGFibGVyYW5nZTo2ZGIwNmM4M2QwY2Y0ZGY2YjI4ZDEzOWRhZWIxMzUzOV8yLTAtMS0xLTMwMzU1L3RleHRyZWdpb246MmYzMWM0Nzc0MjEwNDdjY2JjMjZmOGViOGQ3MjQzYWVfMzI5ODUzNDg4MzM5Nw_c5846a01-345a-4405-b397-6f28a48e6409">Ashburn</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGFibGU6NmRiMDZjODNkMGNmNGRmNmIyOGQxMzlkYWViMTM1MzkvdGFibGVyYW5nZTo2ZGIwNmM4M2QwY2Y0ZGY2YjI4ZDEzOWRhZWIxMzUzOV8yLTAtMS0xLTMwMzU1L3RleHRyZWdpb246MmYzMWM0Nzc0MjEwNDdjY2JjMjZmOGViOGQ3MjQzYWVfMzI5ODUzNDg4MzQwOA_e0abfebc-967a-4bd7-9e16-a74aac3ecc78">VA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGFibGU6NmRiMDZjODNkMGNmNGRmNmIyOGQxMzlkYWViMTM1MzkvdGFibGVyYW5nZTo2ZGIwNmM4M2QwY2Y0ZGY2YjI4ZDEzOWRhZWIxMzUzOV8yLTEtMS0xLTMwMjYx_78301c6c-7c65-41d2-9db5-770c6eada7bb">20147-2358</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGV4dHJlZ2lvbjozZjg1NjFlZGM1ZDE0YzQ5YjVhYjJjYzEyNGFiMWIzYV8zMjk4NTM0ODkxMTQ0_341b60e5-ebea-4c84-a0d2-c462eb7c32a3">703</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGV4dHJlZ2lvbjozZjg1NjFlZGM1ZDE0YzQ5YjVhYjJjYzEyNGFiMWIzYV8zMjk4NTM0ODkxMTQ4_ea5c0150-a3dd-4e9a-9cb9-64d20c4070b8">724-3800</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGFibGU6YmEwYmYyMDY4NzdlNGViODk4NTc5YjU3MjU0MjRkMTcvdGFibGVyYW5nZTpiYTBiZjIwNjg3N2U0ZWI4OTg1NzliNTcyNTQyNGQxN18xLTAtMS0xLTMwMjcz_5abd7a1e-716d-4791-91b0-1e946898021f">Common stock, $0.001 par value per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGFibGU6YmEwYmYyMDY4NzdlNGViODk4NTc5YjU3MjU0MjRkMTcvdGFibGVyYW5nZTpiYTBiZjIwNjg3N2U0ZWI4OTg1NzliNTcyNTQyNGQxN18xLTEtMS0xLTMwMjcz_8dfebb6f-fdd9-463a-aca6-96dfa398d591">TLS</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGFibGU6YmEwYmYyMDY4NzdlNGViODk4NTc5YjU3MjU0MjRkMTcvdGFibGVyYW5nZTpiYTBiZjIwNjg3N2U0ZWI4OTg1NzliNTcyNTQyNGQxN18xLTItMS0xLTMwMjcz_ec7d32e9-470f-4ef3-822f-e11ea0b8b4a5">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGV4dHJlZ2lvbjozZjg1NjFlZGM1ZDE0YzQ5YjVhYjJjYzEyNGFiMWIzYV8zMjk4NTM0ODkxMTQ5_6bb01b2c-47a5-4c6d-a70b-4cc6e7f80b2d">Yes</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGV4dHJlZ2lvbjozZjg1NjFlZGM1ZDE0YzQ5YjVhYjJjYzEyNGFiMWIzYV8zMjk4NTM0ODkxMTUw_80471caf-a2f7-478e-97c3-6519299f176e">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGV4dHJlZ2lvbjozZjg1NjFlZGM1ZDE0YzQ5YjVhYjJjYzEyNGFiMWIzYV8zMjk4NTM0ODkxMTUx_a530ba99-be03-432f-a5b8-d16cf689cffd">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGV4dHJlZ2lvbjozZjg1NjFlZGM1ZDE0YzQ5YjVhYjJjYzEyNGFiMWIzYV8zMjk4NTM0ODkxMTUy_44561eed-c73e-4a65-8229-57bb3a6837d0">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGFibGU6MTFjZjU4ZTJjNTBkNGJlZGExYWNkOWZjYjEyMzkxMmQvdGFibGVyYW5nZToxMWNmNThlMmM1MGQ0YmVkYTFhY2Q5ZmNiMTIzOTEyZF8wLTAtMS0xLTMwMjk2_d2298397-5483-4759-b2fb-ee03147ced50">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGFibGU6MTFjZjU4ZTJjNTBkNGJlZGExYWNkOWZjYjEyMzkxMmQvdGFibGVyYW5nZToxMWNmNThlMmM1MGQ0YmVkYTFhY2Q5ZmNiMTIzOTEyZF8xLTQtMS0xLTMwMjk5_b822796e-f46f-4dca-9d7c-05de33082972">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGFibGU6MTFjZjU4ZTJjNTBkNGJlZGExYWNkOWZjYjEyMzkxMmQvdGFibGVyYW5nZToxMWNmNThlMmM1MGQ0YmVkYTFhY2Q5ZmNiMTIzOTEyZF8yLTQtMS0xLTI1MDk5_f9c09532-8566-416d-9265-c8760c1f6a82">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGV4dHJlZ2lvbjozZjg1NjFlZGM1ZDE0YzQ5YjVhYjJjYzEyNGFiMWIzYV8zMjk4NTM0ODkyNzg4_59bdc818-58fb-429d-9c89-37b0a2db8141">true</dei:IcfrAuditorAttestationFlag>
    <dei:EntityShellCompany
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGV4dHJlZ2lvbjozZjg1NjFlZGM1ZDE0YzQ5YjVhYjJjYzEyNGFiMWIzYV8zMjk4NTM0ODkxMjUy_4f0a0fe7-4489-464b-84b4-54c6555c6494">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="i9c85698703bb496e95190a094cc17293_I20210630"
      decimals="-8"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGV4dHJlZ2lvbjozZjg1NjFlZGM1ZDE0YzQ5YjVhYjJjYzEyNGFiMWIzYV8xMDk5NTExNjM1Njgz_79853f58-ca22-4732-a98b-0b5f7203ad50"
      unitRef="usd">1700000000</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="idf745672f722427280f1edf2b8506f9c_I20220321"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGV4dHJlZ2lvbjozZjg1NjFlZGM1ZDE0YzQ5YjVhYjJjYzEyNGFiMWIzYV8xMDk5NTExNjM1Njkw_79780818-0150-42c1-b1da-58e62d813525"
      unitRef="shares">67867500</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xL2ZyYWc6M2Y4NTYxZWRjNWQxNGM0OWI1YWIyY2MxMjRhYjFiM2EvdGV4dHJlZ2lvbjozZjg1NjFlZGM1ZDE0YzQ5YjVhYjJjYzEyNGFiMWIzYV8zMjk4NTM0ODkzMTM5_8d4bd090-d9b9-48e8-94fa-cbf39961b4e5">Portions of the registrant's Proxy Statement relating to the registrant's 2022 Annual Meeting of Stockholders are incorporated by reference in Part III of this Form 10-K where indicated.</dei:DocumentsIncorporatedByReferenceTextBlock>
    <dei:AuditorName
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84Mi9mcmFnOmM4MTQ2YzA0NmI3YjQxMWI4MzYwZGRiMmUzMmY5NjJiL3RhYmxlOjI4ZjA2NWFlOWQ3NDRlNTFhNzAyOGRiNzE2ZDZlZTQ5L3RhYmxlcmFuZ2U6MjhmMDY1YWU5ZDc0NGU1MWE3MDI4ZGI3MTZkNmVlNDlfMS0wLTEtMS01NjAxNi90ZXh0cmVnaW9uOjNkNzM1YjdjN2Q3YzRiYjI5NTJiMGNhOGI1ZDhhYzVmXzMyOTg1MzQ4ODM0NDI_60ba201d-05e1-4a2e-a1a9-c40466559581">BDO USA, LLP</dei:AuditorName>
    <dei:AuditorLocation
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84Mi9mcmFnOmM4MTQ2YzA0NmI3YjQxMWI4MzYwZGRiMmUzMmY5NjJiL3RhYmxlOjI4ZjA2NWFlOWQ3NDRlNTFhNzAyOGRiNzE2ZDZlZTQ5L3RhYmxlcmFuZ2U6MjhmMDY1YWU5ZDc0NGU1MWE3MDI4ZGI3MTZkNmVlNDlfMS0wLTEtMS01NjAxNi90ZXh0cmVnaW9uOjNkNzM1YjdjN2Q3YzRiYjI5NTJiMGNhOGI1ZDhhYzVmXzMyOTg1MzQ4ODM0NTU_5f6bab16-9586-429d-8453-4b2374743b02">McLean, VA</dei:AuditorLocation>
    <dei:AuditorFirmId
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84Mi9mcmFnOmM4MTQ2YzA0NmI3YjQxMWI4MzYwZGRiMmUzMmY5NjJiL3RhYmxlOjI4ZjA2NWFlOWQ3NDRlNTFhNzAyOGRiNzE2ZDZlZTQ5L3RhYmxlcmFuZ2U6MjhmMDY1YWU5ZDc0NGU1MWE3MDI4ZGI3MTZkNmVlNDlfMS0wLTEtMS01NjAxNi90ZXh0cmVnaW9uOjNkNzM1YjdjN2Q3YzRiYjI5NTJiMGNhOGI1ZDhhYzVmXzMyOTg1MzQ4ODM0NjE_7ce736a5-85cc-4c8a-837e-97453a4fadc1">243</dei:AuditorFirmId>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i111651b0c9ba4a02bb27d3984b9c4e40_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMy0xLTEtMS0x_c8088bf2-6ec7-46d2-8adf-19737f54114e"
      unitRef="usd">221548000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0ebcdd8394e64d6a9691af8507bd8a40_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMy0zLTEtMS0x_6d542beb-07f5-40e0-b982-40aebc7e8208"
      unitRef="usd">161180000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic881eef5a016434ab5e138d428b82b6e_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMy01LTEtMS0x_3a7c149b-c5ba-4ac7-9c52-02dcebc8c63a"
      unitRef="usd">143581000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3a904e7a0ab04c61aadee182dda6f6ab_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfNC0xLTEtMS0x_77f2ebb7-54a3-4ed1-a196-716a592c2199"
      unitRef="usd">20885000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie616575eb8b94979a2e4dae2a5050c3e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfNC0zLTEtMS0x_1f3957f3-a605-4899-b83b-60190df6a91a"
      unitRef="usd">18737000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if974150894214d8aaf0524d196cada3c_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfNC01LTEtMS0x_da4eed7d-09d3-48d7-9594-478960b9ce02"
      unitRef="usd">15637000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfNS0xLTEtMS0x_27a50e14-21ed-4618-b257-97175a348d12"
      unitRef="usd">242433000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfNS0zLTEtMS0x_5fe281ef-3db5-4713-abca-2751803bc271"
      unitRef="usd">179917000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfNS01LTEtMS0x_f2167f48-0a0f-47c2-8426-f0e08896871a"
      unitRef="usd">159218000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i111651b0c9ba4a02bb27d3984b9c4e40_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfNy0xLTEtMS0x_b90ddc35-3499-4fa0-8947-9e403f09d65a"
      unitRef="usd">143357000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i0ebcdd8394e64d6a9691af8507bd8a40_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfNy0zLTEtMS0x_8b469b3a-c522-48f6-95d1-a24338cb3f54"
      unitRef="usd">106969000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ic881eef5a016434ab5e138d428b82b6e_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfNy01LTEtMS0x_70ebecc2-e031-4527-965b-088bec215e40"
      unitRef="usd">98772000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i3a904e7a0ab04c61aadee182dda6f6ab_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfOC0xLTEtMS0x_3a469744-d5bd-476c-b597-c546b6fa4872"
      unitRef="usd">13047000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ie616575eb8b94979a2e4dae2a5050c3e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfOC0zLTEtMS0x_ed7d8510-d962-42e6-bee4-ceaaa573a323"
      unitRef="usd">10528000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="if974150894214d8aaf0524d196cada3c_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfOC01LTEtMS0x_9f2cae3a-8f7a-4151-afc6-2923cdc74b0e"
      unitRef="usd">8102000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfOS0xLTEtMS0x_7c713dfe-d200-49ec-adc3-2a2500874da4"
      unitRef="usd">156404000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfOS0zLTEtMS0x_5d4cad72-b205-49c7-ae8b-7aacaf459223"
      unitRef="usd">117497000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfOS01LTEtMS0x_49195018-8e78-4cf1-ba01-8b3b71b1e5ac"
      unitRef="usd">106874000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMTEtMS0xLTEtMQ_92187027-18ab-4e01-a318-ee91e4f60f9d"
      unitRef="usd">19655000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMTEtMy0xLTEtMQ_3fe1f42e-9650-4b44-97db-7d2e07e9fb20"
      unitRef="usd">6176000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMTEtNS0xLTEtMQ_523974d8-7cbe-4378-8944-00bf9021db73"
      unitRef="usd">5951000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMTItMS0xLTEtMQ_764640dd-544e-4886-b658-3faeda18e48e"
      unitRef="usd">19096000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMTItMy0xLTEtMQ_406074ae-1ff4-4d4f-9fc5-a3805c1c1053"
      unitRef="usd">14243000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMTItNS0xLTEtMQ_907c4d88-7933-4f6c-b4d0-e6be74a1fb54"
      unitRef="usd">10647000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMTMtMS0xLTEtMQ_99da55ec-b616-4b77-9b7f-a1299d3086cf"
      unitRef="usd">88742000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMTMtMy0xLTEtMQ_2a91995c-6bac-4b75-917d-91d250f233df"
      unitRef="usd">41704000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMTMtNS0xLTEtMQ_038f83a6-5a87-4841-b194-38a27f9e38b6"
      unitRef="usd">30721000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMTQtMS0xLTEtMQ_51e7509e-c00e-407b-bcfb-18e465f47bba"
      unitRef="usd">127493000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMTQtMy0xLTEtMQ_c09172b7-f671-4b16-8201-c1362a5bc5b8"
      unitRef="usd">62123000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMTQtNS0xLTEtMQ_2d28e6d0-c536-4c2c-b7ff-806c865a083f"
      unitRef="usd">47319000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMTUtMS0xLTEtMQ_dba7fd11-bd97-4b89-b8a4-673230e97f73"
      unitRef="usd">-41464000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMTUtMy0xLTEtMQ_6b2d4bcf-6bed-4285-9731-99ef8c5deb5e"
      unitRef="usd">297000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMTUtNS0xLTEtMQ_156563d6-7426-46a7-adee-b30f9414ea6e"
      unitRef="usd">5025000</us-gaap:OperatingIncomeLoss>
    <tls:GainOnRedemptionOfPublicPreferredStock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMTctMS0xLTEtMQ_e1cb4495-74fa-494f-a9a7-35841d611cc3"
      unitRef="usd">0</tls:GainOnRedemptionOfPublicPreferredStock>
    <tls:GainOnRedemptionOfPublicPreferredStock
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMTctMy0xLTEtMQ_201a3d04-5a4f-4aa9-88d8-bd4713353c29"
      unitRef="usd">14012000</tls:GainOnRedemptionOfPublicPreferredStock>
    <tls:GainOnRedemptionOfPublicPreferredStock
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMTctNS0xLTEtMQ_9847e25a-aef9-4cd9-a0bd-a32b4df2000e"
      unitRef="usd">0</tls:GainOnRedemptionOfPublicPreferredStock>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMTgtMS0xLTEtMQ_0af186a6-58d2-451a-b29a-b7d0933da4be"
      unitRef="usd">-921000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMTgtMy0xLTEtMQ_b38fe873-d8c9-402b-a0f2-4c4a27dd817a"
      unitRef="usd">-255000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMTgtNS0xLTEtMQ_43f14f45-4a8b-4609-840e-1d3a5339617b"
      unitRef="usd">201000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:InterestExpense
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMTktMS0xLTEtMQ_d0536080-e85b-43ad-a34a-839c11becc00"
      unitRef="usd">777000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMTktMy0xLTEtMQ_bedd451f-2576-4384-8339-4ffe5d67d3fa"
      unitRef="usd">7259000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMTktNS0xLTEtMQ_80320d37-9094-416a-83ff-213a48d1ba1f"
      unitRef="usd">7467000</us-gaap:InterestExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjAtMS0xLTEtMQ_e4ba7571-ad16-42d5-9f91-3e9ce3ffee20"
      unitRef="usd">-43162000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjAtMy0xLTEtMQ_3e7a3548-3521-41f5-99fa-31cfbe6284df"
      unitRef="usd">6795000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjAtNS0xLTEtMQ_7b67b0af-189d-4ce3-82a9-e708c207809a"
      unitRef="usd">-2241000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjEtMS0xLTEtMQ_c4b8fae2-07b7-4c99-b3a3-3c95fb5f991e"
      unitRef="usd">-28000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjEtMy0xLTEtMQ_a230224a-42bd-4e9c-938c-095fbc9ff05c"
      unitRef="usd">-46000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjEtNS0xLTEtMQ_d0167819-b435-471b-aa5f-f7b8c78f3c5c"
      unitRef="usd">-104000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjMtMS0xLTEtMQ_10180c10-8091-48a5-b6d8-1128f456d6d8"
      unitRef="usd">-43134000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjMtMy0xLTEtMQ_768269ab-d864-4470-883d-e1f2a12f33c8"
      unitRef="usd">6841000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjMtNS0xLTEtMQ_a79acd96-c396-427d-83ac-15caa2b775b9"
      unitRef="usd">-2137000</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjQtMS0xLTEtMQ_9f10bc22-75b1-45d3-ba85-78d500a22950"
      unitRef="usd">0</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjQtMy0xLTEtMQ_38d6dbb9-ef33-4624-a966-585fe625eac5"
      unitRef="usd">5154000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjQtNS0xLTEtMQ_33272dcc-1f75-4ca6-8620-edddde573cac"
      unitRef="usd">4264000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjUtMS0xLTEtMQ_911000bd-011c-47d6-a6c7-c90bdea28ae2"
      unitRef="usd">-43134000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjUtMy0xLTEtMQ_f9bf16cf-ac45-41d0-9add-b03b2c31848a"
      unitRef="usd">1687000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjUtNS0xLTEtMQ_4829e036-e19a-4c91-8f36-04e09d140406"
      unitRef="usd">-6401000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjYtMS0xLTEtMQ_d7158788-5583-4aa3-b4c9-55c6edb9128a"
      unitRef="usdPerShare">-0.65</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjYtMy0xLTEtMQ_9a3e3128-80d6-4810-a5f5-a883c8a37d72"
      unitRef="usdPerShare">0.04</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjYtNS0xLTEtMQ_479b19d4-b8dc-4fe2-9106-6a1cf0b1e803"
      unitRef="usdPerShare">-0.17</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjctMS0xLTEtMQ_8f2206b7-f2ae-499f-aa91-8bb2c91e3604"
      unitRef="usdPerShare">-0.65</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjctMy0xLTEtMQ_edce7fa7-66d3-4692-8232-94e3aca3cfb4"
      unitRef="usdPerShare">0.04</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjctNS0xLTEtMQ_c541eb00-c35e-4e5b-b697-d97890e5f8c7"
      unitRef="usdPerShare">-0.17</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjgtMS0xLTEtMQ_e4148746-fa98-41bf-819b-d7060f19df1f"
      unitRef="shares">66374000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjgtMy0xLTEtMQ_dde00c62-69a4-4dbc-9041-9085956d4322"
      unitRef="shares">41642000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjgtNS0xLTEtMQ_44711aeb-abb3-486d-b29e-c67ab42dbbd1"
      unitRef="shares">37729000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjktMS0xLTEtMQ_4dad21de-c6af-4c76-93f8-1a60f2d36d72"
      unitRef="shares">66374000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjktMy0xLTEtMQ_03d5099d-bb22-461d-88ac-64aa87a1b4d1"
      unitRef="shares">42877000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl84OC9mcmFnOjlhZTFjNWUzZWQ3ODRlODc5ZDczNDRjYzEyNzIxM2JjL3RhYmxlOjA1MTA2MDg0YTljODRmM2FiY2E2NTA0ODQwZTIzMDVkL3RhYmxlcmFuZ2U6MDUxMDYwODRhOWM4NGYzYWJjYTY1MDQ4NDBlMjMwNWRfMjktNS0xLTEtMQ_99e2b5d1-9861-49d9-8a66-515a26eee305"
      unitRef="shares">37729000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ProfitLoss
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85MS9mcmFnOmM2ODUzMDc2Y2Y3YTRmZDRiNzI4Y2RmNGNjYjZiNzlkL3RhYmxlOmQ4ZmZhZGNiOTBiYzQ3M2M5NGIzYWZkNDhhZmNkOTlhL3RhYmxlcmFuZ2U6ZDhmZmFkY2I5MGJjNDczYzk0YjNhZmQ0OGFmY2Q5OWFfMi0xLTEtMS0x_252c7d5d-7a83-454a-a9d2-3f6446119882"
      unitRef="usd">-43134000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85MS9mcmFnOmM2ODUzMDc2Y2Y3YTRmZDRiNzI4Y2RmNGNjYjZiNzlkL3RhYmxlOmQ4ZmZhZGNiOTBiYzQ3M2M5NGIzYWZkNDhhZmNkOTlhL3RhYmxlcmFuZ2U6ZDhmZmFkY2I5MGJjNDczYzk0YjNhZmQ0OGFmY2Q5OWFfMi0zLTEtMS0x_a643e908-04c8-4fa2-b9f6-df1c3c89bab5"
      unitRef="usd">6841000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85MS9mcmFnOmM2ODUzMDc2Y2Y3YTRmZDRiNzI4Y2RmNGNjYjZiNzlkL3RhYmxlOmQ4ZmZhZGNiOTBiYzQ3M2M5NGIzYWZkNDhhZmNkOTlhL3RhYmxlcmFuZ2U6ZDhmZmFkY2I5MGJjNDczYzk0YjNhZmQ0OGFmY2Q5OWFfMi01LTEtMS0x_74b8fc32-2304-4296-b48b-3716e6057c60"
      unitRef="usd">-2137000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85MS9mcmFnOmM2ODUzMDc2Y2Y3YTRmZDRiNzI4Y2RmNGNjYjZiNzlkL3RhYmxlOmQ4ZmZhZGNiOTBiYzQ3M2M5NGIzYWZkNDhhZmNkOTlhL3RhYmxlcmFuZ2U6ZDhmZmFkY2I5MGJjNDczYzk0YjNhZmQ0OGFmY2Q5OWFfNC0xLTEtMS0x_7d1ff79f-e826-4357-a0a9-ae544a8229b2"
      unitRef="usd">-71000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85MS9mcmFnOmM2ODUzMDc2Y2Y3YTRmZDRiNzI4Y2RmNGNjYjZiNzlkL3RhYmxlOmQ4ZmZhZGNiOTBiYzQ3M2M5NGIzYWZkNDhhZmNkOTlhL3RhYmxlcmFuZ2U6ZDhmZmFkY2I5MGJjNDczYzk0YjNhZmQ0OGFmY2Q5OWFfNC0zLTEtMS0x_76844c73-25d7-41b0-9a90-a1555dc0fb0e"
      unitRef="usd">38000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85MS9mcmFnOmM2ODUzMDc2Y2Y3YTRmZDRiNzI4Y2RmNGNjYjZiNzlkL3RhYmxlOmQ4ZmZhZGNiOTBiYzQ3M2M5NGIzYWZkNDhhZmNkOTlhL3RhYmxlcmFuZ2U6ZDhmZmFkY2I5MGJjNDczYzk0YjNhZmQ0OGFmY2Q5OWFfNC01LTEtMS0x_29e26c9b-b24b-472d-ba0f-23aa66cf7639"
      unitRef="usd">-11000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85MS9mcmFnOmM2ODUzMDc2Y2Y3YTRmZDRiNzI4Y2RmNGNjYjZiNzlkL3RhYmxlOmQ4ZmZhZGNiOTBiYzQ3M2M5NGIzYWZkNDhhZmNkOTlhL3RhYmxlcmFuZ2U6ZDhmZmFkY2I5MGJjNDczYzk0YjNhZmQ0OGFmY2Q5OWFfNS0xLTEtMS0x_17ee848e-59a8-426a-b178-39a2951be43c"
      unitRef="usd">0</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85MS9mcmFnOmM2ODUzMDc2Y2Y3YTRmZDRiNzI4Y2RmNGNjYjZiNzlkL3RhYmxlOmQ4ZmZhZGNiOTBiYzQ3M2M5NGIzYWZkNDhhZmNkOTlhL3RhYmxlcmFuZ2U6ZDhmZmFkY2I5MGJjNDczYzk0YjNhZmQ0OGFmY2Q5OWFfNS0zLTEtMS0x_ed31be92-5191-4c24-ad27-90089ace995b"
      unitRef="usd">5154000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85MS9mcmFnOmM2ODUzMDc2Y2Y3YTRmZDRiNzI4Y2RmNGNjYjZiNzlkL3RhYmxlOmQ4ZmZhZGNiOTBiYzQ3M2M5NGIzYWZkNDhhZmNkOTlhL3RhYmxlcmFuZ2U6ZDhmZmFkY2I5MGJjNDczYzk0YjNhZmQ0OGFmY2Q5OWFfNS01LTEtMS0x_eb359547-444d-4588-bbbc-65a83142e645"
      unitRef="usd">4264000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85MS9mcmFnOmM2ODUzMDc2Y2Y3YTRmZDRiNzI4Y2RmNGNjYjZiNzlkL3RhYmxlOmQ4ZmZhZGNiOTBiYzQ3M2M5NGIzYWZkNDhhZmNkOTlhL3RhYmxlcmFuZ2U6ZDhmZmFkY2I5MGJjNDczYzk0YjNhZmQ0OGFmY2Q5OWFfNi0xLTEtMS0x_00e02a8a-bbb2-46b4-aa6b-3a0822fc0bb1"
      unitRef="usd">-43205000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85MS9mcmFnOmM2ODUzMDc2Y2Y3YTRmZDRiNzI4Y2RmNGNjYjZiNzlkL3RhYmxlOmQ4ZmZhZGNiOTBiYzQ3M2M5NGIzYWZkNDhhZmNkOTlhL3RhYmxlcmFuZ2U6ZDhmZmFkY2I5MGJjNDczYzk0YjNhZmQ0OGFmY2Q5OWFfNi0zLTEtMS0x_5810983e-0d76-4db7-919b-88ac03d5547e"
      unitRef="usd">1725000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85MS9mcmFnOmM2ODUzMDc2Y2Y3YTRmZDRiNzI4Y2RmNGNjYjZiNzlkL3RhYmxlOmQ4ZmZhZGNiOTBiYzQ3M2M5NGIzYWZkNDhhZmNkOTlhL3RhYmxlcmFuZ2U6ZDhmZmFkY2I5MGJjNDczYzk0YjNhZmQ0OGFmY2Q5OWFfNi01LTEtMS0x_2c2ac621-571a-4960-bd25-eb1aba57060d"
      unitRef="usd">-6412000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfMy0xLTEtMS0x_93899446-0a11-4e70-91a1-643ddcd4a6fd"
      unitRef="usd">126562000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfMy0zLTEtMS0x_81ace1d8-4531-48fb-bb43-678cbd5b7a62"
      unitRef="usd">106045000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:ReceivablesNetCurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfNC0xLTEtMS0x_bb32ff7d-9d13-40f6-9e09-b92a2b8a9649"
      unitRef="usd">59844000</us-gaap:ReceivablesNetCurrent>
    <us-gaap:ReceivablesNetCurrent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfNC0zLTEtMS0x_b7593812-9e10-459c-b2bc-16033d65a394"
      unitRef="usd">30913000</us-gaap:ReceivablesNetCurrent>
    <us-gaap:InventoryNet
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfNS0xLTEtMS0x_aa7bed2f-29b4-48e6-8e10-abdfeee58436"
      unitRef="usd">1247000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfNS0zLTEtMS0x_84fbf488-9422-4331-b1a5-219a1ebdba11"
      unitRef="usd">3311000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfNi0xLTEtMS0x_d629b2bc-bdb2-4df4-aa00-eb9cdbe639ef"
      unitRef="usd">3329000</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfNi0zLTEtMS0x_e49fb8f2-3b7a-4ac6-8f11-43517a8669a4"
      unitRef="usd">3059000</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfOC0xLTEtMS0x_313dab81-55bd-4883-bc00-629f6938cb2b"
      unitRef="usd">732000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfOC0zLTEtMS0x_fd84ef8f-7581-4016-90d9-fe998562ab58"
      unitRef="usd">786000</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfOS0xLTEtMS0x_091afe7a-dc3d-484d-af81-ca874f07d5d5"
      unitRef="usd">191714000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfOS0zLTEtMS0x_e8c54685-e0ca-438e-aa96-9747932b7a6b"
      unitRef="usd">144114000</us-gaap:AssetsCurrent>
    <us-gaap:FurnitureAndFixturesGross
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfMTEtMS0xLTEtMQ_858ed6dd-6cbc-4b50-a91c-32b6829cc5e2"
      unitRef="usd">15420000</us-gaap:FurnitureAndFixturesGross>
    <us-gaap:FurnitureAndFixturesGross
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfMTEtMy0xLTEtMQ_23b928a3-7c64-4f5b-a6ca-75edb57a2bfa"
      unitRef="usd">13574000</us-gaap:FurnitureAndFixturesGross>
    <us-gaap:LeaseholdImprovementsGross
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfMTItMS0xLTEtMQ_d14aae0f-a8c1-4654-86a3-2e3149b8e330"
      unitRef="usd">2994000</us-gaap:LeaseholdImprovementsGross>
    <us-gaap:LeaseholdImprovementsGross
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfMTItMy0xLTEtMQ_db281635-6bd4-4b68-9566-cf05fce0ba12"
      unitRef="usd">2669000</us-gaap:LeaseholdImprovementsGross>
    <us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfMTMtMS0xLTEtMQ_33ed43ed-9e29-46fc-9fb6-434052f0f33b"
      unitRef="usd">30784000</us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfMTMtMy0xLTEtMQ_091ac737-ef53-4e51-8092-cae502dcf64a"
      unitRef="usd">30791000</us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfMTQtMS0xLTEtMQ_b0070e8e-c2f6-4d2e-a9f3-d986cb7beb27"
      unitRef="usd">49198000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfMTQtMy0xLTEtMQ_99dab15b-252c-4c70-8f06-58109664203e"
      unitRef="usd">47034000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfMTUtMS0xLTEtMQ_1d9e39c3-2b99-476d-abc5-48f69fa0d02e"
      unitRef="usd">34057000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfMTUtMy0xLTEtMQ_b17b4736-39b6-44d2-80f7-b7df83b7db89"
      unitRef="usd">32057000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfMTYtMS0xLTEtMQ_eac6a762-b4dd-4ece-81c5-eaa1a90a0167"
      unitRef="usd">15141000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfMTYtMy0xLTEtMQ_861ed68a-59ce-4d88-8513-96060a8a1fd2"
      unitRef="usd">14977000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfMTctMS0xLTEtMzE1MDM_165bb64e-d1c9-481d-ba29-7db0b8fa85bf"
      unitRef="usd">852000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfMTctMy0xLTEtMzE1MDM_1cc2f6df-b95a-43e1-a11c-ff75b2fcc4e2"
      unitRef="usd">1464000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfMTgtMS0xLTEtMQ_0ec8090d-6378-4e51-91f0-deb4ad46f894"
      unitRef="usd">17922000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfMTgtMy0xLTEtMQ_71aed3aa-5724-45c6-9d15-df4359584c6f"
      unitRef="usd">14916000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfMTgtMS0xLTEtMjkxODg_8704d5db-dced-4977-b0b8-a5ca143b78be"
      unitRef="usd">19199000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfMTgtMy0xLTEtMjkxODg_5316e75d-0f25-4a7e-8199-c0d16d422629"
      unitRef="usd">7420000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfMTktMS0xLTEtMQ_c7f1bca3-72e9-4b6f-b140-bbfda767a8ab"
      unitRef="usd">1253000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfMTktMy0xLTEtMQ_2bfd8b1e-1b5d-4dbb-9271-2427188286c3"
      unitRef="usd">926000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfMjAtMS0xLTEtMQ_3e68e480-dcca-4e2d-9bde-942f0e3ba630"
      unitRef="usd">246081000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOmI3MDhmYWFhYmNkNTQ0MWJhN2M1YTdlNjQyZGI3YzQ1L3RhYmxlcmFuZ2U6YjcwOGZhYWFiY2Q1NDQxYmE3YzVhN2U2NDJkYjdjNDVfMjAtMy0xLTEtMQ_8345ae4a-d89e-469b-88f0-fd571abbf8b1"
      unitRef="usd">183817000</us-gaap:Assets>
    <us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMy0xLTEtMS0x_e18a82f9-7102-4e02-8dab-074af54c1a4c"
      unitRef="usd">34548000</us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMy0zLTEtMS0x_c162f9f2-08c6-4019-9f13-7b681f62c58c"
      unitRef="usd">20899000</us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent>
    <us-gaap:DeferredCompensationLiabilityCurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfNC0xLTEtMS0x_3a1b1def-81a3-41ca-83be-442fd22a568c"
      unitRef="usd">6557000</us-gaap:DeferredCompensationLiabilityCurrent>
    <us-gaap:DeferredCompensationLiabilityCurrent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfNC0zLTEtMS0x_c4b62a2a-1766-4e6b-8925-cda123cad235"
      unitRef="usd">8474000</us-gaap:DeferredCompensationLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfNS0xLTEtMS0x_cc401831-22d2-42bc-807f-897296f594fd"
      unitRef="usd">6381000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfNS0zLTEtMS0x_e6e7b0db-9d64-46e4-bc46-3faeac32ec22"
      unitRef="usd">5654000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfNi0xLTEtMS0x_48066ff2-6279-478c-80c2-5cc67079f00d"
      unitRef="usd">1461000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfNi0zLTEtMS0x_dfe8240d-240d-4967-a852-0021eb0d91e9"
      unitRef="usd">1339000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfNy0xLTEtMS0x_525cb40e-c60d-41f3-9122-5292605c6a81"
      unitRef="usd">564000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfNy0zLTEtMS0x_84fc1578-1837-483a-90aa-5d3c2fe5ae59"
      unitRef="usd">677000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfOC0xLTEtMS0x_4c20c922-1fe0-49cd-8dad-06089e601efc"
      unitRef="usd">1430000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfOC0zLTEtMS0x_9c0c8289-ba73-4d34-849a-8b87251cb8d3"
      unitRef="usd">1903000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfOS0xLTEtMS0x_0d2b9fb8-a017-4786-a307-ba7311c6a36d"
      unitRef="usd">50941000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfOS0zLTEtMS0x_8f874a20-f7c1-4292-bf80-e7efb78b96c5"
      unitRef="usd">38946000</us-gaap:LiabilitiesCurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMTMtMS0xLTEtMQ_b4e568a8-cf67-4f4d-90a1-3c2c63d090de"
      unitRef="usd">12840000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMTMtMy0xLTEtMQ_82fcc75f-01f9-48e7-8759-d87ef6b86537"
      unitRef="usd">14301000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMTQtMS0xLTEtMQ_edabc8d8-63da-48c4-8110-59d7eb64cc98"
      unitRef="usd">388000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMTQtMy0xLTEtMQ_c9a3d908-c4aa-4fb8-8384-fdc6b38a17a8"
      unitRef="usd">941000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMTUtMS0xLTEtMQ_9026cb8f-5983-4596-a042-2af9b5d0c553"
      unitRef="usd">723000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMTUtMy0xLTEtMQ_662b047e-8960-4ada-8e88-99d314ab52e5"
      unitRef="usd">652000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMTctMS0xLTEtMQ_5fb1ef97-5192-4158-9dfd-847d8762c919"
      unitRef="usd">935000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMTctMy0xLTEtMQ_4035bb67-4df8-489d-bb8e-b9b82c7d2c50"
      unitRef="usd">1873000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMTgtMS0xLTEtMQ_88402802-38b3-401f-9b1d-785cee684d41"
      unitRef="usd">65827000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMTgtMy0xLTEtMQ_c43bfb31-54a8-484c-84ae-b4cf3b34b157"
      unitRef="usd">56713000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMTktMS0xLTEtMQ_5a84f30d-8795-45aa-ba60-ad764f320ad5"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMTktMy0xLTEtMQ_6be1204f-07bb-43cf-afcf-c0fde6fdff0f"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMjMtMC0xLTEtMzE3MTYvdGV4dHJlZ2lvbjowN2U1YWEwODEyZmU0MjNmODE3ZTJlOTE0YjY0MGQ2Zl8xMDk5NTExNjI4MDA2_a728707e-b8db-4a92-946a-22293b9e998e"
      unitRef="usdPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMjMtMC0xLTEtMzE3MTYvdGV4dHJlZ2lvbjowN2U1YWEwODEyZmU0MjNmODE3ZTJlOTE0YjY0MGQ2Zl8xMDk5NTExNjI4MDA2_b3103026-8a08-4ae9-bc8f-48ebbf3ebaf1"
      unitRef="usdPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMjMtMC0xLTEtMzE3MTYvdGV4dHJlZ2lvbjowN2U1YWEwODEyZmU0MjNmODE3ZTJlOTE0YjY0MGQ2Zl8xMDk5NTExNjI3OTcx_9c6adff2-dde7-4483-acd3-0d7906d0caa7"
      unitRef="shares">250000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMjMtMC0xLTEtMzE3MTYvdGV4dHJlZ2lvbjowN2U1YWEwODEyZmU0MjNmODE3ZTJlOTE0YjY0MGQ2Zl8xMDk5NTExNjI3OTcx_d7bd1afe-29ba-4d75-b3e1-0aa6f599c07c"
      unitRef="shares">250000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMjMtMC0xLTEtMzE3MTYvdGV4dHJlZ2lvbjowN2U1YWEwODEyZmU0MjNmODE3ZTJlOTE0YjY0MGQ2Zl8xMDk5NTExNjI3OTg0_67df2704-d1ab-4be7-89be-68169b31def7"
      unitRef="shares">66767450</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMjMtMC0xLTEtMzE3MTYvdGV4dHJlZ2lvbjowN2U1YWEwODEyZmU0MjNmODE3ZTJlOTE0YjY0MGQ2Zl8xMDk5NTExNjI3OTg0_9e02d878-ab77-4999-a287-c5fe340d4656"
      unitRef="shares">66767450</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMjMtMC0xLTEtMzE3MTYvdGV4dHJlZ2lvbjowN2U1YWEwODEyZmU0MjNmODE3ZTJlOTE0YjY0MGQ2Zl8xMDk5NTExNjI3OTk3_14b6ad61-f70c-4399-a088-b23c4e880a98"
      unitRef="shares">64625071</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMjMtMC0xLTEtMzE3MTYvdGV4dHJlZ2lvbjowN2U1YWEwODEyZmU0MjNmODE3ZTJlOTE0YjY0MGQ2Zl8xMDk5NTExNjI3OTk3_eee6c2ac-eab9-4936-81e0-9ce12924b7a2"
      unitRef="shares">64625071</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMjMtMS0xLTEtMQ_f649d060-2394-4ee2-8dce-c1a17c98359c"
      unitRef="usd">105000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMjMtMy0xLTEtMQ_20a18d62-25a6-4952-8e43-7f39f1b77bdd"
      unitRef="usd">103000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMjYtMS0xLTEtMQ_d2ebc2df-ffee-4b9a-9d2e-4f600a35df38"
      unitRef="usd">367153000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMjYtMy0xLTEtMQ_f5586d7a-53a2-4b1a-adab-8ba752a1fedb"
      unitRef="usd">270800000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMjctMS0xLTEtMQ_8ad1407b-1a66-4bc6-8000-f5e7b156fa3c"
      unitRef="usd">-27000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMjctMy0xLTEtMQ_f44986d8-edff-49fe-b3ab-6520ff1062f1"
      unitRef="usd">44000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMjgtMS0xLTEtMQ_66b854c0-379b-48bf-ad11-329b5f4d8196"
      unitRef="usd">-186977000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMjgtMy0xLTEtMQ_ccd2d9c7-8797-46a0-9a52-d3d3df9d8a13"
      unitRef="usd">-143843000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMzEtMS0xLTEtMQ_1d328c66-cf51-4a25-b42b-3bca69adb3a1"
      unitRef="usd">180254000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMzEtMy0xLTEtMQ_4dd781a1-9ec8-4649-b1f4-cc6d690fbf18"
      unitRef="usd">127104000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMzItMS0xLTEtMQ_6b2fa7a1-0a42-456f-ae91-0ae76f93d490"
      unitRef="usd">246081000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl85NC9mcmFnOmNlNjIxNTlkOGNiMzQ1ODg4MzJjYTY2YjllMDAzMjJmL3RhYmxlOjZlMmEwOTFiMDc0NjQxNTJhY2UwZjNlYmJkZmRmYjRmL3RhYmxlcmFuZ2U6NmUyYTA5MWIwNzQ2NDE1MmFjZTBmM2ViYmRmZGZiNGZfMzItMy0xLTEtMQ_6c5c121a-f196-49b9-bf3a-1955bd37e0b3"
      unitRef="usd">183817000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:ProfitLoss
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzMtMS0xLTEtMQ_9c54f245-4bd0-48bd-9f98-d0138505f16b"
      unitRef="usd">-43134000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzMtMy0xLTEtMQ_55bbb3b4-51b1-4063-882a-d0aaa8178839"
      unitRef="usd">6841000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzMtNS0xLTEtMQ_7cdd0c4b-74e3-44ee-bfa4-70aeae595c04"
      unitRef="usd">-2137000</us-gaap:ProfitLoss>
    <tls:GainOnRedemptionOfPublicPreferredStock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzUtMS0xLTEtMQ_70494f9f-36b7-4216-ae63-3d76f5c76d50"
      unitRef="usd">0</tls:GainOnRedemptionOfPublicPreferredStock>
    <tls:GainOnRedemptionOfPublicPreferredStock
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzUtMy0xLTEtMQ_0643403a-71f9-4c9d-a465-d927b4808424"
      unitRef="usd">14012000</tls:GainOnRedemptionOfPublicPreferredStock>
    <tls:GainOnRedemptionOfPublicPreferredStock
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzUtNS0xLTEtMQ_b4921bfd-8984-4d1b-955f-6fda2d2fddb1"
      unitRef="usd">0</tls:GainOnRedemptionOfPublicPreferredStock>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzYtMS0xLTEtMQ_fa1d02a0-86b2-4791-8ead-f373dea70306"
      unitRef="usd">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzYtMy0xLTEtMQ_e868eea0-0205-40f0-977c-49357c5a9aa5"
      unitRef="usd">-275000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzYtNS0xLTEtMQ_a4f0d015-3d5b-4f3e-b4cd-581098045d70"
      unitRef="usd">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:ShareBasedCompensation
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzctMS0xLTEtMQ_e9deb781-e5f8-480f-a0cd-2a9294d4abb1"
      unitRef="usd">60231000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzctMy0xLTEtMQ_ab1190de-82cf-4673-8b21-411a01371d15"
      unitRef="usd">4000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzctNS0xLTEtMQ_90eb0153-f121-4210-9de4-ebfa77f16a94"
      unitRef="usd">0</us-gaap:ShareBasedCompensation>
    <tls:DividendsPreferredStockAsInterestExpense
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzgtMS0xLTEtMQ_61efee4c-30b8-4e0b-a6f6-a58fab046933"
      unitRef="usd">0</tls:DividendsPreferredStockAsInterestExpense>
    <tls:DividendsPreferredStockAsInterestExpense
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzgtMy0xLTEtMQ_b035d1f4-5e57-4f96-a96d-cb1a8d017628"
      unitRef="usd">-3384000</tls:DividendsPreferredStockAsInterestExpense>
    <tls:DividendsPreferredStockAsInterestExpense
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzgtNS0xLTEtMQ_2f96faac-2384-45c5-87b8-b0b1641f01b1"
      unitRef="usd">-3823000</tls:DividendsPreferredStockAsInterestExpense>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzktMS0xLTEtMQ_760030e3-d445-4dd2-bf17-e0d9175a0d33"
      unitRef="usd">5624000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzktMy0xLTEtMQ_79a7de1f-ce0c-44b0-b5c1-b4da75acc7be"
      unitRef="usd">5353000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzktNS0xLTEtMQ_2ed4b75a-dd43-4b75-8e35-c36530b2a3f3"
      unitRef="usd">4972000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:InventoryWriteDown
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzEwLTEtMS0xLTE_18c2e4c9-9834-45f4-960c-c540aa62cee3"
      unitRef="usd">10000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzEwLTMtMS0xLTE_c2a1c0f9-dd6a-48c5-8905-666cec2a6891"
      unitRef="usd">-1000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzEwLTUtMS0xLTE_6c3105a2-d4c0-4cd3-9ea3-ead68b84c36d"
      unitRef="usd">376000</us-gaap:InventoryWriteDown>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzExLTEtMS0xLTE_db46176b-4b94-4cb8-964e-47f2e368df26"
      unitRef="usd">7000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzExLTMtMS0xLTE_3d54937f-32d6-4d66-9737-2eaa343b4884"
      unitRef="usd">-412000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzExLTUtMS0xLTE_8f433cd6-3857-4b5a-84af-6514e8f1e163"
      unitRef="usd">414000</us-gaap:ProvisionForDoubtfulAccounts>
    <tls:NonTradeReceivableCreditLossExpenseReversal
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzEyLTEtMS0xLTE_26ff8a01-3187-46ee-b108-66c7a7372003"
      unitRef="usd">0</tls:NonTradeReceivableCreditLossExpenseReversal>
    <tls:NonTradeReceivableCreditLossExpenseReversal
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzEyLTMtMS0xLTE_d1e89205-ef7d-428a-a364-f7657818534b"
      unitRef="usd">569000</tls:NonTradeReceivableCreditLossExpenseReversal>
    <tls:NonTradeReceivableCreditLossExpenseReversal
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzEyLTUtMS0xLTE_f149f47f-8bdc-43f2-988d-c6f3c4b982c3"
      unitRef="usd">0</tls:NonTradeReceivableCreditLossExpenseReversal>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzEzLTEtMS0xLTE_7803d2d8-8bf4-4354-a28e-aee5c6943a2f"
      unitRef="usd">0</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzEzLTMtMS0xLTE_1085708a-18c2-4541-892e-f48830a554fd"
      unitRef="usd">978000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzEzLTUtMS0xLTE_38a4e70d-bfdb-497d-a437-0f22ef0337f8"
      unitRef="usd">461000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzE0LTEtMS0xLTE_7ccff6f8-3463-49a5-88b1-86d57baec4ff"
      unitRef="usd">70000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzE0LTMtMS0xLTE_62d7d694-7a92-4368-abe8-45d0b8608cc0"
      unitRef="usd">31000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzE0LTUtMS0xLTE_4961b8ed-41fa-4c12-bc1b-f0f559af274d"
      unitRef="usd">-197000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzE1LTEtMS0xLTE_b3b50294-1207-48e5-8087-82998b2bbfc7"
      unitRef="usd">-6000</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzE1LTMtMS0xLTE_8e3d9953-e1fc-47da-85b5-c9c15006dcf9"
      unitRef="usd">-1000</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzE1LTUtMS0xLTE_dc7d3f4a-c90d-4d69-b349-2b2beb7e984d"
      unitRef="usd">-15000</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:AccretionExpense
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzE2LTEtMS0xLTQzNTEw_c7ad3c63-f844-4db3-8ce5-2d2fec53df8d"
      unitRef="usd">19000</us-gaap:AccretionExpense>
    <us-gaap:AccretionExpense
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzE2LTMtMS0xLTQzNTEw_4cc0bd8c-f55a-4b8f-8106-15150b78a437"
      unitRef="usd">0</us-gaap:AccretionExpense>
    <us-gaap:AccretionExpense
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzE2LTUtMS0xLTQzNTEw_bfeef362-6ea6-48e4-be41-2ebba4def583"
      unitRef="usd">0</us-gaap:AccretionExpense>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzE3LTEtMS0xLTE_ca803bd2-a36e-43c1-9dee-a35f2e51646f"
      unitRef="usd">28937000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzE3LTMtMS0xLTE_8089ab74-79a0-45f4-b877-4a265bef38c9"
      unitRef="usd">2559000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzE3LTUtMS0xLTE_4d59d260-9b9a-4f0a-b6c2-425e7617b919"
      unitRef="usd">-6186000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzE4LTEtMS0xLTE_9985bb5c-a656-4fb3-bf08-7a2963d08574"
      unitRef="usd">-2054000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzE4LTMtMS0xLTE_f014d7ef-e254-4251-9068-5300c28ce8b9"
      unitRef="usd">1345000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzE4LTUtMS0xLTE_b4a8d857-aa3e-4864-a124-39205f5f47da"
      unitRef="usd">-2048000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzIwLTEtMS0xLTE_1689ca5f-b1dc-410e-a52f-98d3e6e188fd"
      unitRef="usd">982000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzIwLTMtMS0xLTE_bab6d644-4a18-400a-8151-b57255e9ce57"
      unitRef="usd">938000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzIwLTUtMS0xLTE_ea9ec328-2839-4025-85a3-7f66ac11509b"
      unitRef="usd">4005000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzIxLTEtMS0xLTE_daaeb8e5-1c38-4b0b-ab69-1e25fe10c361"
      unitRef="usd">16086000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzIxLTMtMS0xLTE_6dfa6c92-812b-497d-ae8a-c28febba7764"
      unitRef="usd">3413000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzIxLTUtMS0xLTE_ff7c90e4-f44a-4876-9057-9dc50fd5c349"
      unitRef="usd">-6730000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInDeferredCompensation
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzIyLTEtMS0xLTE_c439f4e6-cb19-4f66-b7be-21db1e0803b1"
      unitRef="usd">-1917000</us-gaap:IncreaseDecreaseInDeferredCompensation>
    <us-gaap:IncreaseDecreaseInDeferredCompensation
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzIyLTMtMS0xLTE_c42b78d9-d03e-43c5-ba10-193f9e6567ea"
      unitRef="usd">-3713000</us-gaap:IncreaseDecreaseInDeferredCompensation>
    <us-gaap:IncreaseDecreaseInDeferredCompensation
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzIyLTUtMS0xLTE_00cc9c88-3f3b-4738-9c31-ff210b8ab8c5"
      unitRef="usd">3105000</us-gaap:IncreaseDecreaseInDeferredCompensation>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzIzLTEtMS0xLTE_89f2e619-ffd6-4c7b-8e2b-a25afa746683"
      unitRef="usd">727000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzIzLTMtMS0xLTE_06ec7b40-bc7b-4c70-825e-d18bd312264b"
      unitRef="usd">-683000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzIzLTUtMS0xLTE_7045bb50-5e80-4fd9-b76d-dddbd84a21df"
      unitRef="usd">1106000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInOtherCurrentLiabilities
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzI0LTEtMS0xLTE_c930990c-5154-4b0c-88c1-3b9c2f29ed42"
      unitRef="usd">-2602000</us-gaap:IncreaseDecreaseInOtherCurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherCurrentLiabilities
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzI0LTMtMS0xLTE_de553808-a5ff-44eb-bb40-dfcdda737925"
      unitRef="usd">710000</us-gaap:IncreaseDecreaseInOtherCurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherCurrentLiabilities
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzI0LTUtMS0xLTE_d18eac35-d87d-4045-9800-e93ea1107e87"
      unitRef="usd">2379000</us-gaap:IncreaseDecreaseInOtherCurrentLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzI1LTEtMS0xLTE_828d328e-fdc3-4a65-8bca-2de7cf4ec5f4"
      unitRef="usd">7262000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzI1LTMtMS0xLTE_713ab996-152d-4e59-928a-5a333c7ecd9f"
      unitRef="usd">-2104000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzI1LTUtMS0xLTE_b0d1c92f-2885-4ed1-a9ea-1ee51f1a0b5b"
      unitRef="usd">11816000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzI3LTEtMS0xLTMxODg2_c59ee274-0260-4440-9a00-a175e163c513"
      unitRef="usd">5925000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzI3LTMtMS0xLTMxODg2_86a2ebf3-285c-4d8d-b0da-2988679dacf0"
      unitRef="usd">0</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzI3LTUtMS0xLTMxODg2_27687699-eaef-41ee-97ba-66767621d8ee"
      unitRef="usd">0</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzI3LTEtMS0xLTE_46d77777-9fa3-41a5-a6b5-6d3cf042ee03"
      unitRef="usd">9968000</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzI3LTMtMS0xLTE_4b899ac1-b59e-46ba-b132-571a106f65a7"
      unitRef="usd">6681000</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzI3LTUtMS0xLTE_25ef4a32-bba9-49cd-a316-d8e9750d17be"
      unitRef="usd">2442000</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzI4LTEtMS0xLTE_b631c31b-7b04-499c-8c16-5c1b74190ae7"
      unitRef="usd">3201000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzI4LTMtMS0xLTE_a1305ade-c417-4918-930e-5e2a60dfaeed"
      unitRef="usd">780000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzI4LTUtMS0xLTE_00cdcc61-2aee-4e35-a0fa-c49496743221"
      unitRef="usd">4090000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzI5LTEtMS0xLTE_1af87b89-b5f7-472a-812c-c18aa5b0f8b3"
      unitRef="usd">-19094000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzI5LTMtMS0xLTE_911560c5-cf94-4fe0-ac69-2a9ffceb787f"
      unitRef="usd">-7461000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzI5LTUtMS0xLTE_1aca592f-1600-4b40-a495-d38561361ee0"
      unitRef="usd">-6532000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzMxLTEtMS0xLTE_c234eeb0-3c9b-4bf4-a933-bb1a330a8dcb"
      unitRef="usd">64269000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzMxLTMtMS0xLTE_4a0fe948-7311-4f55-94bc-b771b48de1e8"
      unitRef="usd">272813000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzMxLTUtMS0xLTE_ab1e55f3-4ae3-42d4-8a7e-e82caff1d783"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfWarrants
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzMzLTEtMS0xLTMxOTAw_62094e1f-c912-45fe-b1e4-759d4d9ca67f"
      unitRef="usd">26894000</us-gaap:PaymentsForRepurchaseOfWarrants>
    <us-gaap:PaymentsForRepurchaseOfWarrants
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzMzLTMtMS0xLTMxOTAw_598c1f89-dc42-4357-840a-961d0fdd5f72"
      unitRef="usd">0</us-gaap:PaymentsForRepurchaseOfWarrants>
    <us-gaap:PaymentsForRepurchaseOfWarrants
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzMzLTUtMS0xLTMxOTAw_d7f10f62-7c35-4e58-a7bb-e8ab4c5341d9"
      unitRef="usd">0</us-gaap:PaymentsForRepurchaseOfWarrants>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzM0LTEtMS0xLTMxOTAw_1672229b-0e94-4456-84a5-3b91e371b7ab"
      unitRef="usd">1251000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzM0LTMtMS0xLTMxOTAw_8bb5bb13-1b26-4d18-abec-90f77fc537c8"
      unitRef="usd">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzM0LTUtMS0xLTMxOTAw_2859a85d-7227-4e35-bb3a-99bf85a284c7"
      unitRef="usd">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfRedeemableConvertiblePreferredStock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzMyLTEtMS0xLTE_f6a177a3-f017-431b-b7b6-470a2306c5fe"
      unitRef="usd">0</us-gaap:PaymentsForRepurchaseOfRedeemableConvertiblePreferredStock>
    <us-gaap:PaymentsForRepurchaseOfRedeemableConvertiblePreferredStock
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzMyLTMtMS0xLTE_ad844541-2224-44eb-b08b-083e7c8a66be"
      unitRef="usd">108878000</us-gaap:PaymentsForRepurchaseOfRedeemableConvertiblePreferredStock>
    <us-gaap:PaymentsForRepurchaseOfRedeemableConvertiblePreferredStock
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzMyLTUtMS0xLTE_fc40405f-28d0-4eb9-9132-50976eb21d2c"
      unitRef="usd">0</us-gaap:PaymentsForRepurchaseOfRedeemableConvertiblePreferredStock>
    <us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzMzLTEtMS0xLTE_df519601-55db-4e33-973c-03721dbcab9a"
      unitRef="usd">0</us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest>
    <us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzMzLTMtMS0xLTE_92e7a7ea-32cb-409c-972f-473e9ac4735e"
      unitRef="usd">30000000</us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest>
    <us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzMzLTUtMS0xLTE_382eac67-4873-4a2a-85b9-c71a77ebcb27"
      unitRef="usd">0</us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest>
    <us-gaap:RepaymentsOfSeniorDebt
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzM0LTEtMS0xLTE_a64a2a87-d9fb-405b-a848-a149c46f8501"
      unitRef="usd">0</us-gaap:RepaymentsOfSeniorDebt>
    <us-gaap:RepaymentsOfSeniorDebt
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzM0LTMtMS0xLTE_b3cd1e88-3fe0-4fae-acac-859141119d0c"
      unitRef="usd">17351000</us-gaap:RepaymentsOfSeniorDebt>
    <us-gaap:RepaymentsOfSeniorDebt
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzM0LTUtMS0xLTE_75b82fe5-35f3-4ab0-8238-82ae4466838f"
      unitRef="usd">0</us-gaap:RepaymentsOfSeniorDebt>
    <us-gaap:RepaymentsOfSubordinatedDebt
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzM1LTEtMS0xLTE_37113be8-eb00-4cdf-83d9-9be4aec40a5b"
      unitRef="usd">0</us-gaap:RepaymentsOfSubordinatedDebt>
    <us-gaap:RepaymentsOfSubordinatedDebt
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzM1LTMtMS0xLTE_0d2a3ab7-7a39-41d7-99e1-0987db469291"
      unitRef="usd">3657000</us-gaap:RepaymentsOfSubordinatedDebt>
    <us-gaap:RepaymentsOfSubordinatedDebt
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzM1LTUtMS0xLTE_23b8c8ff-56e0-4631-8084-019c22d2c79d"
      unitRef="usd">0</us-gaap:RepaymentsOfSubordinatedDebt>
    <us-gaap:ProceedsFromIssuanceOfSeniorLongTermDebt
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzM2LTEtMS0xLTE_87be81bd-b769-4fe8-a2ec-b9e2651d949e"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfSeniorLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfSeniorLongTermDebt
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzM2LTMtMS0xLTE_9bc1965d-7760-459f-a7e6-7a661533da28"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfSeniorLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfSeniorLongTermDebt
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzM2LTUtMS0xLTE_82b8c541-ba2e-4f49-98bf-541003822b18"
      unitRef="usd">4881000</us-gaap:ProceedsFromIssuanceOfSeniorLongTermDebt>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzM3LTEtMS0xLTE_f9dbe8e4-7d1e-4a2f-8392-2b7545d938ae"
      unitRef="usd">1339000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzM3LTMtMS0xLTE_21c04e51-af77-4137-aa54-aab4d002b856"
      unitRef="usd">1225000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzM3LTUtMS0xLTE_259f854f-c02e-4c51-bee3-aba72033f849"
      unitRef="usd">1115000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:PaymentsOfDebtRestructuringCosts
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzM4LTEtMS0xLTE_5fde29bb-cb62-4c95-a3e1-721a8179f7ee"
      unitRef="usd">0</us-gaap:PaymentsOfDebtRestructuringCosts>
    <us-gaap:PaymentsOfDebtRestructuringCosts
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzM4LTMtMS0xLTE_1843e12e-3bee-4e6a-b13a-f7344b3cef22"
      unitRef="usd">100000</us-gaap:PaymentsOfDebtRestructuringCosts>
    <us-gaap:PaymentsOfDebtRestructuringCosts
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzM4LTUtMS0xLTE_389be65b-b20c-49a0-8165-47e853111ad6"
      unitRef="usd">0</us-gaap:PaymentsOfDebtRestructuringCosts>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzM5LTEtMS0xLTE_7b0c7fcb-cbcc-4d69-ab79-0ce4dfbd4e63"
      unitRef="usd">2436000</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzM5LTMtMS0xLTE_a3213433-4ea7-4627-b179-d1ef820958f3"
      unitRef="usd">2743000</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzM5LTUtMS0xLTE_496c776b-658d-4e23-8293-9c7c8241bb14"
      unitRef="usd">2371000</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzQwLTEtMS0xLTE_ac039f38-5b27-4248-b781-6dccecb9774c"
      unitRef="usd">32349000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzQwLTMtMS0xLTE_2fa9dad9-7667-4a1a-a9df-dd43b8b3c59d"
      unitRef="usd">108859000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzQwLTUtMS0xLTE_e35313f9-4109-409c-a256-d876b5ab31e9"
      unitRef="usd">1395000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzQxLTEtMS0xLTE_90327ce6-a217-49d6-9276-7834ae32079c"
      unitRef="usd">20517000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzQxLTMtMS0xLTE_a3572fdf-4758-459b-a904-2230e0e3b578"
      unitRef="usd">99294000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzQxLTUtMS0xLTE_029da9d7-60f1-4dd0-9a68-581b034bdd46"
      unitRef="usd">6679000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzQyLTEtMS0xLTE_71ee6096-1ff8-45d2-b5bc-21650bc0a015"
      unitRef="usd">106045000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ibd17c1a727e14c3eb048e13fd9d1c173_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzQyLTMtMS0xLTE_ad7ec224-fc56-4015-bd94-b0e23b50c58f"
      unitRef="usd">6751000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="iadf4b09fd00b4cc28962e99c48301a62_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzQyLTUtMS0xLTE_b0b49697-5a02-4908-8865-7de10d4e724f"
      unitRef="usd">72000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzQzLTEtMS0xLTE_ee6fafcc-2b84-4290-bbd3-cdeaf4cbcf30"
      unitRef="usd">126562000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzQzLTMtMS0xLTE_4483f0a7-6998-464b-9c06-e15f5a9b843e"
      unitRef="usd">106045000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ibd17c1a727e14c3eb048e13fd9d1c173_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTphNzE0ZjkwYzc5ZGI0OGViOWI2NDJiNGE2MjBmZjU3Ni90YWJsZXJhbmdlOmE3MTRmOTBjNzlkYjQ4ZWI5YjY0MmI0YTYyMGZmNTc2XzQzLTUtMS0xLTE_e2ad111d-c056-4a3b-b5fb-92d0803a3e84"
      unitRef="usd">6751000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzQtMS0xLTEtMjkzMzE_94795cae-4c7b-43a5-9824-b66f4c1b78d6"
      unitRef="usd">758000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzQtMy0xLTEtMjkzMzE_4ae6c44d-c998-46e8-b494-2a2ac2ba6060"
      unitRef="usd">7259000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzQtNS0xLTEtMjkzMzE_77976226-2a8f-42f3-b7f9-84f92c641fa8"
      unitRef="usd">3299000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaid
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzUtMS0xLTEtMjkzMzQ_39f7a227-796d-4b93-b935-03939cee3ed8"
      unitRef="usd">60000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzUtMy0xLTEtMjkzMzQ_10e3b8f4-1b4a-4c8a-b3fb-fbb95518b7f8"
      unitRef="usd">64000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzUtNS0xLTEtMjkzMzQ_c1eb2c71-4418-4c89-97ee-8fb8d368acdf"
      unitRef="usd">40000</us-gaap:IncomeTaxesPaid>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzgtMS0xLTEtMzE5MjE_78f7a738-5ce7-4903-be72-0771b94922d0"
      unitRef="usd">506000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzgtMy0xLTEtMzE5MjE_d28a2c2d-7541-46c3-b4d9-78fad68cb9a3"
      unitRef="usd">0</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzgtNS0xLTEtMzE5MjE_12b389d2-082c-4d7d-b3de-ea000d4fc17c"
      unitRef="usd">0</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzktMS0xLTEtNDk2MzM_096fbcb9-5b23-4e1e-8291-f1694f7af621"
      unitRef="usd">638000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzktMy0xLTEtNDk2Mzc_8985695e-9b2b-46d8-8d6c-002440710512"
      unitRef="usd">613000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzktNS0xLTEtNDk2NTA_984f7a67-4f6e-44c6-b857-4d9b7bd8c39d"
      unitRef="usd">488000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <tls:DividendsPreferredStockAsInterestExpense
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzgtMS0xLTEtMjkzMzY_430b85bf-ed33-4da8-acc1-7f8575b3089f"
      unitRef="usd">0</tls:DividendsPreferredStockAsInterestExpense>
    <tls:DividendsPreferredStockAsInterestExpense
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzgtMy0xLTEtMjkzMzk_ea07ab3f-1fae-4d87-812d-276ddceb9708"
      unitRef="usd">-3384000</tls:DividendsPreferredStockAsInterestExpense>
    <tls:DividendsPreferredStockAsInterestExpense
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzgtNS0xLTEtMjkzNDE_3ade1fd9-ff7c-4d05-8141-95461d5a4332"
      unitRef="usd">-3823000</tls:DividendsPreferredStockAsInterestExpense>
    <us-gaap:ConversionOfStockAmountConverted1
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzktMS0xLTEtMjkzMzY_eaf71e81-3ae8-4862-aa57-0e5f6f250304"
      unitRef="usd">0</us-gaap:ConversionOfStockAmountConverted1>
    <us-gaap:ConversionOfStockAmountConverted1
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzktMy0xLTEtMjkzMzk_e7a06996-aab1-4cfc-a31c-ceb2e01fdf1a"
      unitRef="usd">19213000</us-gaap:ConversionOfStockAmountConverted1>
    <us-gaap:ConversionOfStockAmountConverted1
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzktNS0xLTEtMjkzNDE_87fd0781-d031-4740-aedf-838ed456bd95"
      unitRef="usd">0</us-gaap:ConversionOfStockAmountConverted1>
    <us-gaap:StockIssued1
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzEwLTEtMS0xLTI5MzM2_14a5a8d6-6d9a-424a-bb42-bc00a82dfc46"
      unitRef="usd">0</us-gaap:StockIssued1>
    <us-gaap:StockIssued1
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzEwLTMtMS0xLTI5MzM5_575c9a36-c199-477f-bdc7-487639def4d7"
      unitRef="usd">148399000</us-gaap:StockIssued1>
    <us-gaap:StockIssued1
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzEwLTUtMS0xLTI5MzQx_a5e0cd55-c889-40ef-b26b-ad86094d21b6"
      unitRef="usd">0</us-gaap:StockIssued1>
    <tls:DistributionsToNonControllingInterest
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzExLTEtMS0xLTI5MzM2_08ddb9d4-e872-4269-a733-deb7ec1d662b"
      unitRef="usd">0</tls:DistributionsToNonControllingInterest>
    <tls:DistributionsToNonControllingInterest
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzExLTMtMS0xLTI5MzM5_4bcd8fb2-7a0c-4638-b755-d58724312363"
      unitRef="usd">2436000</tls:DistributionsToNonControllingInterest>
    <tls:DistributionsToNonControllingInterest
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzExLTUtMS0xLTI5MzQx_7acd7199-2618-4a04-8712-0e9a59f3b2aa"
      unitRef="usd">0</tls:DistributionsToNonControllingInterest>
    <tls:DebtIssuanceCostsAndPrepaymentOfInterestOnSeniorTermLoan
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzEzLTEtMS0xLTI5MzM2_4ef2d479-5a85-4c88-a61e-3471d62a10a0"
      unitRef="usd">0</tls:DebtIssuanceCostsAndPrepaymentOfInterestOnSeniorTermLoan>
    <tls:DebtIssuanceCostsAndPrepaymentOfInterestOnSeniorTermLoan
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzEzLTMtMS0xLTI5MzM5_86f73ce7-973a-432f-819e-490061f3a783"
      unitRef="usd">0</tls:DebtIssuanceCostsAndPrepaymentOfInterestOnSeniorTermLoan>
    <tls:DebtIssuanceCostsAndPrepaymentOfInterestOnSeniorTermLoan
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDAvZnJhZzo4YTU1NTNjM2YxZDQ0NzllODQ4NjRhYzM1OGMxNWJlMi90YWJsZTpjYzFlZmZjYWRhOWQ0N2FiOTdjNzdhOTc0ZDcyOWUxYy90YWJsZXJhbmdlOmNjMWVmZmNhZGE5ZDQ3YWI5N2M3N2E5NzRkNzI5ZTFjXzEzLTUtMS0xLTI5MzQx_afa32388-f3e3-493f-bdca-036b22a3bdad"
      unitRef="usd">119000</tls:DebtIssuanceCostsAndPrepaymentOfInterestOnSeniorTermLoan>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ibcb9b0cbef69476d87bdf573edbaf6c2_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzItMS0xLTEtNTgwMTI_bb09b00b-0795-4dfc-9971-23275e522ca8"
      unitRef="shares">0</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ibcb9b0cbef69476d87bdf573edbaf6c2_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzEtMS0xLTEtMQ_bbc2cb5c-7907-45de-9bde-b3df30793e7b"
      unitRef="usd">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i9e23f08f5dfc4f8ba2c321e0035d766d_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzItNS0xLTEtNTgwOTE_7983bfc2-fa33-48eb-9f59-1ec8b577d834"
      unitRef="shares">45143000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i9e23f08f5dfc4f8ba2c321e0035d766d_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzEtMy0xLTEtMQ_e4d434d4-7c20-493e-84e1-fbafd635f1bf"
      unitRef="usd">65000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i862fe18962e9408c8d7210afb0803328_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzItOS0xLTEtNTgwOTk_41519edb-6c51-4157-8ef7-8b607a58d6c1"
      unitRef="shares">4038000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i862fe18962e9408c8d7210afb0803328_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzEtNS0xLTEtMQ_345301e7-3e45-4604-af91-44d400dac71e"
      unitRef="usd">13000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ia49217ca40044313a457b58e48baec72_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzEtNy0xLTEtMQ_99d75a1b-fdc9-4680-9356-39a60b71ae70"
      unitRef="usd">4310000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i8a31a3cb9a0d40389c53693564be3c8f_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzEtOS0xLTEtMQ_a7d8ec23-8747-4b1d-b07b-f57bc6d359df"
      unitRef="usd">17000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="id73a11874aea4a4eae0d5ae862df1679_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzEtMTEtMS0xLTE_9f821bb8-fe62-419c-aa46-83f9e5f83cb0"
      unitRef="usd">-139129000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i3ee3ae2ed83c4581912988abc8df77eb_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzEtMTMtMS0xLTE_32baa9f3-8677-4a96-ab98-5a80a9140636"
      unitRef="usd">2621000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="iadf4b09fd00b4cc28962e99c48301a62_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzEtMTUtMS0xLTE_2500d2ce-e6dd-4666-a0f1-08f3c1e0aa67"
      unitRef="usd">-132103000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="i329fe7baab044b9d9cc7a8b2438ab362_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzItMTEtMS0xLTE_c7682998-40b9-45b0-b4af-17f117bbe602"
      unitRef="usd">-6401000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i0dc13a0737a14069b88adda64f898f91_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzItMTMtMS0xLTE_28eaddbf-23ed-4ae4-a9f0-724069eef077"
      unitRef="usd">4264000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzItMTUtMS0xLTE_c42e4df4-e6e6-4430-9707-ec963cbc06a5"
      unitRef="usd">-2137000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i3ba07cbc0da54bb7bc9046cb276f9a54_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzQtOS0xLTEtMQ_4a6b1dbf-f593-4183-b6ff-f5766ed7e6f3"
      unitRef="usd">-11000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzQtMTUtMS0xLTE_1605e08d-418c-4314-907a-3373c89c2fb3"
      unitRef="usd">-11000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="i0dc13a0737a14069b88adda64f898f91_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzUtMTMtMS0xLTE_2211b16d-0445-419f-b0a7-2c5c2be6a3a0"
      unitRef="usd">2371000</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzUtMTUtMS0xLTE_436f9f3f-7de6-4d6e-8413-4460341e6c20"
      unitRef="usd">2371000</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i0c9ddefe9b3642ada8e80178bbed1f59_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzctMS0xLTEtNTgwNjU_48e1514e-a4f3-4642-9717-c4160f6dcdaf"
      unitRef="shares">0</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i0c9ddefe9b3642ada8e80178bbed1f59_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzYtMS0xLTEtMQ_3795927f-ed98-421b-84ee-8c983b71ddf7"
      unitRef="usd">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ib3aaf4bb095847a9a2dd80cedd45a45d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzctNS0xLTEtNTgwOTE_2c85d360-5d77-40db-9bdf-d174ee6b7baf"
      unitRef="shares">45143000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ib3aaf4bb095847a9a2dd80cedd45a45d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzYtMy0xLTEtMQ_26a40026-51e4-473d-a847-26166c2f4a10"
      unitRef="usd">65000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i1b0835e964034e2999894f805ae2fe0b_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzctOS0xLTEtNTgwOTk_19a2d5b8-b7df-4700-95d5-91d5f3c749a4"
      unitRef="shares">4038000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i1b0835e964034e2999894f805ae2fe0b_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzYtNS0xLTEtMQ_72e581e4-3f4b-474a-8251-69d67b5c87fc"
      unitRef="usd">13000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="if55a4b2d54cf4e91812e51a64bce49aa_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzYtNy0xLTEtMQ_a6b0bfcf-c4a2-4e3c-9a73-190c6850d753"
      unitRef="usd">4310000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="iefd326d44cca40029321e957f897eb50_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzYtOS0xLTEtMQ_60de49d1-cbfc-4e9e-a3a3-9b36a95cced0"
      unitRef="usd">6000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ied2107de64c54a589718060592665116_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzYtMTEtMS0xLTE_b9661ac8-7111-4f16-bc83-7056c91baeb6"
      unitRef="usd">-145530000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i0ea9b50b2e9340de8e968ed594470846_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzYtMTMtMS0xLTE_b48cde87-a975-403a-919a-9b495474f3c2"
      unitRef="usd">4514000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ibd17c1a727e14c3eb048e13fd9d1c173_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzYtMTUtMS0xLTE_e7775fd0-afca-4518-97ec-d73269ea9c2d"
      unitRef="usd">-136622000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="i58ff65c359a941fea2d41952f0ad852e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzctMTEtMS0xLTE_9240c711-267a-4791-8ecd-2d2519e74822"
      unitRef="usd">1687000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i721caaef409448439d1687ecc1c75e9d_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzctMTMtMS0xLTE_980c8a40-7e6d-4a55-981a-ff7d2cb0ddf9"
      unitRef="usd">5154000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzctMTUtMS0xLTE_60092688-ee01-4e18-8123-e6fb0c43d777"
      unitRef="usd">6841000</us-gaap:ProfitLoss>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="iccad4b0926a14c75b8380da7e8f6c17c_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzktMS0xLTEtNTc5OTg_d557351e-9f77-4aa7-894a-a3431b15ca56"
      unitRef="shares">39003000</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="iccad4b0926a14c75b8380da7e8f6c17c_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzktMy0xLTEtNTgxMTc_55b05f3e-dd41-4ce5-ab11-39498a5e47b9"
      unitRef="usd">78000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="i493c4f581f21449cb9940bffd840d57e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzktNS0xLTEtNTgwOTE_dff99754-3add-4fed-8fd4-34de54dabded"
      unitRef="shares">-45143000</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="i493c4f581f21449cb9940bffd840d57e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzktNy0xLTEtNTgxMzk_6879ee0e-95ed-4a9d-be08-caa40e07141d"
      unitRef="usd">-65000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="ib60630051ba345b6a149b49881e068d8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzktOS0xLTEtNTgwOTk_a247324d-2232-44b3-9e28-f921a561adc4"
      unitRef="shares">-4038000</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="ib60630051ba345b6a149b49881e068d8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzktMTEtMS0xLTU4MTU4_12f61b92-3691-45f1-805a-2cbf17faa328"
      unitRef="usd">-13000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzktMjEtMS0xLTU4MTU4_93d66cc1-b5d7-4f10-aff1-d127dd0ec21c"
      unitRef="usd">0</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="iccad4b0926a14c75b8380da7e8f6c17c_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzEwLTEtMS0xLTU3OTk4_e0480aa8-6c84-46c4-a757-b4a7032d0247"
      unitRef="shares">25622000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="iccad4b0926a14c75b8380da7e8f6c17c_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzgtMS0xLTEtMzIwNjA_030869d9-664a-440a-8670-fdcc77a7c9ca"
      unitRef="usd">25000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="iab02e40d397442ff99bccf8b46ee9695_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzgtNy0xLTEtMzIwNjA_e166ab56-881d-4619-85f0-ea9af1bd83d4"
      unitRef="usd">291997000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzgtMTUtMS0xLTMyMDY3_d8907f4f-474f-44d8-9edd-c8726bac8dc8"
      unitRef="usd">292022000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="iab02e40d397442ff99bccf8b46ee9695_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzktNy0xLTEtMzIwNjA_827ac638-b6c9-43b6-a61c-722d538613f1"
      unitRef="usd">25511000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="i721caaef409448439d1687ecc1c75e9d_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzktMTMtMS0xLTMyMDYw_05c4d8f8-6c9c-4b3b-9c22-7c57e1ddb82a"
      unitRef="usd">4489000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzktMTUtMS0xLTMyMDY3_d3466fd5-eb02-4978-a59c-9c5f566b90d5"
      unitRef="usd">30000000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i5c20654df2a64230b925cc3f81286324_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzgtOS0xLTEtMQ_01310b59-5230-45c1-a32a-58c8dc8a2829"
      unitRef="usd">38000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzgtMTUtMS0xLTE_b6a7cc72-798e-4629-836f-436c9cb36e02"
      unitRef="usd">38000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="iab02e40d397442ff99bccf8b46ee9695_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzExLTctMS0xLTMyMDcz_80694a98-b61e-4dfb-bfc3-3f315c1e4294"
      unitRef="usd">4000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzExLTE1LTEtMS0zMjA3Mw_cbdd04d2-bd58-440b-9cea-f20ed1404175"
      unitRef="usd">4000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="i721caaef409448439d1687ecc1c75e9d_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzktMTMtMS0xLTE_9970899b-829d-4a11-9b1d-4104e405d449"
      unitRef="usd">5179000</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzktMTUtMS0xLTE_57c9d83c-b178-4b4e-b637-d72671982f95"
      unitRef="usd">5179000</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i1b6dfd2b1c99451abfedb16a75f0e827_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzE1LTEtMS0xLTU4MDgz_3264e063-21b4-47df-a515-b7fe01f7417f"
      unitRef="shares">64625000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i1b6dfd2b1c99451abfedb16a75f0e827_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzEwLTEtMS0xLTE_87f9a5ac-13b6-41c0-8cae-d8dbabf72995"
      unitRef="usd">103000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i4e95ca6481104a6bba22983a5df5d3c0_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzE1LTUtMS0xLTU4MDkx_e46ea1f0-de15-4339-a2c2-3e86c4e3cbb0"
      unitRef="shares">0</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i4e95ca6481104a6bba22983a5df5d3c0_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzEwLTMtMS0xLTE_16426a52-1dd8-44a6-a532-58531eb7bad5"
      unitRef="usd">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="id83cccae6a55455da3adc8ac494b8c06_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzE1LTktMS0xLTU4MDk5_221eddb1-5a9f-49f2-8111-a9386523c854"
      unitRef="shares">0</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="id83cccae6a55455da3adc8ac494b8c06_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzEwLTUtMS0xLTE_f69465e2-d1ac-46c3-bd91-a30b72923c07"
      unitRef="usd">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i0e25143b2251425eb2898639690d68db_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzEwLTctMS0xLTE_b9614729-fc41-426a-b578-84db86318dc2"
      unitRef="usd">270800000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i7b59e113df0d48f5adcf15e3b5df3470_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzEwLTktMS0xLTE_947c4c5c-27bd-497a-bd7f-de0e58fa768f"
      unitRef="usd">44000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i361bda28b5ac44d1a58cf6e19feb0fd0_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzEwLTExLTEtMS0x_0a4ad237-da58-4029-ada5-37d88e78f313"
      unitRef="usd">-143843000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i13da460816f24e6f99903093bf760591_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzEwLTEzLTEtMS0x_947550eb-92f3-4c25-b55a-70a8b4a8d259"
      unitRef="usd">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzEwLTE1LTEtMS0x_ddb2ea11-f85f-4054-9efa-4c51a2c03317"
      unitRef="usd">127104000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="i2d95470b4c9a4749b509b89c326d99d2_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzExLTExLTEtMS0x_555e3892-76de-4fa7-907b-9d9d9cbf8167"
      unitRef="usd">-43134000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzExLTE1LTEtMS0x_5c78e6c8-2007-4788-8bed-4b8774b0c032"
      unitRef="usd">-43134000</us-gaap:ProfitLoss>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="i6302062435a14ed89faa20a0da36954a_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzE3LTEtMS0xLTU4MDgz_bc65057e-0ac9-4c96-9640-cbfbfc842b20"
      unitRef="shares">2050000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i6302062435a14ed89faa20a0da36954a_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzEyLTEtMS0xLTE_7795d9f6-a437-43fe-b740-eb6a0356a4a7"
      unitRef="usd">2000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i1a85fa5934d54b7f965315720779ab28_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzEyLTctMS0xLTE_88d43b53-a4fa-416d-8b4b-704a16f7b0b9"
      unitRef="usd">64267000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzEyLTE1LTEtMS0x_cf1b40d7-525c-4f24-8f12-188860e76437"
      unitRef="usd">64269000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="idc97cc9af1dc42339f5eb205e841220b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzE0LTktMS0xLTE_46425195-2874-4e21-93e9-cb4a16e2003f"
      unitRef="usd">-71000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzE0LTE1LTEtMS0x_48830091-834a-4e08-9c82-ddac0b33ee2c"
      unitRef="usd">-71000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i6302062435a14ed89faa20a0da36954a_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzIwLTEtMS0xLTU4MDgz_99cd138d-9ae9-4c63-a911-9cc0bba3f39c"
      unitRef="shares">132000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i1a85fa5934d54b7f965315720779ab28_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzE1LTctMS0xLTE_9d67e542-976c-43e1-888e-8d9129012894"
      unitRef="usd">60231000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzE1LTE1LTEtMS0x_7578806b-cbec-498a-a35f-05268479d026"
      unitRef="usd">60231000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <tls:WarrantsRepurchasedDuringPeriodValue
      contextRef="i1a85fa5934d54b7f965315720779ab28_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzE5LTctMS0xLTMyMDk2_50fa7520-54f6-4258-872c-ed58270b93d1"
      unitRef="usd">26894000</tls:WarrantsRepurchasedDuringPeriodValue>
    <tls:WarrantsRepurchasedDuringPeriodValue
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzE5LTE1LTEtMS0zMjA5Ng_f10e2649-82b3-4ccd-b303-8f2fdefc7853"
      unitRef="usd">26894000</tls:WarrantsRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i6302062435a14ed89faa20a0da36954a_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzIyLTEtMS0xLTU4MDgz_87fe67e6-275f-465c-bf38-15707bc2d330"
      unitRef="shares">40000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i1a85fa5934d54b7f965315720779ab28_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzE2LTctMS0xLTE_ebd1d0da-8401-4dc7-b8e7-46d1c0cb9c25"
      unitRef="usd">1251000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzE2LTE1LTEtMS0x_ec9d1050-fb94-427d-beb1-360161dff074"
      unitRef="usd">1251000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="iac1513c3d43246f1b5c60fafb01a44d5_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzIzLTEtMS0xLTU4MDgz_4d91d2c2-40e8-4039-85a4-52eda2434395"
      unitRef="shares">66767000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="iac1513c3d43246f1b5c60fafb01a44d5_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzE3LTEtMS0xLTE_0886f3e4-f669-4881-8454-82c87db5ecc6"
      unitRef="usd">105000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i4638a613837a4fdf83d502dbdd3e1e4a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzIzLTUtMS0xLTU4MDkx_aa6a5f1d-d207-407d-b2e4-283cb3150686"
      unitRef="shares">0</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i4638a613837a4fdf83d502dbdd3e1e4a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzE3LTMtMS0xLTE_a340c4e3-e355-4aa8-b1a9-ad751d5036af"
      unitRef="usd">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i9a78c64b32eb4629a13683707f907e8f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzIzLTktMS0xLTU4MDk5_792d44d1-9ef6-4771-85a2-0f314d063cae"
      unitRef="shares">0</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i9a78c64b32eb4629a13683707f907e8f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzE3LTUtMS0xLTE_244e0b85-8173-4e8f-a85d-dde0163c256b"
      unitRef="usd">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i9b3d751e3eef4f1d96905ca0965311aa_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzE3LTctMS0xLTE_75fb5de2-b520-4e80-a1cd-ef1b13c61288"
      unitRef="usd">367153000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="if543541106e6409794ccc69919421d4e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzE3LTktMS0xLTE_aaf5de8c-d5fb-4718-9db6-9a5441b523fe"
      unitRef="usd">-27000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i0a84d117b5fe4298819f8ef77b446044_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzE3LTExLTEtMS0x_6ce1589b-74f5-4ae2-a553-7e9ee0a807a9"
      unitRef="usd">-186977000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ic0b5bb5281904fd1a8a5c7b96d208451_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzE3LTEzLTEtMS0x_7077d2dd-1fc3-4ff9-a356-1debaa81ce40"
      unitRef="usd">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDMvZnJhZzphNmQyYzFkODYwM2Q0NTQ2OTM1NzIwM2Q2NDM4Y2VkYS90YWJsZTo4MTVkNTgxMzUwMDI0NGU2ODU3OTA3ODcxMWUzMGQ0Yi90YWJsZXJhbmdlOjgxNWQ1ODEzNTAwMjQ0ZTY4NTc5MDc4NzExZTMwZDRiXzE3LTE1LTEtMS0x_a4685351-cfd5-4732-a6c9-05a668950d8f"
      unitRef="usd">180254000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzM3NTc0_ca6e23e3-b77d-4a83-bf26-014dff8e4c8b">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Note 1. Overview and Summary of Significant Accounting Policies&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Overview of Business&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;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:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Organization&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Telos Corporation, together with its subsidiaries, (the &#x201c;Company&#x201d; or &#x201c;Telos&#x201d; or &#x201c;We&#x201d;), a Maryland corporation, is a leading provider of cyber, cloud and enterprise security solutions for the world's most security-conscious organizations. We own all of the issued and outstanding share capital of Xacta Corporation, a subsidiary that develops, markets and sells government-validated secure enterprise solutions to government and commercial customers. We also own all of the issued and outstanding share capital of Ubiquity.com, Inc., a holding company for Xacta Corporation. We hold a 100% ownership interest in Telos Identity Management Solutions, LLC (&#x201c;Telos ID&#x201d;), Teloworks, Inc. (&#x201c;Teloworks&#x201d;) and Telos APAC Pte. Ltd. ("Telos APAC").&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November&#160;12, 2020, we amended our charter to effect an approximate&#160;0.794-for-1&#160;reverse stock split with respect to our common stock. The par value and the authorized shares of the common stock were not adjusted as a result of the reverse stock split. The accompanying consolidated financial statements and notes to the consolidated financial statements give retroactive effect to the reverse stock split for all periods presented.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Public Offering of Common Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November&#160;19, 2020, we completed our initial public offering of shares of our common stock. We issued 17.2 million shares of our common stock at a price of $17.00 per share, generating net proceeds of approximately $272.8 million.&#160; We used approximately $108.9 million of the net proceeds in connection with the conversion of our outstanding shares of Exchangeable Redeemable Preferred Stock into the right to receive cash and shares of our common stock, $30.0 million to fund our acquisition of the outstanding Class&#160;B Units of Telos ID, and $21.0 million to repay our outstanding senior term loan and subordinated debt.&#160; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April&#160;6, 2021, we completed our follow-on offering of 9.1 million shares of our common stock at a price of $33.00 per share, including 7.0&#160;million shares of common stock held by certain existing stockholders of Telos. The offering generated approximately $64.3 million of net proceeds to Telos. We did not receive any proceeds from the shares of common stock sold by the selling stockholders. On April&#160;19, 2021, we used approximately $1.3 million of the net proceeds to repurchase 39,682 shares of our common stock and $26.9 million to repurchase the warrants to purchase 900,970 shares of our common stock owned by certain affiliates of EnCap.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have used and intend to continue using the remaining net proceeds for general corporate purposes, including working capital, sales and marketing activities, research and development, general and administrative matters and capital expenditures. We also may use a portion of the net proceeds to acquire complementary businesses, products, services, or technologies. The amounts and timing of our actual use of the net proceeds will vary depending on numerous factors.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Principles of Consolidation and Reporting&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying consolidated financial statements include the accounts of Telos and its subsidiaries, including Ubiquity.com, Inc., Xacta Corporation, Telos ID, Teloworks, and Telos APAC, all of whose issued and outstanding share capital is wholly-owned directly and indirectly by the Telos Corporation. All intercompany transactions have been eliminated in consolidation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In preparing these consolidated financial statements, we have evaluated subsequent events through the date that these consolidated financial statements were issued.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Basis of Comparison&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certain prior-period amounts have been reclassified to conform to the current period presentation. In the current period, we have reclassified and presented intangible assets separately from our property and equipment line item. The reclassification had no impact on our total assets or liabilities nor on our net (loss) income or stockholders' equity.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Revision of Prior Quarterly 2021 Financial Statements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In connection with the preparation of the consolidated financial statements, the Company recorded certain revisions related to previously issued unaudited condensed consolidated financial statements. The Company considered the errors identified in accordance with the SEC's Staff Accounting Bulletin No. 99 and determined the impact was immaterial to the previously issued consolidated interim financial statements. Nonetheless, the Company has revised the previously reported interim financial information for the quarterly periods ended March 31, 2021, June 30, 2021, and September 30, 2021. There is no cumulative impact to the Company&#x2019;s full-year 2021 financial statements as a result of these revisions. Revisions to amounts in previously filed quarterly financial statements are reflected in &lt;/span&gt;&lt;span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;&lt;a href="#i8e34b731fff54b69b9e274b8895e4a4f_2091" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Note 20&lt;/a&gt;&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; - Revision of Interim Financial Statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating segments are defined as components of an enterprise for which separate discrete financial information is available and evaluated regularly by the chief operating decision maker (&#x201c;CODM&#x201d;), who the Company has identified is the Chief Executive Officer, in deciding how to allocate resources and assess performance. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the fourth quarter of 2021, we reorganized our internal management reporting structure and the financial results evaluated by our CODM; therefore, we changed our operating segments to align with how our CODM currently oversees the business, allocates resources and evaluates operating performance. As a result of the segment reorganization, we reported two reportable and operating segments: Security Solutions and Secure Networks. Our Security Solutions segment focuses on the Company's cybersecurity, cloud and identity solutions. Our Secure Networks segment provides offerings for enterprise security. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Prior period segment information has been recast to reflect the change (see &lt;/span&gt;&lt;span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;&lt;a href="#i8e34b731fff54b69b9e274b8895e4a4f_1975" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Note &lt;/a&gt;&lt;a href="#i8e34b731fff54b69b9e274b8895e4a4f_1975" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;1&lt;/a&gt;&lt;a href="#i8e34b731fff54b69b9e274b8895e4a4f_1975" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;7&lt;/a&gt;&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; - Segment Information for further information). The segment reorganization had no impact on previously reported consolidated financial results. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Summary of Significant Accounting Policies&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. We base our estimates on historical experience, current available information and various other assumptions that we believe are reasonable under the circumstances. Significant estimates and assumptions used in the preparation of our consolidated financial statements include revenue recognition, allowance for doubtful accounts, allowance for inventory obsolescence, the valuation allowance for deferred tax assets, income taxes, contingencies and litigation, potential impairments of goodwill and estimated pension-related costs for our foreign subsidiaries.&#160; Actual results could differ from those estimates.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Risks and Uncertainties&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Financial instruments that subject us to concentrations of credit risk consist primarily of cash and cash equivalents, and accounts receivable. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In accordance with ASC 275-10-50-16, in consideration that such a large amount of our working capital and total assets are held in cash and cash equivalents, we have considered that the balances held in our various treasury accounts may exceed federally insured limits as of the date of the financial statements. Due to the financial strength of the financial institution where the accounts are held, we do not believe that this concentration risk makes it reasonably possible that a near-term severe impact risk of loss will occur.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's receivables are primarily due from the U.S. government, or from prime contractors on which we are subcontractors and the end customer is the U.S. government, and are generally considered collectable from the perspective of the customer's ability to pay. The Company does not have a material credit risk exposure. We maintain an allowance for doubtful accounts for estimated potential credit losses.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The COVID-19 pandemic has caused significant disruption to national and global economies and government activities. This highly contagious disease has spread to most of the countries in the world and throughout the United States, creating a serious impact on customers, workforce, and suppliers, disrupting economies and financial markets, and leading to a world-wide economic downturn. COVID-19, together with subsequently reported variants of this strain, have caused a disruption of the normal operations of many businesses, including the temporary closure or scale-back of business operations and/or the imposition of either quarantine or remote work or meeting requirements for employees, either by government order or on a voluntary basis. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The COVID-19 pandemic has impacted our estimates and assumptions and will continue to do so. The pandemic may adversely affect our customers&#x2019; ability to perform their missions and is in many cases disrupting their operations. Given the uncertainties around the pandemic, including its duration and potential future disruptions to our supply chain or workforce, it is reasonably possible that the actual impact of the pandemic on our contract costs could be materially different than our current estimates. It may also impact the ability of our subcontractors, partners, and suppliers to operate and fulfill their contractual obligations, and result in an increase in their costs and cause delays in performance. These supply chain effects, and the direct effect of the virus and the disruption on our operations, may negatively impact both our ability to meet customer demand and our revenue and profit margins. Our employees, in some cases, are working remotely due either to safety concerns or to customer-imposed limitations and relying on various technologies to perform their functions. We could see delays or changes in customer demand, particularly if government funding priorities change. Additionally, the disruption and volatility in the global and domestic capital markets may increase the cost of capital and limit our ability to access capital. Both the health and economic aspects of COVID-19 are highly fluid and the future course of each is uncertain.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We consider all highly liquid investments with an original maturity of three months or less at the date of purchase to be cash equivalents. Our cash management program utilizes zero balance accounts. Accordingly, all book overdraft balances have been reclassified to accounts payable and other accrued liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Accounts Receivable&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable are stated at the invoiced amount, less an allowance for doubtful accounts. Collectability of accounts receivable is regularly reviewed based upon managements&#x2019; knowledge of the specific circumstances related to overdue balances. The allowance for doubtful accounts is adjusted based on such evaluation. Accounts receivable balances are written off against the allowance when management deems the balances uncollectible.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Receivables include billed and unbilled receivables. Unbilled receivables, substantially all of which are expected to be billed and collected within one year, are stated at their estimated realization value and consist of costs and fees billable on contract completion or the occurrence of a specific event, other than the passage of time. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Inventories&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories are stated at the lower of cost or net realizable value, where cost is determined using the weighted-average method. Substantially all inventories consist of purchased customer off-the-shelf hardware and software, and component computer parts used in connection with system integration services that we perform. Provisions have been made to reduce all obsolete, slow-moving or unsaleable inventories to their net realizable values. This provision is based on our overall obsolescence experience and our assessment of future inventory requirements. This charge is taken primarily due to the age of the specific inventory and the significant additional costs that would be necessary to upgrade to current standards as well as the lack of forecasted sales for such inventory in the near future. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Gross inventory was $2.1 million and $4.2 million at December&#160;31, 2021 and 2020, respectively. As of December&#160;31, 2021, it is management&#x2019;s judgment that we have fully provided for any potential inventory obsolescence.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of the allowance for inventory obsolescence are set forth below (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.752%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.641%"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance&lt;br/&gt;Beginning of&lt;br/&gt;Year&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Additions Charge to&lt;br/&gt;Costs and Expense&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Recoveries&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance&lt;br/&gt;End of&lt;br/&gt;Year&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year Ended December 31, 2021&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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;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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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;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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;861&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year Ended December 31, 2020&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;860&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(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;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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8)&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;851&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year Ended December 31, 2019&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;520&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;376&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(36)&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;860&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Property and Equipment&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment are recorded at cost. Depreciation is provided using the straight-line method at rates based on the estimated useful lives of the individual assets or classes of assets as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.900%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.900%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Furniture and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3-5&#160;&#160; Years&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Leasehold improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lesser of life of lease or useful life of asset&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment under finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lesser of life of lease or useful life of asset&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Leased property meeting certain criteria is capitalized at the present value of the related minimum lease payments. Amortization of property and equipment under finance leases is computed using the straight-line method over the lesser of the term of the related lease and the useful life of the related asset.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Upon sale or retirement of property and equipment, the costs and related accumulated depreciation are eliminated from the accounts and any gain or loss on such disposition is reflected in the consolidated statements of operations. For the years ended December&#160;31, 2021, 2020, and 2019, such amounts are negligible. Expenditures for repairs and maintenance are charged to operations as incurred.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-lived assets, including property and equipment, are reviewed for impairment whenever circumstances indicate that the carrying amount of the asset exceeds its estimated fair value. Considerable management judgment is necessary to estimate its fair value. Accordingly, actual results could differ from such estimates. No events have been identified that caused an evaluation of the recoverability of long-lived assets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Depreciation and amortization expenses related to property and equipment, including property and equipment under finance leases was $3.1 million, $2.9 million, and $2.5 million for the years ended December&#160;31, 2021, 2020, and 2019, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Software Development Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We account for development costs of software in accordance with ASC Topic 985-20, &#x201c;Software &#x2013; Costs of Software to be Sold, Leased, or Marketed&#x201d; and ASC Topic 350-40 &#x201c;Internal Use Software&#x201d;, depending on the intended use of the software being developed. Software development costs are capitalized and amortized over the estimated product life on a straight-line basis. The Company analyzes the net realizable value of capitalized software development costs on at least an annual basis and has determined that there is no indication of impairment of the capitalized software development costs as forecasted future sales are adequate to support the carrying values.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Advertising Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Advertising costs, which are expensed and included in sales and marketing expense when incurred, were $1.8 million, $1.0 million, and $0.4 million for the years ended December 31, 2021, 2020 and 2019, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Income Taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We account for income taxes in accordance with ASC 740, &#x201c;Income Taxes.&#x201d; Under ASC 740, deferred tax assets and liabilities are recognized for the estimated future tax consequences of temporary differences and income tax credits. Deferred tax assets and liabilities are measured by applying enacted statutory tax rates that are applicable to the future years in which deferred tax assets or liabilities are expected to be settled or realized for differences between the financial statement carrying amounts and the tax bases of existing assets and liabilities. Any change in tax rates on deferred tax assets and liabilities is recognized in net income in the period in which the tax rate change is enacted. We record a valuation allowance that reduces deferred tax assets when it is &#x201c;more likely than not&#x201d; that deferred tax assets will not be realized. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We follow the provisions of ASC 740 related to accounting for uncertainty in income taxes. The accounting estimates related to liabilities for uncertain tax positions require us to make judgments regarding the sustainability of each uncertain tax position based on its technical merits. If we determine it is more likely than not that a tax position will be sustained based on its technical merits, we record the impact of the position in our consolidated financial statements at the largest amount that is greater than fifty percent likely of being realized upon ultimate settlement. These estimates are updated at each reporting date based on the facts, circumstances and information available. We are also required to assess at each reporting date whether it is reasonably possible that any significant increases or decreases to our unrecognized tax benefits will occur during the next 12 months. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Business Combinations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Acquisitions were accounted for under U.S. GAAP using the acquisition method in accordance with ASC 805, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Business Combinations&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;. The Company allocates the fair value of purchase consideration to the tangible and intangible assets acquired and liabilities assumed based on their estimated fair values. The excess of the fair value of purchase consideration over the values of these identifiable assets and liabilities, if any, is recorded as goodwill.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accounting for business combinations requires management to make judgments and estimates of the fair value of assets acquired, including the identification and valuation of intangible assets, as well as liabilities and contingencies assumed. Such judgments and estimates directly impact the amount of goodwill recognized in connection with an acquisition. Estimating the fair value of acquired assets and assumed liabilities, including intangibles, requires judgment about expected future cash flows, weighted-average cost of capital, discount rates and expected long-term growth rates.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Goodwill and Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill is recorded for the difference between the aggregate consideration paid for an acquisition and the fair value of net tangible and intangible assets acquired and liabilities assumed. Goodwill is not amortized, but rather tested for potential impairment. We evaluate the impairment of goodwill in accordance with ASC 350, which requires goodwill and indefinite-lived intangible assets to be assessed on at least an annual basis, as of December 31 each year, for impairment using a fair value basis. Between annual evaluations, if events occur or circumstances change that would more likely than not reduce the fair value of the reporting unit below its carrying amount, then impairment must be evaluated. Such circumstances could include, but are not limited to: (1) a significant adverse change in legal factors or business climate, or (2) a loss of key contracts or customers.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We may elect to utilize a qualitative assessment to evaluate whether it is more likely than not that the fair value of a reporting unit or indefinite-lived intangible asset is less than its carrying value, and if so, we perform a quantitative test. We compare the carrying value of each reporting unit to its estimated fair value, and if the fair value is determined to be less than the carrying value, we recognize an impairment loss for the difference.  The evaluation is based on the estimation of the fair values at the reporting unit level in comparison to the reporting unit&#x2019;s net asset carrying values. Our discounted cash flows required management&#x2019;s judgment with respect to forecasted revenue streams and operating margins, capital expenditures and the selection and use of an appropriate discount rate. We utilized the weighted average cost of capital as derived by certain assumptions specific to our facts and circumstances as the discount rate. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's goodwill is amortized and deducted over a 15-year period for tax purposes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We completed the required annual impairment test of goodwill for all reporting units as of December 31, 2021, resulting in no impairments. The fair value of our reporting units exceeded their carrying value. See &lt;/span&gt;&lt;span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;&lt;a href="#i8e34b731fff54b69b9e274b8895e4a4f_121" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Note 5&lt;/a&gt;&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; - Goodwill for additional information.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets with finite lives are carried at cost, less accumulated amortization. Amortization is computed using the method that best reflects how their economic benefits are utilized or, if a pattern of economic benefits cannot be reliably determined, on a straight-line basis over their estimated useful lives. Intangible assets with finite lives are assessed for impairment whenever events or changes in circumstances indicate that the carrying value may not be recoverable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Stock-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under our 2016 Omnibus Long-Term Incentive Plan, as amended (the &#x201c;2016 LTIP&#x201d;), we have the ability to award restricted stock units with time-based vesting (&#x201c;Service-Based RSUs&#x201d;) and restricted stock units with performance-based vesting (&#x201c;Performance-Based RSUs&#x201d;) to senior executives, directors, employees and other eligible service providers. Under the 2016 LTIP, our Board of Directors or, by designation of authority, the Management Development and Compensation Committee of our Board of Directors has the discretion to establish the terms, conditions and criteria of the various awards, including the weighing and vesting schedule of Service-Based RSUs and the performance conditions applicable to the Performance-Based RSUs, including the achievement of certain financial performance criteria or price targets for our common stock. Upon vesting, Service-Based RSUs and Performance-Based RSUs will be settled in the Company&#x2019;s common stock.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;padding-left:18pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Service-Based RSUs&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; granted to eligible employees as an incentive generally may vest in installments over a period of up to three years from the date of grant. Service-Based RSUs granted to senior executives in 2021 vest in &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEwOTk1MTE3NTkyNzY_3b8f4649-a003-48b9-9d91-80e0b2e90e73"&gt;three&lt;/span&gt; annual installments from the date of grant, with 30% vesting on the first and second anniversaries and 40% vesting on the third anniversary. The grant date fair value per share is equal to the closing stock price on the date of grant.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;padding-left:18pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Performance-Based RSUs&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; may vest upon the achievement of a defined performance target or at the end of the defined performance period from the date of grant, whichever initially occurs. The grant date fair value per share of these Performance-Based RSUs is equal to the closing stock price on the date of the grant or the fair value of the award on the grant date as determined through an independent valuation for Performance-Based RSUs with market condition. Performance-Based RSUs may vest upon the achievement of certain price targets for the Company&#x2019;s common stock anytime over a three-year period from the date of grant. In order to reflect the substantive characteristics of these market condition awards, the Company employs a Monte Carlo simulation valuation model to calculate the grant date fair value and corresponding requisite service period of the award. Monte Carlo approaches are a class of computational algorithms that rely on repeated random sampling to compute their results. This approach allows the calculation of the value of such awards based on a large number of possible stock price path scenarios.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize these share-based payment transactions when services from the employees are received and recognize a corresponding increase in additional paid-in capital in our consolidated balance sheets, in accordance with ASC 718, "Compensation - Stock Compensation." The measurement objective for these equity awards is the estimated fair value at the date of grant of the equity instruments that we are obligated to issue when employees have rendered the requisite service and satisfied any other conditions necessary to earn the right to benefit from the instruments. The compensation expense for an award is recognized ratably over the requisite service period for the entire award, which is the period during which an employee is required to provide service in exchange for an award. Compensation expense for awards with performance conditions is recognized over the requisite service period if it is probable that the performance condition will be satisfied. &#160;If such performance conditions are not or are no longer considered probable, no compensation expense for these awards is recognized, and any previously recognized expense is reversed. If the performance condition is achieved prior to the completion of the requisite service period, any unrecognized compensation expense will be recognized in the period the performance condition is achieved. Compensation expense for awards with market conditions is recognized over the derived service period, or sooner, if the market condition is achieved. Previously recognized expense for awards with market conditions will never be reversed even if the market conditions are never achieved. We recognize forfeitures of share-based compensation awards as they occur. Share-based compensation expense is recognized as part of the cost of sales and selling, general and administrative expenses in our consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Net Earnings (Loss) per Share&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic net earnings (loss) per share is computed by dividing the net earnings (loss) by the weighted-average number of common shares outstanding for the period, without consideration for potentially dilutive securities. Diluted net earnings (loss) per share is computed by dividing the net earnings (loss) by the weighted-average number of shares of common stock and dilutive common stock equivalents outstanding for the period determined using the treasury-stock and if-converted methods. Dilutive common stock equivalents are comprised of unvested restricted common stock and warrants.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the year ended December&#160;31, 2019, the Class A common basic and diluted net loss per share was $(0.17), the Class A common basic and diluted weighted-average shares were 34,525, the Class B common basic and diluted net loss per share was $(0.17), and the Class B common basic and diluted weighted-average shares were 3,204.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the period of net loss, potentially dilutive securities are not included in the calculation of diluted net (loss) earnings per share because to do so would be anti-dilutive. Potentially dilutive securities are as follows (in common stock equivalent shares, in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" rowspan="2" 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&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:'Times New Roman',sans-serif;font-size:10pt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested restricted stock&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;520&#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="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60&#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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Common stock warrants, exercisable at $1.665/sh.&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;400&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;901&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;920&#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 colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;961&#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 style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Other Comprehensive Income (Loss)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our functional currency is the U.S. Dollar. For one of our wholly-owned subsidiaries, the functional currency is the local currency. For this subsidiary, the translation of its foreign currency into U.S. Dollars is performed for assets and liabilities using current foreign currency exchange rates in effect at the balance sheet date and for revenue and expense accounts using average foreign currency exchange rates during the periods presented. Translation gains and losses are included in stockholders&#x2019; equity (deficit) as a component of accumulated other comprehensive income.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Financial Instruments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We use various methods and assumptions to estimate the fair value of our financial instruments. Due to their short-term nature, the carrying value of cash and cash equivalents, accounts receivable and accounts payable approximates fair value. The fair value of long-term debt is based on the discounted cash flows for similar term borrowings based on market prices for the same or similar issues.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fair value estimates are made at a specific point in time, based on relevant market information. These estimates are subjective in nature and involve matters of judgment and therefore cannot be determined with precision. Changes in assumptions could significantly affect the estimates.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Recent Accounting Pronouncements Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2016, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") 2016-13,&#160;&#x201c;Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments,&#x201d; which introduces new guidance for estimating credit losses on certain types of financial instruments based on expected losses and the timing of the recognition of such losses. This standard was effective for interim and annual reporting periods beginning after December 15, 2019, which made this standard effective for us on January 1, 2020. The adoption of this ASU did not have a material impact on our consolidated financial position, results of operations and cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In January 2017, the FASB issued ASU 2017-4, "Intangibles - Goodwill and Other (Topic 350): Simplifying the Test for Goodwill Impairment," which eliminates Step 2 of the current goodwill impairment test that requires a hypothetical purchase price allocation to measure goodwill impairment. A goodwill impairment loss instead is measured at the amount by which a reporting unit's carrying value exceeds its fair value, not to exceed the recorded amount of goodwill. The provisions of this ASU were effective for years beginning after December 15, 2019, which made this standard effective for us on January 1, 2020. The adoption of this ASU did not have a material impact on our consolidated financial position, results of operations and cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In August 2018, the FASB issued ASU 2018-13, &#x201c;Fair Value Measurement (Topic 820): Disclosure Framework &#x2013; Changes to the Disclosure Requirements for Fair Value Measurement&#x201d;, which modifies the disclosure requirement for fair value measurement under ASC 820 to improve the effectiveness of such disclosures. Those modifications include the removal and addition of disclosure requirements as well as clarifying specific disclosure requirements.&#160; This standard was effective for interim and annual reporting periods beginning after December 15, 2019, which made this standard effective for us on January 1, 2020. The adoption of this ASU did not have a material impact on our consolidated financial position, results of operations and cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In August 2018, the FASB issued ASU 2018&#x2011;15, &#x201c;Intangibles - Goodwill and Other - Internal-Use Software (Subtopic 350-40): Customer&#x2019;s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract,&#x201d; which aligns the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software.&#160; This standard was effective for interim and annual reporting periods beginning after December 15, 2019, which made this standard effective for us on January 1, 2020. The adoption of this ASU did not have a material impact on our consolidated financial position, results of operations and cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2019, the FASB issued ASU No. 2019-12, &#x201c;Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes,&#x201d; which simplifies the accounting for income taxes by removing certain exceptions to the general principles in Topic 740. The ASU also clarifies and amends existing guidance to improve consistent application. This standard was effective for reporting periods beginning after December 15, 2020, which made this standard effective for us on January 1, 2021. The adoption of this ASU did not have a material impact on our consolidated financial position, results of operations and cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In March 2020, the FASB issued ASU No. 2020-04, &#x201c;Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting,&#x201d; which provides optional expedients and exceptions for a limited period of time to ease the potential burden in accounting for contracts, hedging relationship and other transactions that reference LIBOR or another reference rate expected to be discontinued because of reference rate reform. This amendment is effective for all entities as of March 12, 2020 through December 31, 2022. The adoption of this ASU did not have a material impact on our consolidated financial position, results of operations or cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Recent Accounting Pronouncements Not Yet Adopted&lt;/span&gt;&lt;/div&gt;</us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock>
    <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired
      contextRef="iac9555ae69f940878a0a0cd59b27fecb_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzY1Ng_71f1854b-6dae-49bf-8151-61de5161a523"
      unitRef="number">1</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i8cd9cadd3f164e57806edf9cf2816170_D20201112-20201112"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEwOTk1MTE2NjU4ODE_2e3fd851-9780-461c-88af-c225bb16f199"
      unitRef="number">0.794</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="ia588acf5040f49fcb176f35d99afaa70_D20201119-20201119"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzkzNA_a765f61a-edb4-418d-b8f3-66f0013a1c0a"
      unitRef="shares">17200000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:SharePrice
      contextRef="i582ad93ec7ca4d908fd7ab1e67cc4791_I20201119"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzk3OA_5457a19d-0001-431b-9a33-51535cfabeda"
      unitRef="usdPerShare">17.00</us-gaap:SharePrice>
    <us-gaap:ProceedsFromIssuanceInitialPublicOffering
      contextRef="ia588acf5040f49fcb176f35d99afaa70_D20201119-20201119"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEwMzM_58dab29e-c984-42bf-98c3-a259dbdee712"
      unitRef="usd">272800000</us-gaap:ProceedsFromIssuanceInitialPublicOffering>
    <us-gaap:PaymentsForRepurchaseOfConvertiblePreferredStock
      contextRef="i195bcb1e865649ab97ab6dfe1a7f63c1_D20201119-20201119"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEwNjA_b92bae80-8355-4c6e-953d-1923c47d2550"
      unitRef="usd">108900000</us-gaap:PaymentsForRepurchaseOfConvertiblePreferredStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="ie2b4a1f427f1484eab1c6db85e3d64b6_D20201119-20201119"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEyNDk_884a6eac-df1f-4c29-85c0-b86cbdd5e392"
      unitRef="usd">30000000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:RepaymentsOfDebt
      contextRef="ia588acf5040f49fcb176f35d99afaa70_D20201119-20201119"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEzMjY_8799c2da-cdf0-4572-900d-2b2ab7e212ba"
      unitRef="usd">21000000</us-gaap:RepaymentsOfDebt>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="i47fa83c78e5148c783fb23b81a347331_D20210406-20210406"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEwOTk1MTE3NTkxMjg_67130c2a-711c-4f1e-8e49-4b1dc4c4b2bf"
      unitRef="shares">9100000</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="ia6a91b87e01544bdab5d57ce3486f6a2_I20210406"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEwOTk1MTE3NTkxMzk_728fc550-d835-43b5-84a7-41735ad36f59"
      unitRef="usdPerShare">33.00</us-gaap:SaleOfStockPricePerShare>
    <tls:SaleOfStockNumberOfSharesIssuedByCertainExistingShareholders
      contextRef="i47fa83c78e5148c783fb23b81a347331_D20210406-20210406"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEwOTk1MTE3NTkxNTQ_8b6c9618-e63d-4ff8-bf0a-542cb094665d"
      unitRef="shares">7000000</tls:SaleOfStockNumberOfSharesIssuedByCertainExistingShareholders>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="i47fa83c78e5148c783fb23b81a347331_D20210406-20210406"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEwOTk1MTE3NTkxNzk_4eaa38d5-6d2a-485c-8d88-53e074fe3a2e"
      unitRef="usd">64300000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i92f37feb042d4c86aaffd74c062228c5_D20210419-20210419"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEwOTk1MTE3NTkyMTM_a99c7260-6a05-4595-bdcb-a8128ea11c1c"
      unitRef="usd">1300000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i92f37feb042d4c86aaffd74c062228c5_D20210419-20210419"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEwOTk1MTE3NTkyMjU_8f6e1e71-5264-4515-93b7-003d9283eb8f"
      unitRef="shares">39682</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:PaymentsForRepurchaseOfWarrants
      contextRef="i92f37feb042d4c86aaffd74c062228c5_D20210419-20210419"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEwOTk1MTE3NTkyNDE_5dbed820-e292-4062-84f9-f322063bd76a"
      unitRef="usd">26900000</us-gaap:PaymentsForRepurchaseOfWarrants>
    <tls:WarrantRepurchasedDuringPeriodShares
      contextRef="i92f37feb042d4c86aaffd74c062228c5_D20210419-20210419"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEwOTk1MTE3NTkyNTQ_4e974459-57ce-4fb6-9be3-a108f73da4e6"
      unitRef="shares">900970</tls:WarrantRepurchasedDuringPeriodShares>
    <us-gaap:ConsolidationPolicyTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzM3NTky_0b99abf0-5128-4bb0-9b0f-972b5dca607c">&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying consolidated financial statements include the accounts of Telos and its subsidiaries, including Ubiquity.com, Inc., Xacta Corporation, Telos ID, Teloworks, and Telos APAC, all of whose issued and outstanding share capital is wholly-owned directly and indirectly by the Telos Corporation. All intercompany transactions have been eliminated in consolidation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In preparing these consolidated financial statements, we have evaluated subsequent events through the date that these consolidated financial statements were issued.&lt;/span&gt;&lt;/div&gt;</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzM3NTc1_deed8b28-c87a-4807-be7d-e1fc8d928bc0">&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating segments are defined as components of an enterprise for which separate discrete financial information is available and evaluated regularly by the chief operating decision maker (&#x201c;CODM&#x201d;), who the Company has identified is the Chief Executive Officer, in deciding how to allocate resources and assess performance. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the fourth quarter of 2021, we reorganized our internal management reporting structure and the financial results evaluated by our CODM; therefore, we changed our operating segments to align with how our CODM currently oversees the business, allocates resources and evaluates operating performance. As a result of the segment reorganization, we reported two reportable and operating segments: Security Solutions and Secure Networks. Our Security Solutions segment focuses on the Company's cybersecurity, cloud and identity solutions. Our Secure Networks segment provides offerings for enterprise security. &lt;/span&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Prior period segment information has been recast to reflect the change (see &lt;/span&gt;&lt;span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;&lt;a href="#i8e34b731fff54b69b9e274b8895e4a4f_1975" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Note &lt;/a&gt;&lt;a href="#i8e34b731fff54b69b9e274b8895e4a4f_1975" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;1&lt;/a&gt;&lt;a href="#i8e34b731fff54b69b9e274b8895e4a4f_1975" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;7&lt;/a&gt;&lt;/span&gt; - Segment Information for further information). The segment reorganization had no impact on previously reported consolidated financial results.We measure each segment's profitability based on gross profit. We account for inter-segment sales and transfers as if the sales or transfers were to third parties, that is, at current market prices. Interest income, interest expense, other income and expense items and income taxes, as reported in the consolidated financial statements, are not part of the segment profitability measure, and are primarily recorded at the corporate level. Under U.S. government Cost Accounting Standards, indirect costs including depreciation and amortization expense are collected in numerous indirect cost pools which are then collectively allocated out to the Company&#x2019;s reportable segments based on a representative causal or beneficial relationship of the costs in the pool to the costs in the base. While depreciation and amortization expense is a component of the allocated costs, the allocation process precludes depreciation and amortization expense from being specifically identified by the Company&#x2019;s individual reportable and operating segments. For this reason, the non-cash items by reportable and operating segment have not been reported above.Management does not utilize total assets by segment to evaluate segment performance or allocate resources. As a result, assets are not tracked by segment and therefore, total assets by segment are not disclosed.</us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="ib6b141adee7b44e39a6721b2e7a8cb58_D20211001-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzMyOTg1MzUwNDM1NDM_38568c43-9145-4242-a4a1-a63fa67a7db2"
      unitRef="segment">2</us-gaap:NumberOfOperatingSegments>
    <us-gaap:NumberOfReportableSegments
      contextRef="ib6b141adee7b44e39a6721b2e7a8cb58_D20211001-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzMyOTg1MzUwNDM1NDM_e63b85c2-03eb-4349-b4e0-7ceb33d1d4e9"
      unitRef="segment">2</us-gaap:NumberOfReportableSegments>
    <us-gaap:UseOfEstimates
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzM3NTg1_1e2c3886-75ba-480c-a4cd-fc60c6d8afeb">The preparation of consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. We base our estimates on historical experience, current available information and various other assumptions that we believe are reasonable under the circumstances. Significant estimates and assumptions used in the preparation of our consolidated financial statements include revenue recognition, allowance for doubtful accounts, allowance for inventory obsolescence, the valuation allowance for deferred tax assets, income taxes, contingencies and litigation, potential impairments of goodwill and estimated pension-related costs for our foreign subsidiaries.&#160; Actual results could differ from those estimates.</us-gaap:UseOfEstimates>
    <us-gaap:ConcentrationRiskCreditRisk
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzMyOTg1MzUwNDM1NDE_d19db9ab-6063-44c3-839a-e22673613946">&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Financial instruments that subject us to concentrations of credit risk consist primarily of cash and cash equivalents, and accounts receivable. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In accordance with ASC 275-10-50-16, in consideration that such a large amount of our working capital and total assets are held in cash and cash equivalents, we have considered that the balances held in our various treasury accounts may exceed federally insured limits as of the date of the financial statements. Due to the financial strength of the financial institution where the accounts are held, we do not believe that this concentration risk makes it reasonably possible that a near-term severe impact risk of loss will occur.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's receivables are primarily due from the U.S. government, or from prime contractors on which we are subcontractors and the end customer is the U.S. government, and are generally considered collectable from the perspective of the customer's ability to pay. The Company does not have a material credit risk exposure. We maintain an allowance for doubtful accounts for estimated potential credit losses.&lt;/span&gt;&lt;/div&gt;</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzM3NTg2_3eb13152-d371-49ea-9285-3a72a7151a12">We consider all highly liquid investments with an original maturity of three months or less at the date of purchase to be cash equivalents. Our cash management program utilizes zero balance accounts. Accordingly, all book overdraft balances have been reclassified to accounts payable and other accrued liabilities.</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:TradeAndOtherAccountsReceivablePolicy
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzM3NTk1_40a6071d-9fe4-4e74-b353-f17c3d08710f">Accounts receivable are stated at the invoiced amount, less an allowance for doubtful accounts. Collectability of accounts receivable is regularly reviewed based upon managements&#x2019; knowledge of the specific circumstances related to overdue balances. The allowance for doubtful accounts is adjusted based on such evaluation. Accounts receivable balances are written off against the allowance when management deems the balances uncollectible.Receivables include billed and unbilled receivables. Unbilled receivables, substantially all of which are expected to be billed and collected within one year, are stated at their estimated realization value and consist of costs and fees billable on contract completion or the occurrence of a specific event, other than the passage of time.</us-gaap:TradeAndOtherAccountsReceivablePolicy>
    <us-gaap:InventoryPolicyTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzM3NTgw_865de651-7b30-4df5-a457-5a5d97eab24e">Inventories are stated at the lower of cost or net realizable value, where cost is determined using the weighted-average method. Substantially all inventories consist of purchased customer off-the-shelf hardware and software, and component computer parts used in connection with system integration services that we perform. Provisions have been made to reduce all obsolete, slow-moving or unsaleable inventories to their net realizable values. This provision is based on our overall obsolescence experience and our assessment of future inventory requirements. This charge is taken primarily due to the age of the specific inventory and the significant additional costs that would be necessary to upgrade to current standards as well as the lack of forecasted sales for such inventory in the near future.</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:InventoryGross
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzE5ODE4_71317b52-2630-4456-a8fe-0ab53eb6ca70"
      unitRef="usd">2100000</us-gaap:InventoryGross>
    <us-gaap:InventoryGross
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzE5ODI1_ad6c7fae-70e5-45c3-a2ee-b2e2477ef516"
      unitRef="usd">4200000</us-gaap:InventoryGross>
    <tls:ScheduleOfObsolescentInventoryTableTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzM3NTg3_b696a3ba-c8f4-48e6-9839-0dc4a9c6e90e">&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of the allowance for inventory obsolescence are set forth below (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.752%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.641%"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance&lt;br/&gt;Beginning of&lt;br/&gt;Year&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Additions Charge to&lt;br/&gt;Costs and Expense&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Recoveries&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance&lt;br/&gt;End of&lt;br/&gt;Year&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year Ended December 31, 2021&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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;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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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;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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;861&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year Ended December 31, 2020&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;860&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(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;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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8)&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;851&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year Ended December 31, 2019&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;520&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;376&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(36)&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;860&#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;/table&gt;&lt;/div&gt;</tls:ScheduleOfObsolescentInventoryTableTextBlock>
    <us-gaap:InventoryValuationReserves
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90YWJsZToxYmY0YWEzOTQ1ZTg0NjFiYjk2NDBjODdiZGU3MDMyYS90YWJsZXJhbmdlOjFiZjRhYTM5NDVlODQ2MWJiOTY0MGM4N2JkZTcwMzJhXzItMS0xLTEtMQ_33208d76-2762-47b7-b23b-c2c5e0762183"
      unitRef="usd">851000</us-gaap:InventoryValuationReserves>
    <tls:InventoryValuationReservesAdditionsChargedToCostsAndExpenses
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90YWJsZToxYmY0YWEzOTQ1ZTg0NjFiYjk2NDBjODdiZGU3MDMyYS90YWJsZXJhbmdlOjFiZjRhYTM5NDVlODQ2MWJiOTY0MGM4N2JkZTcwMzJhXzItMy0xLTEtMQ_1cd33dc8-79c4-417e-ab47-b381cd4afcb5"
      unitRef="usd">10000</tls:InventoryValuationReservesAdditionsChargedToCostsAndExpenses>
    <tls:InventoryValuationReservesRecoveries
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90YWJsZToxYmY0YWEzOTQ1ZTg0NjFiYjk2NDBjODdiZGU3MDMyYS90YWJsZXJhbmdlOjFiZjRhYTM5NDVlODQ2MWJiOTY0MGM4N2JkZTcwMzJhXzItNS0xLTEtMQ_adf4d4e3-4003-45c9-8af0-c880e3933a02"
      unitRef="usd">0</tls:InventoryValuationReservesRecoveries>
    <us-gaap:InventoryValuationReserves
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90YWJsZToxYmY0YWEzOTQ1ZTg0NjFiYjk2NDBjODdiZGU3MDMyYS90YWJsZXJhbmdlOjFiZjRhYTM5NDVlODQ2MWJiOTY0MGM4N2JkZTcwMzJhXzItNy0xLTEtMQ_67029261-6115-47e3-9abf-f527b3be004b"
      unitRef="usd">861000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves
      contextRef="ibd17c1a727e14c3eb048e13fd9d1c173_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90YWJsZToxYmY0YWEzOTQ1ZTg0NjFiYjk2NDBjODdiZGU3MDMyYS90YWJsZXJhbmdlOjFiZjRhYTM5NDVlODQ2MWJiOTY0MGM4N2JkZTcwMzJhXzMtMS0xLTEtMQ_59038f96-b054-4489-aeb3-eae13871c60c"
      unitRef="usd">860000</us-gaap:InventoryValuationReserves>
    <tls:InventoryValuationReservesAdditionsChargedToCostsAndExpenses
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90YWJsZToxYmY0YWEzOTQ1ZTg0NjFiYjk2NDBjODdiZGU3MDMyYS90YWJsZXJhbmdlOjFiZjRhYTM5NDVlODQ2MWJiOTY0MGM4N2JkZTcwMzJhXzMtMy0xLTEtMQ_e30863ea-9271-439d-86ec-a57ed538053a"
      unitRef="usd">-1000</tls:InventoryValuationReservesAdditionsChargedToCostsAndExpenses>
    <tls:InventoryValuationReservesRecoveries
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90YWJsZToxYmY0YWEzOTQ1ZTg0NjFiYjk2NDBjODdiZGU3MDMyYS90YWJsZXJhbmdlOjFiZjRhYTM5NDVlODQ2MWJiOTY0MGM4N2JkZTcwMzJhXzMtNS0xLTEtMQ_4be6ad54-13a2-42aa-8254-4157cdfdb12d"
      unitRef="usd">8000</tls:InventoryValuationReservesRecoveries>
    <us-gaap:InventoryValuationReserves
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90YWJsZToxYmY0YWEzOTQ1ZTg0NjFiYjk2NDBjODdiZGU3MDMyYS90YWJsZXJhbmdlOjFiZjRhYTM5NDVlODQ2MWJiOTY0MGM4N2JkZTcwMzJhXzMtNy0xLTEtMQ_d17f8c7d-b3a3-4d4d-a36a-06e16ba7bb71"
      unitRef="usd">851000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves
      contextRef="iadf4b09fd00b4cc28962e99c48301a62_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90YWJsZToxYmY0YWEzOTQ1ZTg0NjFiYjk2NDBjODdiZGU3MDMyYS90YWJsZXJhbmdlOjFiZjRhYTM5NDVlODQ2MWJiOTY0MGM4N2JkZTcwMzJhXzQtMS0xLTEtMQ_be453978-413b-42d6-909e-998deaa2dc38"
      unitRef="usd">520000</us-gaap:InventoryValuationReserves>
    <tls:InventoryValuationReservesAdditionsChargedToCostsAndExpenses
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90YWJsZToxYmY0YWEzOTQ1ZTg0NjFiYjk2NDBjODdiZGU3MDMyYS90YWJsZXJhbmdlOjFiZjRhYTM5NDVlODQ2MWJiOTY0MGM4N2JkZTcwMzJhXzQtMy0xLTEtMQ_dc403310-79c7-4c77-a5bd-0bacc2e3d8e1"
      unitRef="usd">376000</tls:InventoryValuationReservesAdditionsChargedToCostsAndExpenses>
    <tls:InventoryValuationReservesRecoveries
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90YWJsZToxYmY0YWEzOTQ1ZTg0NjFiYjk2NDBjODdiZGU3MDMyYS90YWJsZXJhbmdlOjFiZjRhYTM5NDVlODQ2MWJiOTY0MGM4N2JkZTcwMzJhXzQtNS0xLTEtMQ_9b5ca7ca-955d-4e67-ae92-36880598b5e9"
      unitRef="usd">36000</tls:InventoryValuationReservesRecoveries>
    <us-gaap:InventoryValuationReserves
      contextRef="ibd17c1a727e14c3eb048e13fd9d1c173_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90YWJsZToxYmY0YWEzOTQ1ZTg0NjFiYjk2NDBjODdiZGU3MDMyYS90YWJsZXJhbmdlOjFiZjRhYTM5NDVlODQ2MWJiOTY0MGM4N2JkZTcwMzJhXzQtNy0xLTEtMQ_3960ddd9-fb16-4aa8-9186-30994450f73f"
      unitRef="usd">860000</us-gaap:InventoryValuationReserves>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzM3NTk2_6659c4e7-a619-4511-bec5-14a96d82a319">&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment are recorded at cost. Depreciation is provided using the straight-line method at rates based on the estimated useful lives of the individual assets or classes of assets as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.900%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.900%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Furniture and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3-5&#160;&#160; Years&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Leasehold improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lesser of life of lease or useful life of asset&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment under finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lesser of life of lease or useful life of asset&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Leased property meeting certain criteria is capitalized at the present value of the related minimum lease payments. Amortization of property and equipment under finance leases is computed using the straight-line method over the lesser of the term of the related lease and the useful life of the related asset.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Upon sale or retirement of property and equipment, the costs and related accumulated depreciation are eliminated from the accounts and any gain or loss on such disposition is reflected in the consolidated statements of operations. For the years ended December&#160;31, 2021, 2020, and 2019, such amounts are negligible. Expenditures for repairs and maintenance are charged to operations as incurred.&lt;/span&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzM3NTg4_7d7d739b-f64b-44fb-b8bd-94b268a10b0f">&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment are recorded at cost. Depreciation is provided using the straight-line method at rates based on the estimated useful lives of the individual assets or classes of assets as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.900%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.900%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Furniture and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3-5&#160;&#160; Years&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Leasehold improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lesser of life of lease or useful life of asset&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment under finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lesser of life of lease or useful life of asset&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="ic36b252cb7324b619baae6af152ef7ef_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90YWJsZToxOWY3ODk3NzFlNDE0MjJlOGMxZWZiM2Y3MGIxYzAyYy90YWJsZXJhbmdlOjE5Zjc4OTc3MWU0MTQyMmU4YzFlZmIzZjcwYjFjMDJjXzAtMS0xLTEtNDg4NDcvdGV4dHJlZ2lvbjoxMDcxZDY4MjliMjM0ZGNiODYwMDUwYjRlNzlkZWZlNF8zMjk4NTM0ODgzMzQ0_c1ab852f-b55c-4876-ad75-0d41d273af11">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="ic302e497fc56411485d9163bb28971ba_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90YWJsZToxOWY3ODk3NzFlNDE0MjJlOGMxZWZiM2Y3MGIxYzAyYy90YWJsZXJhbmdlOjE5Zjc4OTc3MWU0MTQyMmU4YzFlZmIzZjcwYjFjMDJjXzAtMS0xLTEtNDg4NDcvdGV4dHJlZ2lvbjoxMDcxZDY4MjliMjM0ZGNiODYwMDUwYjRlNzlkZWZlNF8zMjk4NTM0ODgzMzQ4_ba23461f-cd58-4835-be99-e9132923963c">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzMyOTg1MzUwNDM1NTQ_442ce598-364e-4167-97e8-3bafe21ac107">Long-lived assets, including property and equipment, are reviewed for impairment whenever circumstances indicate that the carrying amount of the asset exceeds its estimated fair value. Considerable management judgment is necessary to estimate its fair value. Accordingly, actual results could differ from such estimates. No events have been identified that caused an evaluation of the recoverability of long-lived assets.</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:OtherDepreciationAndAmortization
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzIxNTE3_b2c75ac9-ade5-4d5c-8c5e-383aae50e728"
      unitRef="usd">3100000</us-gaap:OtherDepreciationAndAmortization>
    <us-gaap:OtherDepreciationAndAmortization
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzIxNTIx_b7b54ae6-2173-4067-b5bc-bd880fca227b"
      unitRef="usd">2900000</us-gaap:OtherDepreciationAndAmortization>
    <us-gaap:OtherDepreciationAndAmortization
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzIxNTI5_79ced07b-aac2-4db2-b477-2178948343dc"
      unitRef="usd">2500000</us-gaap:OtherDepreciationAndAmortization>
    <us-gaap:ResearchDevelopmentAndComputerSoftwarePolicyTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzM3NTgx_651cfe1e-ba82-4513-bcb1-ede309a1d5a5">We account for development costs of software in accordance with ASC Topic 985-20, &#x201c;Software &#x2013; Costs of Software to be Sold, Leased, or Marketed&#x201d; and ASC Topic 350-40 &#x201c;Internal Use Software&#x201d;, depending on the intended use of the software being developed. Software development costs are capitalized and amortized over the estimated product life on a straight-line basis. The Company analyzes the net realizable value of capitalized software development costs on at least an annual basis and has determined that there is no indication of impairment of the capitalized software development costs as forecasted future sales are adequate to support the carrying values.</us-gaap:ResearchDevelopmentAndComputerSoftwarePolicyTextBlock>
    <us-gaap:AdvertisingCostsPolicyTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzQ5NDc4MDI1MzgyNDM_af358ce2-2a31-4d36-9a6a-a83065ad4a7d">Advertising costs, which are expensed and included in sales and marketing expense when incurred</us-gaap:AdvertisingCostsPolicyTextBlock>
    <us-gaap:AdvertisingExpense
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEwOTk1MTE4Mzk2MDU_294f628b-5d76-4210-9c94-91138080dbda"
      unitRef="usd">1800000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEwOTk1MTE4Mzk2MTQ_bc09962c-8a25-472f-87fd-1380c80a371e"
      unitRef="usd">1000000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEwOTk1MTE4Mzk2MjE_6272aec1-bf83-414b-a637-2f48efa9dbe2"
      unitRef="usd">400000</us-gaap:AdvertisingExpense>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzM3NTgy_bef827a4-91f7-4f55-8210-00e8bf8fd0af">We account for income taxes in accordance with ASC 740, &#x201c;Income Taxes.&#x201d; Under ASC 740, deferred tax assets and liabilities are recognized for the estimated future tax consequences of temporary differences and income tax credits. Deferred tax assets and liabilities are measured by applying enacted statutory tax rates that are applicable to the future years in which deferred tax assets or liabilities are expected to be settled or realized for differences between the financial statement carrying amounts and the tax bases of existing assets and liabilities. Any change in tax rates on deferred tax assets and liabilities is recognized in net income in the period in which the tax rate change is enacted. We record a valuation allowance that reduces deferred tax assets when it is &#x201c;more likely than not&#x201d; that deferred tax assets will not be realized. We follow the provisions of ASC 740 related to accounting for uncertainty in income taxes. The accounting estimates related to liabilities for uncertain tax positions require us to make judgments regarding the sustainability of each uncertain tax position based on its technical merits. If we determine it is more likely than not that a tax position will be sustained based on its technical merits, we record the impact of the position in our consolidated financial statements at the largest amount that is greater than fifty percent likely of being realized upon ultimate settlement. These estimates are updated at each reporting date based on the facts, circumstances and information available. We are also required to assess at each reporting date whether it is reasonably possible that any significant increases or decreases to our unrecognized tax benefits will occur during the next 12 months.</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:BusinessCombinationsPolicy
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzMyOTg1MzUwMjMxMzM_95ead510-8875-4c48-88b9-5b4d9f5facf0">&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Acquisitions were accounted for under U.S. GAAP using the acquisition method in accordance with ASC 805, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Business Combinations&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;. The Company allocates the fair value of purchase consideration to the tangible and intangible assets acquired and liabilities assumed based on their estimated fair values. The excess of the fair value of purchase consideration over the values of these identifiable assets and liabilities, if any, is recorded as goodwill.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accounting for business combinations requires management to make judgments and estimates of the fair value of assets acquired, including the identification and valuation of intangible assets, as well as liabilities and contingencies assumed. Such judgments and estimates directly impact the amount of goodwill recognized in connection with an acquisition. Estimating the fair value of acquired assets and assumed liabilities, including intangibles, requires judgment about expected future cash flows, weighted-average cost of capital, discount rates and expected long-term growth rates.&lt;/span&gt;&lt;/div&gt;</us-gaap:BusinessCombinationsPolicy>
    <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzM3NTgz_eb2650ec-745b-4110-892f-581f3b855c8b">&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill is recorded for the difference between the aggregate consideration paid for an acquisition and the fair value of net tangible and intangible assets acquired and liabilities assumed. Goodwill is not amortized, but rather tested for potential impairment. We evaluate the impairment of goodwill in accordance with ASC 350, which requires goodwill and indefinite-lived intangible assets to be assessed on at least an annual basis, as of December 31 each year, for impairment using a fair value basis. Between annual evaluations, if events occur or circumstances change that would more likely than not reduce the fair value of the reporting unit below its carrying amount, then impairment must be evaluated. Such circumstances could include, but are not limited to: (1) a significant adverse change in legal factors or business climate, or (2) a loss of key contracts or customers.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We may elect to utilize a qualitative assessment to evaluate whether it is more likely than not that the fair value of a reporting unit or indefinite-lived intangible asset is less than its carrying value, and if so, we perform a quantitative test. We compare the carrying value of each reporting unit to its estimated fair value, and if the fair value is determined to be less than the carrying value, we recognize an impairment loss for the difference.  The evaluation is based on the estimation of the fair values at the reporting unit level in comparison to the reporting unit&#x2019;s net asset carrying values. Our discounted cash flows required management&#x2019;s judgment with respect to forecasted revenue streams and operating margins, capital expenditures and the selection and use of an appropriate discount rate. We utilized the weighted average cost of capital as derived by certain assumptions specific to our facts and circumstances as the discount rate. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's goodwill is amortized and deducted over a 15-year period for tax purposes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We completed the required annual impairment test of goodwill for all reporting units as of December 31, 2021, resulting in no impairments. The fair value of our reporting units exceeded their carrying value. See &lt;/span&gt;&lt;span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;&lt;a href="#i8e34b731fff54b69b9e274b8895e4a4f_121" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Note 5&lt;/a&gt;&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; - Goodwill for additional information.&lt;/span&gt;&lt;/div&gt;Intangible assets with finite lives are carried at cost, less accumulated amortization. Amortization is computed using the method that best reflects how their economic benefits are utilized or, if a pattern of economic benefits cannot be reliably determined, on a straight-line basis over their estimated useful lives. Intangible assets with finite lives are assessed for impairment whenever events or changes in circumstances indicate that the carrying value may not be recoverable.</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzMyOTg1MzUwNTQwNzY_59c05416-6ab0-4bea-b2b0-1a47648309df"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzM3NTg5_05943ec3-122c-465e-9025-40e4823e0478">&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under our 2016 Omnibus Long-Term Incentive Plan, as amended (the &#x201c;2016 LTIP&#x201d;), we have the ability to award restricted stock units with time-based vesting (&#x201c;Service-Based RSUs&#x201d;) and restricted stock units with performance-based vesting (&#x201c;Performance-Based RSUs&#x201d;) to senior executives, directors, employees and other eligible service providers. Under the 2016 LTIP, our Board of Directors or, by designation of authority, the Management Development and Compensation Committee of our Board of Directors has the discretion to establish the terms, conditions and criteria of the various awards, including the weighing and vesting schedule of Service-Based RSUs and the performance conditions applicable to the Performance-Based RSUs, including the achievement of certain financial performance criteria or price targets for our common stock. Upon vesting, Service-Based RSUs and Performance-Based RSUs will be settled in the Company&#x2019;s common stock.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;padding-left:18pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Service-Based RSUs&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; granted to eligible employees as an incentive generally may vest in installments over a period of up to three years from the date of grant. Service-Based RSUs granted to senior executives in 2021 vest in &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEwOTk1MTE3NTkyNzY_3b8f4649-a003-48b9-9d91-80e0b2e90e73"&gt;three&lt;/span&gt; annual installments from the date of grant, with 30% vesting on the first and second anniversaries and 40% vesting on the third anniversary. The grant date fair value per share is equal to the closing stock price on the date of grant.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;padding-left:18pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Performance-Based RSUs&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; may vest upon the achievement of a defined performance target or at the end of the defined performance period from the date of grant, whichever initially occurs. The grant date fair value per share of these Performance-Based RSUs is equal to the closing stock price on the date of the grant or the fair value of the award on the grant date as determined through an independent valuation for Performance-Based RSUs with market condition. Performance-Based RSUs may vest upon the achievement of certain price targets for the Company&#x2019;s common stock anytime over a three-year period from the date of grant. In order to reflect the substantive characteristics of these market condition awards, the Company employs a Monte Carlo simulation valuation model to calculate the grant date fair value and corresponding requisite service period of the award. Monte Carlo approaches are a class of computational algorithms that rely on repeated random sampling to compute their results. This approach allows the calculation of the value of such awards based on a large number of possible stock price path scenarios.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize these share-based payment transactions when services from the employees are received and recognize a corresponding increase in additional paid-in capital in our consolidated balance sheets, in accordance with ASC 718, "Compensation - Stock Compensation." The measurement objective for these equity awards is the estimated fair value at the date of grant of the equity instruments that we are obligated to issue when employees have rendered the requisite service and satisfied any other conditions necessary to earn the right to benefit from the instruments. The compensation expense for an award is recognized ratably over the requisite service period for the entire award, which is the period during which an employee is required to provide service in exchange for an award. Compensation expense for awards with performance conditions is recognized over the requisite service period if it is probable that the performance condition will be satisfied. &#160;If such performance conditions are not or are no longer considered probable, no compensation expense for these awards is recognized, and any previously recognized expense is reversed. If the performance condition is achieved prior to the completion of the requisite service period, any unrecognized compensation expense will be recognized in the period the performance condition is achieved. Compensation expense for awards with market conditions is recognized over the derived service period, or sooner, if the market condition is achieved. Previously recognized expense for awards with market conditions will never be reversed even if the market conditions are never achieved. We recognize forfeitures of share-based compensation awards as they occur. Share-based compensation expense is recognized as part of the cost of sales and selling, general and administrative expenses in our consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ifd52802431c04030a360ae1aaae5d7db_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEwOTk1MTE3NTkyNzI_0ea8e211-1e5b-4450-a8ed-7ad7db861545">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i973ccb9552fa4a5fac4d001cc8f0c182_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEwOTk1MTE3NTkyODA_3bb65759-91b7-43b0-9de4-9af9cdd1da27"
      unitRef="number">0.30</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i1c066c48789d45a5a768d78e1d47e9bb_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEwOTk1MTE3NTkyODA_b102a588-14cc-4333-84ae-18e176c66fa7"
      unitRef="number">0.30</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="ifdca6a3b3f4a4bcd8165011669465624_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEwOTk1MTE3NTkyODQ_7515ed64-779f-4a31-83d8-837b3a431de6"
      unitRef="number">0.40</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i78fdd607a975486495c6293c27a4beaa_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzMyOTg1MzUwMjMxMzQ_d33270be-7b2e-4313-9081-ec79d53f5de8">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzM3NTc2_8933ac8a-aab5-440b-b616-e1fce8ac0bb2">Basic net earnings (loss) per share is computed by dividing the net earnings (loss) by the weighted-average number of common shares outstanding for the period, without consideration for potentially dilutive securities. Diluted net earnings (loss) per share is computed by dividing the net earnings (loss) by the weighted-average number of shares of common stock and dilutive common stock equivalents outstanding for the period determined using the treasury-stock and if-converted methods. Dilutive common stock equivalents are comprised of unvested restricted common stock and warrants.</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:EarningsPerShareBasic
      contextRef="i2f1d5a56e4e34b34ac70dde7f21f676e_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzMxOTY5_2dc06c97-5fdc-4b48-91e3-718d634db5ac"
      unitRef="usdPerShare">-0.17</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i2f1d5a56e4e34b34ac70dde7f21f676e_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzMxOTY5_eee3f42c-1f88-40b2-b78a-b12c35cc103e"
      unitRef="usdPerShare">-0.17</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i2f1d5a56e4e34b34ac70dde7f21f676e_D20190101-20191231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEwOTk1MTE3NjE3ODA_6c9752b3-c34d-4045-a402-0d614a0b5b5d"
      unitRef="shares">34525</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i2f1d5a56e4e34b34ac70dde7f21f676e_D20190101-20191231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEwOTk1MTE3NjE3ODA_c42fd1d2-9e1d-4fb6-8c1d-f28bafe9a3d7"
      unitRef="shares">34525</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ib2ed34ebc31647a4b1b1446eb2ba33d3_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzMyMTA3_b286f262-a11b-4ff9-ab4c-9334c81d13b2"
      unitRef="usdPerShare">-0.17</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ib2ed34ebc31647a4b1b1446eb2ba33d3_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzMyMTA3_df4e5520-3313-455c-9242-efb55689ad09"
      unitRef="usdPerShare">-0.17</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ib2ed34ebc31647a4b1b1446eb2ba33d3_D20190101-20191231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEwOTk1MTE3NjE3ODQ_b23775d7-3878-4d36-8775-b5afd8ba3e43"
      unitRef="shares">3204</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ib2ed34ebc31647a4b1b1446eb2ba33d3_D20190101-20191231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzEwOTk1MTE3NjE3ODQ_be206e8d-937a-44a0-b656-b5b1d8297034"
      unitRef="shares">3204</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzM3NTc3_8077a00e-a778-40ea-93c2-1d97922970b2">Potentially dilutive securities are as follows (in common stock equivalent shares, in thousands):&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" rowspan="2" 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&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:'Times New Roman',sans-serif;font-size:10pt;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested restricted stock&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;520&#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="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60&#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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Common stock warrants, exercisable at $1.665/sh.&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;400&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;901&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;920&#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 colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;961&#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;</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i0efa09e8515e49eca22feb013f792305_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90YWJsZTpjYzM4ZjgwMDVlOGM0YWJkYmY0YTQwNWUzYTM4ZTY3Ny90YWJsZXJhbmdlOmNjMzhmODAwNWU4YzRhYmRiZjRhNDA1ZTNhMzhlNjc3XzItMS0xLTEtMQ_7f4ae6ce-9526-47c9-9dad-4ee55215c08c"
      unitRef="shares">520000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="iff3218ebf821488b8dfffecdff6fd484_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90YWJsZTpjYzM4ZjgwMDVlOGM0YWJkYmY0YTQwNWUzYTM4ZTY3Ny90YWJsZXJhbmdlOmNjMzhmODAwNWU4YzRhYmRiZjRhNDA1ZTNhMzhlNjc3XzItMy0xLTEtMQ_d922824e-7cdd-4380-adc0-2c170b57dd7f"
      unitRef="shares">60000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90YWJsZTpjYzM4ZjgwMDVlOGM0YWJkYmY0YTQwNWUzYTM4ZTY3Ny90YWJsZXJhbmdlOmNjMzhmODAwNWU4YzRhYmRiZjRhNDA1ZTNhMzhlNjc3XzMtMC0xLTEtMjk0MDIvdGV4dHJlZ2lvbjoyYWE5YjE4ODNlZjg0NDhmOGY5MTliMmFiZGEyNWIwMl8xMDk5NTExNjI3ODM0_6809db24-5dce-472f-8425-62f44a8fee4a"
      unitRef="usdPerShare">1.665</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i82c73f7990f543289ca6e9689c41d672_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90YWJsZTpjYzM4ZjgwMDVlOGM0YWJkYmY0YTQwNWUzYTM4ZTY3Ny90YWJsZXJhbmdlOmNjMzhmODAwNWU4YzRhYmRiZjRhNDA1ZTNhMzhlNjc3XzMtMS0xLTEtMQ_70077eac-33bd-4fb8-839e-98eb5bec7933"
      unitRef="shares">400000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i51a8b738b09b40db8ed5babec61001d1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90YWJsZTpjYzM4ZjgwMDVlOGM0YWJkYmY0YTQwNWUzYTM4ZTY3Ny90YWJsZXJhbmdlOmNjMzhmODAwNWU4YzRhYmRiZjRhNDA1ZTNhMzhlNjc3XzMtMy0xLTEtMQ_31c3f570-a305-4a9c-b418-eb068b06d44b"
      unitRef="shares">901000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90YWJsZTpjYzM4ZjgwMDVlOGM0YWJkYmY0YTQwNWUzYTM4ZTY3Ny90YWJsZXJhbmdlOmNjMzhmODAwNWU4YzRhYmRiZjRhNDA1ZTNhMzhlNjc3XzQtMS0xLTEtMQ_365b7e2a-83ce-4cbf-9467-bd504ff04ce7"
      unitRef="shares">920000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90YWJsZTpjYzM4ZjgwMDVlOGM0YWJkYmY0YTQwNWUzYTM4ZTY3Ny90YWJsZXJhbmdlOmNjMzhmODAwNWU4YzRhYmRiZjRhNDA1ZTNhMzhlNjc3XzQtMy0xLTEtMQ_e8c0b7d3-c836-4b78-b4f3-a07ef8c48f0e"
      unitRef="shares">961000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:ComprehensiveIncomePolicyPolicyTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzM3NTc4_5952ce1d-7b7e-4f0f-8b1c-7a045a939a69">Our functional currency is the U.S. Dollar. For one of our wholly-owned subsidiaries, the functional currency is the local currency. For this subsidiary, the translation of its foreign currency into U.S. Dollars is performed for assets and liabilities using current foreign currency exchange rates in effect at the balance sheet date and for revenue and expense accounts using average foreign currency exchange rates during the periods presented. Translation gains and losses are included in stockholders&#x2019; equity (deficit) as a component of accumulated other comprehensive income.</us-gaap:ComprehensiveIncomePolicyPolicyTextBlock>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzM3NTc5_6481a106-3356-449a-bcec-9e6d4dbd61f6">&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We use various methods and assumptions to estimate the fair value of our financial instruments. Due to their short-term nature, the carrying value of cash and cash equivalents, accounts receivable and accounts payable approximates fair value. The fair value of long-term debt is based on the discounted cash flows for similar term borrowings based on market prices for the same or similar issues.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fair value estimates are made at a specific point in time, based on relevant market information. These estimates are subjective in nature and involve matters of judgment and therefore cannot be determined with precision. Changes in assumptions could significantly affect the estimates.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMDkvZnJhZzo2YmZmOWYyMGM3MTM0ZGJmODJkYWFlNDc3NjczODU4ZC90ZXh0cmVnaW9uOjZiZmY5ZjIwYzcxMzRkYmY4MmRhYWU0Nzc2NzM4NThkXzM3NTkw_543e4113-db31-47a9-bd3e-a8a2dee95bb9">&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2016, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") 2016-13,&#160;&#x201c;Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments,&#x201d; which introduces new guidance for estimating credit losses on certain types of financial instruments based on expected losses and the timing of the recognition of such losses. This standard was effective for interim and annual reporting periods beginning after December 15, 2019, which made this standard effective for us on January 1, 2020. The adoption of this ASU did not have a material impact on our consolidated financial position, results of operations and cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In January 2017, the FASB issued ASU 2017-4, "Intangibles - Goodwill and Other (Topic 350): Simplifying the Test for Goodwill Impairment," which eliminates Step 2 of the current goodwill impairment test that requires a hypothetical purchase price allocation to measure goodwill impairment. A goodwill impairment loss instead is measured at the amount by which a reporting unit's carrying value exceeds its fair value, not to exceed the recorded amount of goodwill. The provisions of this ASU were effective for years beginning after December 15, 2019, which made this standard effective for us on January 1, 2020. The adoption of this ASU did not have a material impact on our consolidated financial position, results of operations and cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In August 2018, the FASB issued ASU 2018-13, &#x201c;Fair Value Measurement (Topic 820): Disclosure Framework &#x2013; Changes to the Disclosure Requirements for Fair Value Measurement&#x201d;, which modifies the disclosure requirement for fair value measurement under ASC 820 to improve the effectiveness of such disclosures. Those modifications include the removal and addition of disclosure requirements as well as clarifying specific disclosure requirements.&#160; This standard was effective for interim and annual reporting periods beginning after December 15, 2019, which made this standard effective for us on January 1, 2020. The adoption of this ASU did not have a material impact on our consolidated financial position, results of operations and cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In August 2018, the FASB issued ASU 2018&#x2011;15, &#x201c;Intangibles - Goodwill and Other - Internal-Use Software (Subtopic 350-40): Customer&#x2019;s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract,&#x201d; which aligns the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software.&#160; This standard was effective for interim and annual reporting periods beginning after December 15, 2019, which made this standard effective for us on January 1, 2020. The adoption of this ASU did not have a material impact on our consolidated financial position, results of operations and cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2019, the FASB issued ASU No. 2019-12, &#x201c;Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes,&#x201d; which simplifies the accounting for income taxes by removing certain exceptions to the general principles in Topic 740. The ASU also clarifies and amends existing guidance to improve consistent application. This standard was effective for reporting periods beginning after December 15, 2020, which made this standard effective for us on January 1, 2021. The adoption of this ASU did not have a material impact on our consolidated financial position, results of operations and cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In March 2020, the FASB issued ASU No. 2020-04, &#x201c;Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting,&#x201d; which provides optional expedients and exceptions for a limited period of time to ease the potential burden in accounting for contracts, hedging relationship and other transactions that reference LIBOR or another reference rate expected to be discontinued because of reference rate reform. This amendment is effective for all entities as of March 12, 2020 through December 31, 2022. The adoption of this ASU did not have a material impact on our consolidated financial position, results of operations or cash flows.&lt;/span&gt;&lt;/div&gt;In October 2021, the FASB issued ASU No. 2021-08, &#x201c;Business Combination (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers,&#x201d; which requires entities to apply Topic 606 to recognize and measure contract assets and contract liabilities in a business combination. The ASU improves comparability after the business combination by providing consistent recognition and measurement guidance for revenue contracts with customers acquired in a business combination and revenue contracts with customers not acquired in a business combination. Entities should apply the amendments prospectively to business combinations that occur after the effective date. This standard will be effective for reporting periods beginning after December 15, 2022, with early adoption permitted. While we are currently assessing the impact of the adoption of this ASU, we do not believe the adoption of this ASU will have a material impact on our consolidated financial position, results of operations and cash flows.</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90ZXh0cmVnaW9uOjJkYWMzNjhhMjhkNDQzNWFhYWRkOTY2N2NlZGM2NWMyXzI4MzU_91e849e1-6c06-40d4-974e-4c3bb8b9958f">Revenue&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We account for revenue in accordance with ASC Topic 606, &#x201c;Revenue from Contracts with Customers.&#x201d; The unit of account in ASC 606 is a performance obligation, which is a promise in a contract with a customer to transfer a good or service to the customer. ASC 606 prescribes a five-step model for recognizing revenue that includes identifying the contract with the customer, determining the performance obligation(s), determining the transaction price, allocating the transaction price to the performance obligation(s), and recognizing revenue as the performance obligations are satisfied. Timing of the satisfaction of performance obligations varies across our businesses due to our diverse product and service mix, customer base, and contractual terms. Significant judgment can be required in determining certain performance obligations, and these determinations could change the amount of revenue and profit recorded in a given period. Our contracts may have a single performance obligation or multiple performance obligations. When there are multiple performance obligations within a contract, we allocate the transaction price, net of any discounts, to each performance obligation based on the standalone selling price of the product or service underlying each performance obligation. Our contracts with the U.S. Government are generally subject to Federal Acquisition Regulation ("FAR") and the price is typically based on estimated or actual costs plus a reasonable profit margin. As such, the standalone selling price of products or services in our contracts with the U.S. Government are typically equal to the selling price stated in the contract. For non-U.S. Government contracts with multiple performance obligations, standalone selling price is the observable price of a good or service when Telos sells that good or service separately in similar circumstances and to similar customers.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contracts are routinely and often modified to account for changes in contract requirements, specifications, quantities, or price. Depending on the nature of the modification, we determine whether to account for the modification as an adjustment to the existing contract or as a new contract. Generally, modifications are not distinct from the existing contract due to the significant interrelatedness of the performance obligations and are therefore accounted for as an adjustment to the existing contract, and recognized as a cumulative adjustment to revenue (as either an increase or reduction of revenue) based on the modification&#x2019;s effect on progress toward completion of a performance obligation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The majority of our revenue is recognized over time, as control is transferred continuously to our customers who receive and consume benefits as we perform, and is classified as services revenue. Revenue transferred to customers over time accounted for 91%, 90% and 90% of our revenue for the years ended December 31, 2021, 2020 and 2019. All of our business groups earn services revenue under a variety of contract types, including time and materials, firm-fixed price, firm fixed price level of effort, and cost-plus fixed fee contract types, which may include variable consideration as discussed further below.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue is recognized over time using costs incurred to date relative to total estimated costs at completion to measure progress toward satisfying our performance obligations. Incurred cost represents work performed, which corresponds with, and thereby best depicts, the transfer of control to the customer. Contract costs include labor, material, subcontractor costs and indirect expenses. This continuous transfer of control to the customer is supported by clauses in our contracts with U.S. government customers whereby the customer may terminate a contract for convenience and then pay for costs incurred plus a profit, at which time the customer would take control of any work in process. For non-U.S. government contracts where we perform as a subcontractor and our order includes similar FAR provisions as the prime contractor&#x2019;s order from the U.S. government, continuous transfer of control is likewise supported by such provisions. For other non-U.S. government customers, continuous transfer of control to such customers is also supported due to general terms in our contracts and rights to recover damages which would include, among other potential damages, the right to payment for our work performed to date plus a reasonable profit.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue that is recognized at a point in time is for the sale of software licenses in our Information Assurance / Xacta and Secure Communications business groups and for the sale of resold products in Telos ID and Secure Networks, and is classified as product revenue.&#160;Revenue transferred to customers at a point in time accounted for 9%, 10% and 10% of our revenue for the years ended December 31, 2021, 2020 and 2019. Revenue on these contracts is recognized when the customer obtains control of the transferred product or service, which is generally upon delivery of the product to the customer for their use, due to us maintaining control of the product until that point. Orders for the sale of software licenses may contain multiple performance obligations, such as maintenance, training, or consulting services, which are typically delivered over time, consistent with the transfer of control disclosed above for the provision of services. When an order contains multiple performance obligations, we allocate the transaction price to the performance obligations based on the standalone selling price of the product or service underlying each performance obligation. The standalone selling price represents the amount we would sell the product or service to a customer on a standalone basis.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For certain performance obligation where we are not primarily responsible for fulfilling the promise to provide the goods or services to the customer, do not have inventory risk and have limited discretion in establishing the price for the goods or services, we recognize revenue on a net basis.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Contract Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Due to the transfer of control over time, revenue is recognized based on progress towards completion of the performance obligation. The selection of the method to measure progress towards completion requires judgment and is based on the nature of the performance obligations. We generally use the cost-to-cost measure of progress on a proportional performance basis for our contracts because it best depicts the transfer of control to the customer, which occurs as we incur costs on our contracts. Under the cost-to-cost measure of progress, the extent of progress towards completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. Revenues are recorded proportionally as costs are incurred. Due to the nature of the work required to be performed on certain of our performance obligations, the estimation of total revenue and cost at completion is complex, subject to many variables and requires significant judgment. Contract estimates are based on various assumptions, including labor and subcontractor costs, materials and other direct costs and the complexity of the work to be performed. A significant change in one or more of these estimates could affect the profitability of our contracts. We review and update our contract-related estimates regularly and recognize adjustments in estimated profit on contracts on a cumulative catch-up basis, which may result in an adjustment increasing or decreasing revenue to date on a contract in a particular period that the adjustment is identified. Revenue and profit in future periods of contract performance are recognized using the adjusted estimate.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our contracts may include various types of variable consideration, such as claims (for instance, indirect rate or other equitable adjustments) or incentive fees. We include estimated amounts in the transaction price based on all of the information available to us, including historical information and future estimations, and to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur when any uncertainty associated with the variable consideration is resolved.&#160; We have revised and re-submitted several years of incurred cost submissions reflecting certain indirect rate structure changes as a result of regular DCAA audits of incurred cost submissions.&#160;This resulted in signed final rate agreement letters for fiscal years 2014 to 2016 and conformed incurred cost submissions for 2017 to 2020. We evaluated the resulting changes to revenue under the applicable cost-plus fixed fee contracts for the years 2014 to 2016 as variable consideration, and determined the most likely amount to which we expect to be entitled, to the extent that no constraint exists that would preclude recognizing this revenue or result in a significant reversal of cumulative revenue recognized. We included these estimated amounts of variable consideration in the transaction price and as performance on these contracts is complete, we have recognized revenue of $0.2 million during the year ended December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We provide for anticipated losses on contracts during the period when the loss is determined by recording an expense for the total expected costs that exceeds the total estimated revenue for a performance obligation. We recorded an immaterial contract loss during the year ended December 31, 2021. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Historically, most of our contracts do not include award or incentive fees. For incentive fees, we would include such fees in the transaction price to the extent we could reasonably estimate the amount of the fee. With limited historical experience, we have not included any revenue related to incentive fees in our estimated transaction prices. We may include in our contract estimates additional revenue for submitted contract modifications or claims against the customer when we believe we have an enforceable right to the modification or claim, the amount can be estimated reliably and its realization is probable. We consider the contractual/legal basis for the claim (in particular FAR provisions), the facts and circumstances around any additional costs incurred, the reasonableness of those costs and the objective evidence available to support such claims.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For our contracts that have an original duration of one year or less, we use the practical expedient applicable to such contracts and do not consider the time value of money. We capitalize sales commissions related to proprietary software and related services that are directly tied to sales. We do not elect the practical expedient to expense as incurred the incremental costs of obtaining a contract if the amortization period would have been one year or less. For the sales commissions that are capitalized, we amortize the asset over the expected customer life, which is based on recent and historical data.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As discussed above, we have identified two (2) reportable segments. We treat sales to U.S. customers as sales within the U.S. regardless of where the services are performed. Substantially most of our revenues are generated from U.S. customers, while international customers are de minimus, as such the financial information by geographic location is not presented.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables disclose revenue disaggregated by several categories for the years ended December&#160;31, 2021, 2020, and 2019 (in thousands).  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.222%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.640%"/&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:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%"&gt;Revenue Type&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 6.62pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 6.62pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 6.62pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Security Solutions&lt;/span&gt;&lt;/td&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="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Services&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102,649&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100,422&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,885&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,890&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,637&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;123,534&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117,312&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;101,923&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Secure Networks&lt;/span&gt;&lt;/td&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;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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,758&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,295&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:top"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,847&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:top"/&gt;&lt;/tr&gt;&lt;tr&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,899&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,605&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,295&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenue&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;242,433&#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 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:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;179,917&#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 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:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;159,218&#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:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.222%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.640%"/&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:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%"&gt;Customer Type&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 6.62pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 6.62pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 6.62pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Security Solutions&lt;/span&gt;&lt;/td&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="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114,159&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;109,410&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State &amp;amp; Local, and Commercial&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,375&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,902&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,587&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;123,534&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117,312&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;101,923&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Secure Networks&lt;/span&gt;&lt;/td&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;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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,717&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,267&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State &amp;amp; Local, and Commercial&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;182&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;338&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;374&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,899&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,605&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,295&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;242,433&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;179,917&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;159,218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.222%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.640%"/&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:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%"&gt;Contract Type&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 6.62pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 6.62pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 6.62pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Security Solutions&lt;/span&gt;&lt;/td&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="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Firm fixed-price&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;104,534&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,379&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,316&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Time-and-materials&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,433&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,617&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,100&#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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost plus fixed fee&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,567&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,316&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,507&#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: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;123,534&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117,312&#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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;101,923&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Secure Networks&lt;/span&gt;&lt;/td&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;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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Firm fixed-price&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107,770&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,324&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51,313&#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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Time-and-materials&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;838&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;469&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost plus fixed fee&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,101&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,443&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,513&#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: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,899&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,605&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,295&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;242,433&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;179,917&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;159,218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue resulting from contracts and subcontracts with the U.S. government accounted for 96.1%, 95.4%, and 93.7% of consolidated revenue in 2021, 2020, and 2019, respectively. As our primary customer base includes agencies of the U.S. government, we have a concentration of credit risk associated with our accounts receivable, as 97.3% of our billed accounts receivable were directly with U.S. government customers. While we acknowledge the potentially material and adverse risk of such a significant concentration of credit risk, our past experience of collecting substantially all of such receivables provide us with an informed basis that such risk, if any, is manageable. We perform ongoing credit evaluations of all of our customers and generally do not require collateral or other guarantee from our customers. We maintain allowances for potential losses.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The percentage of total revenue for the U.S. government, its agencies and other customers comprising more than 10% of total revenue is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.081%"/&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.384%"/&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.384%"/&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: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Department of Defense&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;74&#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;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65&#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;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65&#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;span style="color:#000000;font-family:'Times New Roman',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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Civilian&lt;/span&gt;&lt;/td&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:'Times New Roman',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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29&#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:'Times New Roman',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 style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Contract Balances&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Performance obligations are satisfied either over time or at a point in time and are typically invoiced to the customers as work progresses in accordance with agreed-upon contractual terms, either at periodic intervals or upon achievement of contractual milestones. Generally, revenue recognition occurs before billing, resulting in contract assets. These contract assets are referred to as unbilled receivables and are reported within accounts receivable, net of reserve on our consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract liabilities&#160;are payments received in advance and milestone payments from our customers on selected contracts that exceed revenue earned to date, resulting in contract liabilities. Contract liabilities typically are not considered a significant financing component because they are generally satisfied within one year and are used to meet working capital demands that can be higher in the early stages of a contract. Contract liabilities are reported on our consolidated balance sheets on a net contract basis at the end of each reporting period. As of December&#160;31, 2021 and 2020, the contract liabilities primarily related to product support services.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract balances for the periods presented are as follow (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:55.917%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.642%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.642%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.647%"/&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="15" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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 #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2020&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contract assets (unbilled receivables)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,374&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,161&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,745&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contract 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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,381&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,654&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,337&#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:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The significant changes in the Company's contract assets and contract liabilities during the current period were primarily the result of the timing differences between the Company's performance, invoicing and customer payments. For the years ended December&#160;31, 2021, 2020 and 2019, the amount of revenue recognized during the year that was included in the opening contract liabilities balance was $4.3 million, $5.3 million, and $4.2 million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&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="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Remaining performance obligation (funded backlog)&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;123,479&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;127,735&#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;/table&gt;&lt;/div&gt;We expect to recognize approximately 85.8% of our remaining performance obligations as revenue in 2022, and approximately 14.1% by 2023, with the remainder recognized thereafter.</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90ZXh0cmVnaW9uOjJkYWMzNjhhMjhkNDQzNWFhYWRkOTY2N2NlZGM2NWMyXzMyOTg1MzQ5MjEwNTY_dcbf04f2-d45c-4aed-a608-cf44fca7257f">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We account for revenue in accordance with ASC Topic 606, &#x201c;Revenue from Contracts with Customers.&#x201d; The unit of account in ASC 606 is a performance obligation, which is a promise in a contract with a customer to transfer a good or service to the customer. ASC 606 prescribes a five-step model for recognizing revenue that includes identifying the contract with the customer, determining the performance obligation(s), determining the transaction price, allocating the transaction price to the performance obligation(s), and recognizing revenue as the performance obligations are satisfied. Timing of the satisfaction of performance obligations varies across our businesses due to our diverse product and service mix, customer base, and contractual terms. Significant judgment can be required in determining certain performance obligations, and these determinations could change the amount of revenue and profit recorded in a given period. Our contracts may have a single performance obligation or multiple performance obligations. When there are multiple performance obligations within a contract, we allocate the transaction price, net of any discounts, to each performance obligation based on the standalone selling price of the product or service underlying each performance obligation. Our contracts with the U.S. Government are generally subject to Federal Acquisition Regulation ("FAR") and the price is typically based on estimated or actual costs plus a reasonable profit margin. As such, the standalone selling price of products or services in our contracts with the U.S. Government are typically equal to the selling price stated in the contract. For non-U.S. Government contracts with multiple performance obligations, standalone selling price is the observable price of a good or service when Telos sells that good or service separately in similar circumstances and to similar customers.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contracts are routinely and often modified to account for changes in contract requirements, specifications, quantities, or price. Depending on the nature of the modification, we determine whether to account for the modification as an adjustment to the existing contract or as a new contract. Generally, modifications are not distinct from the existing contract due to the significant interrelatedness of the performance obligations and are therefore accounted for as an adjustment to the existing contract, and recognized as a cumulative adjustment to revenue (as either an increase or reduction of revenue) based on the modification&#x2019;s effect on progress toward completion of a performance obligation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The majority of our revenue is recognized over time, as control is transferred continuously to our customers who receive and consume benefits as we perform, and is classified as services revenue. Revenue transferred to customers over time accounted for 91%, 90% and 90% of our revenue for the years ended December 31, 2021, 2020 and 2019. All of our business groups earn services revenue under a variety of contract types, including time and materials, firm-fixed price, firm fixed price level of effort, and cost-plus fixed fee contract types, which may include variable consideration as discussed further below.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue is recognized over time using costs incurred to date relative to total estimated costs at completion to measure progress toward satisfying our performance obligations. Incurred cost represents work performed, which corresponds with, and thereby best depicts, the transfer of control to the customer. Contract costs include labor, material, subcontractor costs and indirect expenses. This continuous transfer of control to the customer is supported by clauses in our contracts with U.S. government customers whereby the customer may terminate a contract for convenience and then pay for costs incurred plus a profit, at which time the customer would take control of any work in process. For non-U.S. government contracts where we perform as a subcontractor and our order includes similar FAR provisions as the prime contractor&#x2019;s order from the U.S. government, continuous transfer of control is likewise supported by such provisions. For other non-U.S. government customers, continuous transfer of control to such customers is also supported due to general terms in our contracts and rights to recover damages which would include, among other potential damages, the right to payment for our work performed to date plus a reasonable profit.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue that is recognized at a point in time is for the sale of software licenses in our Information Assurance / Xacta and Secure Communications business groups and for the sale of resold products in Telos ID and Secure Networks, and is classified as product revenue.&#160;Revenue transferred to customers at a point in time accounted for 9%, 10% and 10% of our revenue for the years ended December 31, 2021, 2020 and 2019. Revenue on these contracts is recognized when the customer obtains control of the transferred product or service, which is generally upon delivery of the product to the customer for their use, due to us maintaining control of the product until that point. Orders for the sale of software licenses may contain multiple performance obligations, such as maintenance, training, or consulting services, which are typically delivered over time, consistent with the transfer of control disclosed above for the provision of services. When an order contains multiple performance obligations, we allocate the transaction price to the performance obligations based on the standalone selling price of the product or service underlying each performance obligation. The standalone selling price represents the amount we would sell the product or service to a customer on a standalone basis.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For certain performance obligation where we are not primarily responsible for fulfilling the promise to provide the goods or services to the customer, do not have inventory risk and have limited discretion in establishing the price for the goods or services, we recognize revenue on a net basis.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Contract Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Due to the transfer of control over time, revenue is recognized based on progress towards completion of the performance obligation. The selection of the method to measure progress towards completion requires judgment and is based on the nature of the performance obligations. We generally use the cost-to-cost measure of progress on a proportional performance basis for our contracts because it best depicts the transfer of control to the customer, which occurs as we incur costs on our contracts. Under the cost-to-cost measure of progress, the extent of progress towards completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. Revenues are recorded proportionally as costs are incurred. Due to the nature of the work required to be performed on certain of our performance obligations, the estimation of total revenue and cost at completion is complex, subject to many variables and requires significant judgment. Contract estimates are based on various assumptions, including labor and subcontractor costs, materials and other direct costs and the complexity of the work to be performed. A significant change in one or more of these estimates could affect the profitability of our contracts. We review and update our contract-related estimates regularly and recognize adjustments in estimated profit on contracts on a cumulative catch-up basis, which may result in an adjustment increasing or decreasing revenue to date on a contract in a particular period that the adjustment is identified. Revenue and profit in future periods of contract performance are recognized using the adjusted estimate.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our contracts may include various types of variable consideration, such as claims (for instance, indirect rate or other equitable adjustments) or incentive fees. We include estimated amounts in the transaction price based on all of the information available to us, including historical information and future estimations, and to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur when any uncertainty associated with the variable consideration is resolved.&#160; We have revised and re-submitted several years of incurred cost submissions reflecting certain indirect rate structure changes as a result of regular DCAA audits of incurred cost submissions.&#160;This resulted in signed final rate agreement letters for fiscal years 2014 to 2016 and conformed incurred cost submissions for 2017 to 2020. We evaluated the resulting changes to revenue under the applicable cost-plus fixed fee contracts for the years 2014 to 2016 as variable consideration, and determined the most likely amount to which we expect to be entitled, to the extent that no constraint exists that would preclude recognizing this revenue or result in a significant reversal of cumulative revenue recognized. We included these estimated amounts of variable consideration in the transaction price and as performance on these contracts is complete, we have recognized revenue of $0.2 million during the year ended December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We provide for anticipated losses on contracts during the period when the loss is determined by recording an expense for the total expected costs that exceeds the total estimated revenue for a performance obligation. We recorded an immaterial contract loss during the year ended December 31, 2021. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Historically, most of our contracts do not include award or incentive fees. For incentive fees, we would include such fees in the transaction price to the extent we could reasonably estimate the amount of the fee. With limited historical experience, we have not included any revenue related to incentive fees in our estimated transaction prices. We may include in our contract estimates additional revenue for submitted contract modifications or claims against the customer when we believe we have an enforceable right to the modification or claim, the amount can be estimated reliably and its realization is probable. We consider the contractual/legal basis for the claim (in particular FAR provisions), the facts and circumstances around any additional costs incurred, the reasonableness of those costs and the objective evidence available to support such claims.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For our contracts that have an original duration of one year or less, we use the practical expedient applicable to such contracts and do not consider the time value of money. We capitalize sales commissions related to proprietary software and related services that are directly tied to sales. We do not elect the practical expedient to expense as incurred the incremental costs of obtaining a contract if the amortization period would have been one year or less. For the sales commissions that are capitalized, we amortize the asset over the expected customer life, which is based on recent and historical data.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As discussed above, we have identified two (2) reportable segments. We treat sales to U.S. customers as sales within the U.S. regardless of where the services are performed. Substantially most of our revenues are generated from U.S. customers, while international customers are de minimus, as such the financial information by geographic location is not presented.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Contract Balances&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Performance obligations are satisfied either over time or at a point in time and are typically invoiced to the customers as work progresses in accordance with agreed-upon contractual terms, either at periodic intervals or upon achievement of contractual milestones. Generally, revenue recognition occurs before billing, resulting in contract assets. These contract assets are referred to as unbilled receivables and are reported within accounts receivable, net of reserve on our consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract liabilities&#160;are payments received in advance and milestone payments from our customers on selected contracts that exceed revenue earned to date, resulting in contract liabilities. Contract liabilities typically are not considered a significant financing component because they are generally satisfied within one year and are used to meet working capital demands that can be higher in the early stages of a contract. Contract liabilities are reported on our consolidated balance sheets on a net contract basis at the end of each reporting period. As of December&#160;31, 2021 and 2020, the contract liabilities primarily related to product support services.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i50cdf6bfd1484346b0fd1d092be107f0_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90ZXh0cmVnaW9uOjJkYWMzNjhhMjhkNDQzNWFhYWRkOTY2N2NlZGM2NWMyXzEwOTk1MTE2NjY3NDM_6800f2d3-5d8c-4fae-86fd-c72cd7689d03"
      unitRef="number">0.91</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i3aa757c7bfb14dd3a12da505e457ba8e_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90ZXh0cmVnaW9uOjJkYWMzNjhhMjhkNDQzNWFhYWRkOTY2N2NlZGM2NWMyXzEwOTk1MTE2NjY3NTA_7036e2eb-039a-4280-9826-bf5236667dbc"
      unitRef="number">0.90</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="iad85f02e291f422ba2dc3550f06abbc9_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90ZXh0cmVnaW9uOjJkYWMzNjhhMjhkNDQzNWFhYWRkOTY2N2NlZGM2NWMyXzEwOTk1MTE2NjY3NTc_866d1ab7-fa9e-4ec1-8979-50029e3e6363"
      unitRef="number">0.90</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ib46f601fd4ae4b3db4e17ce756f4af5a_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90ZXh0cmVnaW9uOjJkYWMzNjhhMjhkNDQzNWFhYWRkOTY2N2NlZGM2NWMyXzEwOTk1MTE2NjY3NjQ_9a88f064-85a9-422a-a51c-a79d1818dc4e"
      unitRef="number">0.09</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i1fe55725bb39402498de9f0ff4e59468_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90ZXh0cmVnaW9uOjJkYWMzNjhhMjhkNDQzNWFhYWRkOTY2N2NlZGM2NWMyXzEwOTk1MTE2NjY3NzE_a3bdb38a-5e9d-420f-a7ef-e451e2024495"
      unitRef="number">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i2e70695900414cde93bc9a81e348da95_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90ZXh0cmVnaW9uOjJkYWMzNjhhMjhkNDQzNWFhYWRkOTY2N2NlZGM2NWMyXzEwOTk1MTE2NjY3Nzc_fe0f657a-eba5-4b90-833b-e739db3dc8d2"
      unitRef="number">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueModificationOfContract
      contextRef="iebf2f0a23ef3497eb50d5701d655a482_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90ZXh0cmVnaW9uOjJkYWMzNjhhMjhkNDQzNWFhYWRkOTY2N2NlZGM2NWMyXzEwOTk1MTE2Mzg2NDg_11dc2220-17ab-4b6c-99fa-43c74c447e9e"
      unitRef="usd">200000</us-gaap:ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueModificationOfContract>
    <us-gaap:NumberOfReportableSegments
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90ZXh0cmVnaW9uOjJkYWMzNjhhMjhkNDQzNWFhYWRkOTY2N2NlZGM2NWMyXzI3NDg3NzkxMTI1OTk_c9d35261-f47b-46e3-8c46-8505953460e9"
      unitRef="segment">2</us-gaap:NumberOfReportableSegments>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90ZXh0cmVnaW9uOjJkYWMzNjhhMjhkNDQzNWFhYWRkOTY2N2NlZGM2NWMyXzMyOTg1MzQ5MjEwNTI_8105a93a-9361-4cc3-a4bd-35772c3a57d3">&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables disclose revenue disaggregated by several categories for the years ended December&#160;31, 2021, 2020, and 2019 (in thousands).  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.222%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.640%"/&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:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%"&gt;Revenue Type&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 6.62pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 6.62pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 6.62pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Security Solutions&lt;/span&gt;&lt;/td&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="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Services&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102,649&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100,422&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,885&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,890&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,637&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;123,534&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117,312&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;101,923&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Secure Networks&lt;/span&gt;&lt;/td&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;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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,758&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,295&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:top"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,847&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:top"/&gt;&lt;/tr&gt;&lt;tr&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,899&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,605&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,295&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenue&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;242,433&#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 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:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;179,917&#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 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:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;159,218&#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:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.222%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.640%"/&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:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%"&gt;Customer Type&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 6.62pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 6.62pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 6.62pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Security Solutions&lt;/span&gt;&lt;/td&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="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114,159&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;109,410&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State &amp;amp; Local, and Commercial&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,375&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,902&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,587&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;123,534&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117,312&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;101,923&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Secure Networks&lt;/span&gt;&lt;/td&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;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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,717&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,267&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State &amp;amp; Local, and Commercial&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;182&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;338&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;374&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,899&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,605&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,295&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;242,433&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;179,917&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;159,218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.222%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.640%"/&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:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%"&gt;Contract Type&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 6.62pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 6.62pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 6.62pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Security Solutions&lt;/span&gt;&lt;/td&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="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Firm fixed-price&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;104,534&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,379&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,316&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Time-and-materials&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,433&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,617&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,100&#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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost plus fixed fee&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,567&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,316&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,507&#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: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;123,534&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117,312&#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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;101,923&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Secure Networks&lt;/span&gt;&lt;/td&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;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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Firm fixed-price&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107,770&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,324&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51,313&#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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Time-and-materials&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;838&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;469&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost plus fixed fee&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,101&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,443&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,513&#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: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,899&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,605&#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 style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,295&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;242,433&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;179,917&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;159,218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The percentage of total revenue for the U.S. government, its agencies and other customers comprising more than 10% of total revenue is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.081%"/&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.384%"/&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.384%"/&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: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Department of Defense&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;74&#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;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65&#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;span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65&#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;span style="color:#000000;font-family:'Times New Roman',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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Civilian&lt;/span&gt;&lt;/td&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:'Times New Roman',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:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29&#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:'Times New Roman',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;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iaf00e6bcbb5447a3ab68132bf67195e7_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTozZjMxOTVhYTI4OWY0NTBhOWYwNjQyZWFhZjk4M2JiYi90YWJsZXJhbmdlOjNmMzE5NWFhMjg5ZjQ1MGE5ZjA2NDJlYWFmOTgzYmJiXzItMS0xLTEtMzY2MzA_56eb5f7d-d909-4eee-a6f5-ebc3f0ea2685"
      unitRef="usd">102649000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib9bc1a35418b46b2a970f738ec6bfb66_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTozZjMxOTVhYTI4OWY0NTBhOWYwNjQyZWFhZjk4M2JiYi90YWJsZXJhbmdlOjNmMzE5NWFhMjg5ZjQ1MGE5ZjA2NDJlYWFmOTgzYmJiXzItMy0xLTEtMzY2MzA_3396942b-3031-4c63-8832-cb7014499223"
      unitRef="usd">100422000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i971437d042cc4ce4a6176d90f18bb781_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTozZjMxOTVhYTI4OWY0NTBhOWYwNjQyZWFhZjk4M2JiYi90YWJsZXJhbmdlOjNmMzE5NWFhMjg5ZjQ1MGE5ZjA2NDJlYWFmOTgzYmJiXzItNS0xLTEtMzY2MzA_d714ba33-5deb-48eb-a7a9-664273da0d51"
      unitRef="usd">86286000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i471b7abdf22b459c946b7a7677065610_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTozZjMxOTVhYTI4OWY0NTBhOWYwNjQyZWFhZjk4M2JiYi90YWJsZXJhbmdlOjNmMzE5NWFhMjg5ZjQ1MGE5ZjA2NDJlYWFmOTgzYmJiXzMtMS0xLTEtMzY2MzI_6006f146-d839-49ef-8020-4b67ff1e1ba6"
      unitRef="usd">20885000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if4af21ecc74e4558a48c3b2303fc467e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTozZjMxOTVhYTI4OWY0NTBhOWYwNjQyZWFhZjk4M2JiYi90YWJsZXJhbmdlOjNmMzE5NWFhMjg5ZjQ1MGE5ZjA2NDJlYWFmOTgzYmJiXzMtMy0xLTEtMzY2MzA_86c80704-950c-48fa-938f-87f051d7b3d4"
      unitRef="usd">16890000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2d0c4b7561fc40d68fbd844113061ba4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTozZjMxOTVhYTI4OWY0NTBhOWYwNjQyZWFhZjk4M2JiYi90YWJsZXJhbmdlOjNmMzE5NWFhMjg5ZjQ1MGE5ZjA2NDJlYWFmOTgzYmJiXzMtNS0xLTEtMzY2MzA_73e19f1c-2ffd-4b12-a061-87e6a2e31bbd"
      unitRef="usd">15637000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id7fb253162fb4a8c8a3ddd6ab565af9d_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTozZjMxOTVhYTI4OWY0NTBhOWYwNjQyZWFhZjk4M2JiYi90YWJsZXJhbmdlOjNmMzE5NWFhMjg5ZjQ1MGE5ZjA2NDJlYWFmOTgzYmJiXzQtMS0xLTEtMzU3NDQ_a6db373b-5697-4f45-83aa-b38ee6ec694b"
      unitRef="usd">123534000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i53b900607ca84847ae14ffc3a3128c84_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTozZjMxOTVhYTI4OWY0NTBhOWYwNjQyZWFhZjk4M2JiYi90YWJsZXJhbmdlOjNmMzE5NWFhMjg5ZjQ1MGE5ZjA2NDJlYWFmOTgzYmJiXzQtMy0xLTEtMzU3NDQ_215f59c2-9b99-4476-95ee-315a72161d05"
      unitRef="usd">117312000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i225fb698b2bc4d1eb62a321be931f26a_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTozZjMxOTVhYTI4OWY0NTBhOWYwNjQyZWFhZjk4M2JiYi90YWJsZXJhbmdlOjNmMzE5NWFhMjg5ZjQ1MGE5ZjA2NDJlYWFmOTgzYmJiXzQtNS0xLTEtMzU3NDQ_b7c67428-1372-47a6-86fd-952bf9db231e"
      unitRef="usd">101923000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5bd5434cdb784ba990c09d0964adfb62_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTozZjMxOTVhYTI4OWY0NTBhOWYwNjQyZWFhZjk4M2JiYi90YWJsZXJhbmdlOjNmMzE5NWFhMjg5ZjQ1MGE5ZjA2NDJlYWFmOTgzYmJiXzYtMS0xLTEtMzY2MzQ_4a41ce30-6d1d-4145-95bf-43133ac923a1"
      unitRef="usd">118899000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i06a4a10f87104bbbbf86b32d67807d6f_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTozZjMxOTVhYTI4OWY0NTBhOWYwNjQyZWFhZjk4M2JiYi90YWJsZXJhbmdlOjNmMzE5NWFhMjg5ZjQ1MGE5ZjA2NDJlYWFmOTgzYmJiXzYtMy0xLTEtMzY2MzY_7271a345-ea09-48e6-aa26-ed44e66a00a2"
      unitRef="usd">60758000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4fd5fd639f134fb78894ca91aeeac9a2_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTozZjMxOTVhYTI4OWY0NTBhOWYwNjQyZWFhZjk4M2JiYi90YWJsZXJhbmdlOjNmMzE5NWFhMjg5ZjQ1MGE5ZjA2NDJlYWFmOTgzYmJiXzYtNS0xLTEtMzY2Mzg_6abc5b58-30d0-4777-bfff-3a04da243d0e"
      unitRef="usd">57295000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i694d5d1608bf4c109afdd913cee03d20_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTozZjMxOTVhYTI4OWY0NTBhOWYwNjQyZWFhZjk4M2JiYi90YWJsZXJhbmdlOjNmMzE5NWFhMjg5ZjQ1MGE5ZjA2NDJlYWFmOTgzYmJiXzctMS0xLTEtMzY2MzQ_98e5980e-c60c-4f99-87dc-6eb3a440248b"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i359c7e6289d84664a30d2174b6c589b7_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTozZjMxOTVhYTI4OWY0NTBhOWYwNjQyZWFhZjk4M2JiYi90YWJsZXJhbmdlOjNmMzE5NWFhMjg5ZjQ1MGE5ZjA2NDJlYWFmOTgzYmJiXzctMy0xLTEtMzY2MzY_74756f14-d0e9-43bc-8666-d11d1dbd8372"
      unitRef="usd">1847000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib633ae54ad02415dbb6bf69b959a2a2d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTozZjMxOTVhYTI4OWY0NTBhOWYwNjQyZWFhZjk4M2JiYi90YWJsZXJhbmdlOjNmMzE5NWFhMjg5ZjQ1MGE5ZjA2NDJlYWFmOTgzYmJiXzctNS0xLTEtMzY2Mzg_884c1222-cb5b-44b1-abc9-07f2fea8f36c"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id07f8c8205794af3b36e6c75fd73ea24_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTozZjMxOTVhYTI4OWY0NTBhOWYwNjQyZWFhZjk4M2JiYi90YWJsZXJhbmdlOjNmMzE5NWFhMjg5ZjQ1MGE5ZjA2NDJlYWFmOTgzYmJiXzgtMS0xLTEtMzU3OTA_5255e72a-e4f0-4f40-8ed8-5f4ece95adeb"
      unitRef="usd">118899000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i84821c63926a4157aacdca08ca3685af_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTozZjMxOTVhYTI4OWY0NTBhOWYwNjQyZWFhZjk4M2JiYi90YWJsZXJhbmdlOjNmMzE5NWFhMjg5ZjQ1MGE5ZjA2NDJlYWFmOTgzYmJiXzgtMy0xLTEtMzU3OTA_00498ad6-bb9c-4ee9-be1a-309a85298635"
      unitRef="usd">62605000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i792c0e21187e4314b636121d038fbbea_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTozZjMxOTVhYTI4OWY0NTBhOWYwNjQyZWFhZjk4M2JiYi90YWJsZXJhbmdlOjNmMzE5NWFhMjg5ZjQ1MGE5ZjA2NDJlYWFmOTgzYmJiXzgtNS0xLTEtMzU3OTA_fb13fb44-fe0d-47e6-bf31-7c07448372ba"
      unitRef="usd">57295000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTozZjMxOTVhYTI4OWY0NTBhOWYwNjQyZWFhZjk4M2JiYi90YWJsZXJhbmdlOjNmMzE5NWFhMjg5ZjQ1MGE5ZjA2NDJlYWFmOTgzYmJiXzktMS0xLTEtMzU3NDU_89f63d40-9ec5-4a35-a5ff-b5f4c6eff1ec"
      unitRef="usd">242433000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTozZjMxOTVhYTI4OWY0NTBhOWYwNjQyZWFhZjk4M2JiYi90YWJsZXJhbmdlOjNmMzE5NWFhMjg5ZjQ1MGE5ZjA2NDJlYWFmOTgzYmJiXzktMy0xLTEtMzU3NDU_05f6533c-d618-4914-9680-10b7fbe07aad"
      unitRef="usd">179917000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTozZjMxOTVhYTI4OWY0NTBhOWYwNjQyZWFhZjk4M2JiYi90YWJsZXJhbmdlOjNmMzE5NWFhMjg5ZjQ1MGE5ZjA2NDJlYWFmOTgzYmJiXzktNS0xLTEtMzU3NDU_deebb00f-4bcd-4fb6-83cd-858d40539d80"
      unitRef="usd">159218000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia537c35738594636a3ecd4c3bceef001_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyMWI4ZTMzYjZjOTY0OGI0YWY2OTcwYTk5YTU3ZDgyZS90YWJsZXJhbmdlOjIxYjhlMzNiNmM5NjQ4YjRhZjY5NzBhOTlhNTdkODJlXzEtMS0xLTEtMzMwMDY_bd2d213a-be49-4061-9c0d-61bd59c7072d"
      unitRef="usd">114159000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2b0ce93d25324e90977f25a1e5e53459_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyMWI4ZTMzYjZjOTY0OGI0YWY2OTcwYTk5YTU3ZDgyZS90YWJsZXJhbmdlOjIxYjhlMzNiNmM5NjQ4YjRhZjY5NzBhOTlhNTdkODJlXzEtMy0xLTEtMzMwMDk_5b531a04-8cc0-43a1-8f9b-fff8adb7d727"
      unitRef="usd">109410000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5965f4e767434404b022ed2d55df3da1_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyMWI4ZTMzYjZjOTY0OGI0YWY2OTcwYTk5YTU3ZDgyZS90YWJsZXJhbmdlOjIxYjhlMzNiNmM5NjQ4YjRhZjY5NzBhOTlhNTdkODJlXzEtNS0xLTEtMzMwMTE_166204d7-6a03-4705-a3d0-64dc80ace7d4"
      unitRef="usd">92336000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5964938007e14ea2b593d30dcdd62bf3_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyMWI4ZTMzYjZjOTY0OGI0YWY2OTcwYTk5YTU3ZDgyZS90YWJsZXJhbmdlOjIxYjhlMzNiNmM5NjQ4YjRhZjY5NzBhOTlhNTdkODJlXzItMS0xLTEtMzMwMDY_331fc509-a9e5-4fff-b751-5228a889347e"
      unitRef="usd">9375000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i857e59a32ad74662997a012395c1ddb3_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyMWI4ZTMzYjZjOTY0OGI0YWY2OTcwYTk5YTU3ZDgyZS90YWJsZXJhbmdlOjIxYjhlMzNiNmM5NjQ4YjRhZjY5NzBhOTlhNTdkODJlXzItMy0xLTEtMzMwMDk_f135536e-0b22-4c42-a680-64863e211380"
      unitRef="usd">7902000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8676398d266640c298445a53d5020a32_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyMWI4ZTMzYjZjOTY0OGI0YWY2OTcwYTk5YTU3ZDgyZS90YWJsZXJhbmdlOjIxYjhlMzNiNmM5NjQ4YjRhZjY5NzBhOTlhNTdkODJlXzItNS0xLTEtMzMwMTE_d2db9e51-1743-48a4-98ea-be69b6e26323"
      unitRef="usd">9587000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id7fb253162fb4a8c8a3ddd6ab565af9d_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyMWI4ZTMzYjZjOTY0OGI0YWY2OTcwYTk5YTU3ZDgyZS90YWJsZXJhbmdlOjIxYjhlMzNiNmM5NjQ4YjRhZjY5NzBhOTlhNTdkODJlXzQtMS0xLTEtMzU4MTE_67da4a3b-4736-4db0-afc6-b6a59cf70136"
      unitRef="usd">123534000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i53b900607ca84847ae14ffc3a3128c84_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyMWI4ZTMzYjZjOTY0OGI0YWY2OTcwYTk5YTU3ZDgyZS90YWJsZXJhbmdlOjIxYjhlMzNiNmM5NjQ4YjRhZjY5NzBhOTlhNTdkODJlXzQtMy0xLTEtMzU4MTE_31de0463-6918-41a6-aa9e-69ca84c79cec"
      unitRef="usd">117312000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i225fb698b2bc4d1eb62a321be931f26a_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyMWI4ZTMzYjZjOTY0OGI0YWY2OTcwYTk5YTU3ZDgyZS90YWJsZXJhbmdlOjIxYjhlMzNiNmM5NjQ4YjRhZjY5NzBhOTlhNTdkODJlXzQtNS0xLTEtMzU4MTE_fbdcc177-f12a-40a3-9801-abc3049300bf"
      unitRef="usd">101923000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1b261d531a6d456c9389333979048f0a_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyMWI4ZTMzYjZjOTY0OGI0YWY2OTcwYTk5YTU3ZDgyZS90YWJsZXJhbmdlOjIxYjhlMzNiNmM5NjQ4YjRhZjY5NzBhOTlhNTdkODJlXzYtMS0xLTEtMzY2NDA_db56fd66-ada0-4ec2-9b30-5050493f8c48"
      unitRef="usd">118717000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3dc8457abb3440b8b7445363523869f5_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyMWI4ZTMzYjZjOTY0OGI0YWY2OTcwYTk5YTU3ZDgyZS90YWJsZXJhbmdlOjIxYjhlMzNiNmM5NjQ4YjRhZjY5NzBhOTlhNTdkODJlXzYtMy0xLTEtMzY2NDI_9c655838-ef16-41fb-9a42-0cd61c5559f8"
      unitRef="usd">62267000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie639164f9fcd4829aa0241cb0d9e612b_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyMWI4ZTMzYjZjOTY0OGI0YWY2OTcwYTk5YTU3ZDgyZS90YWJsZXJhbmdlOjIxYjhlMzNiNmM5NjQ4YjRhZjY5NzBhOTlhNTdkODJlXzYtNS0xLTEtMzY2NDQ_56216059-364a-4a13-80e8-8ceb7d67bcae"
      unitRef="usd">56921000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i214ff7834a564a1383889f479ee84a67_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyMWI4ZTMzYjZjOTY0OGI0YWY2OTcwYTk5YTU3ZDgyZS90YWJsZXJhbmdlOjIxYjhlMzNiNmM5NjQ4YjRhZjY5NzBhOTlhNTdkODJlXzctMS0xLTEtMzY2NDA_a3a235df-463f-41e1-a049-bb837f4fd2da"
      unitRef="usd">182000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8ce928c2882c49898d50c6bcaa34c2f8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyMWI4ZTMzYjZjOTY0OGI0YWY2OTcwYTk5YTU3ZDgyZS90YWJsZXJhbmdlOjIxYjhlMzNiNmM5NjQ4YjRhZjY5NzBhOTlhNTdkODJlXzctMy0xLTEtMzY2NDI_bad66808-d121-432b-8a9d-02e51d70b84e"
      unitRef="usd">338000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i24023b7c6abe4d5789b36144ae26db3f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyMWI4ZTMzYjZjOTY0OGI0YWY2OTcwYTk5YTU3ZDgyZS90YWJsZXJhbmdlOjIxYjhlMzNiNmM5NjQ4YjRhZjY5NzBhOTlhNTdkODJlXzctNS0xLTEtMzY2NDQ_71c38386-e89a-4d01-9b3b-4b84c843e390"
      unitRef="usd">374000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id07f8c8205794af3b36e6c75fd73ea24_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyMWI4ZTMzYjZjOTY0OGI0YWY2OTcwYTk5YTU3ZDgyZS90YWJsZXJhbmdlOjIxYjhlMzNiNmM5NjQ4YjRhZjY5NzBhOTlhNTdkODJlXzgtMS0xLTEtMzU4MjQ_af867e08-c823-43ae-992b-7a2326e5478d"
      unitRef="usd">118899000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i84821c63926a4157aacdca08ca3685af_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyMWI4ZTMzYjZjOTY0OGI0YWY2OTcwYTk5YTU3ZDgyZS90YWJsZXJhbmdlOjIxYjhlMzNiNmM5NjQ4YjRhZjY5NzBhOTlhNTdkODJlXzgtMy0xLTEtMzU4MjQ_f3ccfdc2-b04e-487d-8572-807b930c7e2b"
      unitRef="usd">62605000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i792c0e21187e4314b636121d038fbbea_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyMWI4ZTMzYjZjOTY0OGI0YWY2OTcwYTk5YTU3ZDgyZS90YWJsZXJhbmdlOjIxYjhlMzNiNmM5NjQ4YjRhZjY5NzBhOTlhNTdkODJlXzgtNS0xLTEtMzU4MjQ_11b19624-1335-4e28-81d6-c6e6db37970b"
      unitRef="usd">57295000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyMWI4ZTMzYjZjOTY0OGI0YWY2OTcwYTk5YTU3ZDgyZS90YWJsZXJhbmdlOjIxYjhlMzNiNmM5NjQ4YjRhZjY5NzBhOTlhNTdkODJlXzMtMS0xLTEtMzMwMDY_685ff231-9d15-47a7-b53b-bcf44ef6705d"
      unitRef="usd">242433000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyMWI4ZTMzYjZjOTY0OGI0YWY2OTcwYTk5YTU3ZDgyZS90YWJsZXJhbmdlOjIxYjhlMzNiNmM5NjQ4YjRhZjY5NzBhOTlhNTdkODJlXzMtMy0xLTEtMzMwMDk_49857c83-48ed-45d9-9f6b-36dd7a701214"
      unitRef="usd">179917000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyMWI4ZTMzYjZjOTY0OGI0YWY2OTcwYTk5YTU3ZDgyZS90YWJsZXJhbmdlOjIxYjhlMzNiNmM5NjQ4YjRhZjY5NzBhOTlhNTdkODJlXzMtNS0xLTEtMzMwMTE_86381acb-3c5f-4b37-b1c8-5ccb2ae08712"
      unitRef="usd">159218000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if329cccf9f9e487696d442f385bf1091_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzEtMS0xLTEtMjg0MzM_9210cd8c-ae9f-41bf-a8ed-9956af2e3ed5"
      unitRef="usd">104534000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2902cbf6c71941dcb737e3d974796a20_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzEtMy0xLTEtMjg0MzM_a8b06bc5-7a12-4b98-8ae7-53723b59187a"
      unitRef="usd">98379000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i669516292ece4fc4b6624ef0d2802ab7_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzEtNS0xLTEtMjg0MzM_a062f047-7525-4add-993f-37fb1569cce5"
      unitRef="usd">80316000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="idea50068e3ab46909764e8acc644abd2_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzItMS0xLTEtMjg0MzM_e351c71f-b632-4082-a731-7d83c29f3410"
      unitRef="usd">12433000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic86c76a378464c5ab6cc51453a49c00a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzItMy0xLTEtMjg0MzM_5cc6308e-c519-45fb-aa9e-ce98b201a52c"
      unitRef="usd">12617000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i710ddd9c41804a6fb120977b7c568589_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzItNS0xLTEtMjg0MzM_087961d0-56c2-4d77-afa3-c2973daa32da"
      unitRef="usd">14100000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5d7faf5af0a9491d8c35c3a501be66fe_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzMtMS0xLTEtMjg0MzM_134b4cb6-10d5-4c3e-9751-8d03591e2ec3"
      unitRef="usd">6567000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ida01894bcd654e2299de3b2aebbe8007_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzMtMy0xLTEtMjg0MzM_43c47967-8299-4f0c-9f75-bc1e7b0afa5f"
      unitRef="usd">6316000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i85b48e160acc434aa5c40637f1591da4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzMtNS0xLTEtMjg0MzM_66142987-bbed-4e4b-aead-859bf69bf42d"
      unitRef="usd">7507000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id7fb253162fb4a8c8a3ddd6ab565af9d_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzUtMS0xLTEtMzU4Njg_81add197-ad8b-473a-ad6c-0bc1c4048ec5"
      unitRef="usd">123534000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i53b900607ca84847ae14ffc3a3128c84_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzUtMy0xLTEtMzU4Njg_3d77c20b-0704-46c6-8f22-b4098bdf91a6"
      unitRef="usd">117312000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i225fb698b2bc4d1eb62a321be931f26a_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzUtNS0xLTEtMzU4Njg_805415bc-3c1a-4bf2-b739-e1bb5dcd2993"
      unitRef="usd">101923000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iaa1f5c0bd2f74b598a19d6ff731ee1f9_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzctMS0xLTEtMzY2NDg_068c8c7d-7220-4969-9489-bdbf62652862"
      unitRef="usd">107770000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5894ab82062c4e298bcf89d00a6210b0_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzctMy0xLTEtMzY2NTA_c8f8b2da-b5a4-4e25-ac06-e350427c9e17"
      unitRef="usd">53324000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1f10497ad9184da781b63c2914e5ccc4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzctNS0xLTEtMzY2NTI_b6683d53-4618-4f64-b419-2fd6024f50e3"
      unitRef="usd">51313000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i75ba5c05736a47ceb2d4501ab339b0dd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzgtMS0xLTEtMzY2NDg_c156da2e-e214-4685-ac39-ca7e17a33ba6"
      unitRef="usd">28000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iaf5f01493e2c4bfd90fc38c5b98d217e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzgtMy0xLTEtMzY2NTA_99ffa8c8-3216-4568-b05b-29081e033fa9"
      unitRef="usd">838000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5f897ebfb726464e970e0b8fc718dcc2_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzgtNS0xLTEtMzY2NTI_629169cb-03ac-4a79-8045-7266afb0536e"
      unitRef="usd">469000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib7a5aef5fa154cac86bbf1fb7110ba2e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzktMS0xLTEtMzY2NDg_6a028c1f-dd43-4de0-be03-13e1b7c443db"
      unitRef="usd">11101000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6975bad7bb774cc59c0fba5a46e441b5_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzktMy0xLTEtMzY2NTA_3eca0270-bf1a-49a7-bfa4-f03d54899833"
      unitRef="usd">8443000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7a2d1cec79d8423c882fade74ec808ce_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzktNS0xLTEtMzY2NTI_dd9513fa-df65-4ed1-99ae-c7b03c5a261c"
      unitRef="usd">5513000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id07f8c8205794af3b36e6c75fd73ea24_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzEwLTEtMS0xLTM1ODY5_a21b4efc-4396-43e1-bdb9-7b19b100bae0"
      unitRef="usd">118899000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i84821c63926a4157aacdca08ca3685af_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzEwLTMtMS0xLTM1ODY5_d36fa136-5f92-4098-9429-50b2b2e8af1f"
      unitRef="usd">62605000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i792c0e21187e4314b636121d038fbbea_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzEwLTUtMS0xLTM1ODY5_3c8cca15-cdd7-49c3-9637-1638a1235bfb"
      unitRef="usd">57295000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzQtMS0xLTEtMjg0MzM_23b02fe7-9e84-4db9-972f-0a0333384ca7"
      unitRef="usd">242433000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzQtMy0xLTEtMjg0MzM_6ac0be95-ea5a-4bd6-b868-9c19b7346565"
      unitRef="usd">179917000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmODI1ZWQxN2RiMTM0YjJjYjJiYzE3NjMwYWU1NmRkYS90YWJsZXJhbmdlOmY4MjVlZDE3ZGIxMzRiMmNiMmJjMTc2MzBhZTU2ZGRhXzQtNS0xLTEtMjg0MzM_b4d34001-fbcf-49a9-a5a9-b8949cc3ba9b"
      unitRef="usd">159218000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i856cdc96dffb4473b634cd29bd8f8569_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90ZXh0cmVnaW9uOjJkYWMzNjhhMjhkNDQzNWFhYWRkOTY2N2NlZGM2NWMyXzEwOTk1MTE2Njc4Nzk_aa9dd48e-4412-4142-a9ba-93d32559a38b"
      unitRef="number">0.961</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i3e3a426ca3cf4e73b74cec8d2289fc21_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90ZXh0cmVnaW9uOjJkYWMzNjhhMjhkNDQzNWFhYWRkOTY2N2NlZGM2NWMyXzEwOTk1MTE2Njc4ODM_e1cbc1d8-9b5d-4afc-bab2-5ed70e5869b9"
      unitRef="number">0.954</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="iab85ae8d2eda4324b25937a2f38290ed_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90ZXh0cmVnaW9uOjJkYWMzNjhhMjhkNDQzNWFhYWRkOTY2N2NlZGM2NWMyXzEwOTk1MTE2Njc4ODc_68b9b7cb-a104-48bb-9a1f-8d1fd3a5522c"
      unitRef="number">0.937</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i2f03a55899294ba49dcd55d35910217f_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90ZXh0cmVnaW9uOjJkYWMzNjhhMjhkNDQzNWFhYWRkOTY2N2NlZGM2NWMyXzM2MA_f50bc322-c5fa-400d-b799-7784965963cc"
      unitRef="number">0.973</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i2486a6108522488b9ca7da30fc6e9d2b_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyYzhhYmYzZTQzZjM0MzI3YTcxMDI0ZDgxMzhmZTRjNi90YWJsZXJhbmdlOjJjOGFiZjNlNDNmMzQzMjdhNzEwMjRkODEzOGZlNGM2XzEtMS0xLTEtMzY2Mjg_35b5004d-a2f4-4277-8be9-f27622eb9599"
      unitRef="number">0.74</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="id46c84bf6a8f41f7bcaf166c9805a7c2_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyYzhhYmYzZTQzZjM0MzI3YTcxMDI0ZDgxMzhmZTRjNi90YWJsZXJhbmdlOjJjOGFiZjNlNDNmMzQzMjdhNzEwMjRkODEzOGZlNGM2XzEtMy0xLTEtMzY2Mjg_5e1379d0-6e7f-444b-bbd4-5180b2f2e690"
      unitRef="number">0.65</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i8965376647c74dc79f2969520dca37c1_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyYzhhYmYzZTQzZjM0MzI3YTcxMDI0ZDgxMzhmZTRjNi90YWJsZXJhbmdlOjJjOGFiZjNlNDNmMzQzMjdhNzEwMjRkODEzOGZlNGM2XzEtNS0xLTEtMzY2Mjg_1131ebb2-2b1b-4a70-91cb-dc5697302827"
      unitRef="number">0.65</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i07c20fefb6f9477590420eee53a01579_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyYzhhYmYzZTQzZjM0MzI3YTcxMDI0ZDgxMzhmZTRjNi90YWJsZXJhbmdlOjJjOGFiZjNlNDNmMzQzMjdhNzEwMjRkODEzOGZlNGM2XzItMS0xLTEtMzY2Mjg_05650580-de86-4b47-9b96-0cff2660f8d9"
      unitRef="number">0.22</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i722981c365cd420d90b026e322f9c41b_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyYzhhYmYzZTQzZjM0MzI3YTcxMDI0ZDgxMzhmZTRjNi90YWJsZXJhbmdlOjJjOGFiZjNlNDNmMzQzMjdhNzEwMjRkODEzOGZlNGM2XzItMy0xLTEtMzY2Mjg_08b3c766-7052-4fec-acaf-e10ff2d52ad0"
      unitRef="number">0.30</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ia3d977ad6fc54a9fabec8ffa5fa97813_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZToyYzhhYmYzZTQzZjM0MzI3YTcxMDI0ZDgxMzhmZTRjNi90YWJsZXJhbmdlOjJjOGFiZjNlNDNmMzQzMjdhNzEwMjRkODEzOGZlNGM2XzItNS0xLTEtMzY2Mjg_e69349ad-f2a3-4af4-b2c4-0ea123473f7d"
      unitRef="number">0.29</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90ZXh0cmVnaW9uOjJkYWMzNjhhMjhkNDQzNWFhYWRkOTY2N2NlZGM2NWMyXzMyOTg1MzQ5MjgzMTg_ecae6bfe-d36d-4533-ac27-80a1e28e0e04">&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract balances for the periods presented are as follow (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:55.917%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.642%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.642%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.647%"/&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="15" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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 #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2020&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contract assets (unbilled receivables)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,374&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,161&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,745&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contract 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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,381&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,654&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,337&#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;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&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="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Remaining performance obligation (funded backlog)&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;123,479&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;127,735&#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;/table&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:UnbilledContractsReceivable
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmMzljMDc5YTkwNGM0OWU1YTI3NDc0MGRlMTg2NjQ2Ny90YWJsZXJhbmdlOmYzOWMwNzlhOTA0YzQ5ZTVhMjc0NzQwZGUxODY2NDY3XzEtMi0xLTEtNDY2OTI_e9315162-c4a6-46f6-bba5-439dc4b94a16"
      unitRef="usd">41374000</us-gaap:UnbilledContractsReceivable>
    <us-gaap:UnbilledContractsReceivable
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmMzljMDc5YTkwNGM0OWU1YTI3NDc0MGRlMTg2NjQ2Ny90YWJsZXJhbmdlOmYzOWMwNzlhOTA0YzQ5ZTVhMjc0NzQwZGUxODY2NDY3XzEtNC0xLTEtNDY2OTc_8f969784-f367-4a35-822c-fac4382256c7"
      unitRef="usd">19161000</us-gaap:UnbilledContractsReceivable>
    <us-gaap:UnbilledContractsReceivable
      contextRef="ibd17c1a727e14c3eb048e13fd9d1c173_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmMzljMDc5YTkwNGM0OWU1YTI3NDc0MGRlMTg2NjQ2Ny90YWJsZXJhbmdlOmYzOWMwNzlhOTA0YzQ5ZTVhMjc0NzQwZGUxODY2NDY3XzItNi0xLTEtNTczNzQ_aea9c371-3d88-4e9d-8b1e-74b6b9953f98"
      unitRef="usd">16745000</us-gaap:UnbilledContractsReceivable>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmMzljMDc5YTkwNGM0OWU1YTI3NDc0MGRlMTg2NjQ2Ny90YWJsZXJhbmdlOmYzOWMwNzlhOTA0YzQ5ZTVhMjc0NzQwZGUxODY2NDY3XzItMi0xLTEtNDY2OTI_14c3dad5-1020-489e-aefb-56a7a4a1b08a"
      unitRef="usd">6381000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmMzljMDc5YTkwNGM0OWU1YTI3NDc0MGRlMTg2NjQ2Ny90YWJsZXJhbmdlOmYzOWMwNzlhOTA0YzQ5ZTVhMjc0NzQwZGUxODY2NDY3XzItNC0xLTEtNDY2OTc_d94f46c2-ce6c-458e-bc91-5693bf08cc42"
      unitRef="usd">5654000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="ibd17c1a727e14c3eb048e13fd9d1c173_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTpmMzljMDc5YTkwNGM0OWU1YTI3NDc0MGRlMTg2NjQ2Ny90YWJsZXJhbmdlOmYzOWMwNzlhOTA0YzQ5ZTVhMjc0NzQwZGUxODY2NDY3XzMtNi0xLTEtNTczNzQ_c47b9332-5e43-48c0-a0a2-78d8f7c7c675"
      unitRef="usd">6337000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90ZXh0cmVnaW9uOjJkYWMzNjhhMjhkNDQzNWFhYWRkOTY2N2NlZGM2NWMyXzI3NDg3NzkxMTQzODI_f6601aac-9a91-42f5-912a-e737e45f1ff0"
      unitRef="usd">4300000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90ZXh0cmVnaW9uOjJkYWMzNjhhMjhkNDQzNWFhYWRkOTY2N2NlZGM2NWMyXzI3NDg3NzkxMTQ0MDA_b85ac81b-517a-455e-ad42-96b0f7dd3ef0"
      unitRef="usd">5300000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90ZXh0cmVnaW9uOjJkYWMzNjhhMjhkNDQzNWFhYWRkOTY2N2NlZGM2NWMyXzI3NDg3NzkxMTQ0MTg_fa56f877-515d-4525-bf43-a92a63098941"
      unitRef="usd">4200000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTo3NTQwNWFkNzJhNDY0YTNkOWE3ZTBkYjQyOWVhODBmNS90YWJsZXJhbmdlOjc1NDA1YWQ3MmE0NjRhM2Q5YTdlMGRiNDI5ZWE4MGY1XzItMS0xLTEtMzA1MDQ_2c030a4d-dd3e-49cd-8ad6-4c4d39b8473b"
      unitRef="usd">123479000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90YWJsZTo3NTQwNWFkNzJhNDY0YTNkOWE3ZTBkYjQyOWVhODBmNS90YWJsZXJhbmdlOjc1NDA1YWQ3MmE0NjRhM2Q5YTdlMGRiNDI5ZWE4MGY1XzItMy0xLTEtMzA1MDQ_72781a3c-3e04-415e-8652-7ec25aff1923"
      unitRef="usd">127735000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage
      contextRef="i3aa04eb08dab451b9f14d9f3ee08e871_I20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90ZXh0cmVnaW9uOjJkYWMzNjhhMjhkNDQzNWFhYWRkOTY2N2NlZGM2NWMyXzEwOTk1MTE2Njc4OTg_931dbd34-8006-4992-b89f-ceda89f07864"
      unitRef="number">0.858</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage
      contextRef="ie424bb1990354434a8a8dc1fee49e896_I20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzMvZnJhZzoyZGFjMzY4YTI4ZDQ0MzVhYWFkZDk2NjdjZWRjNjVjMi90ZXh0cmVnaW9uOjJkYWMzNjhhMjhkNDQzNWFhYWRkOTY2N2NlZGM2NWMyXzEwOTk1MTE2Njc5MDY_aecbdfc8-6f55-4932-9876-d39e4daf221b"
      unitRef="number">0.141</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:AccountsAndNontradeReceivableTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGV4dHJlZ2lvbjpjY2UzOTc4M2MxOTE0OWVmOTU4YzhkN2JkOWU0Y2EzNl8zMjk4NTM0ODg1Njgx_c8cee3aa-4e36-4e64-9465-16f67147c67b">Accounts Receivables&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"&gt;Billed receivables are amounts billed and due from our customers and are reported within accounts receivable, net of reserve on the consolidated balance sheets. The portion of the payments retained by the customer until final contract settlement is not considered a significant financing component due to the intent of the retainage being the customer&#x2019;s protection with respect to full and final performance under the contract.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of accounts receivable, net consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&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="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Billed accounts receivable&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;18,586&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;12,060&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Unbilled receivables&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;41,374&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;19,161&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Allowance for doubtful accounts&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(116)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(308)&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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable, net&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 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;59,844&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;30,913&#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;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The activities in the allowance for doubtful accounts are set forth below (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.613%"/&gt;&lt;td style="width:0.1%"/&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.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:14.835%"/&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.624%"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Balance Beginning&lt;br/&gt;of Year&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:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Bad Debt&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Expenses &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Write-offs / Recoveries &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Balance&lt;br/&gt;End&lt;br/&gt;of Year&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:12pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Year Ended December 31, 2021&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;308&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;7&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(199)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;116&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Year Ended December 31, 2020&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;720&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Year Ended December 31, 2019&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;414&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;720&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.43pt"&gt;Accounts receivable reserves and reversal of allowance for subsequent collections, net&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.43pt"&gt;Accounts receivable written-off and subsequent recoveries, net&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"&gt;On July 15, 2016, the Company entered into an accounts receivable purchase agreement under which the Company could sell certain accounts receivable (balance not to exceed $10 million) to a third party, or the &#x201c;Factor&#x201d;, without recourse to the Company, with an availability period through June 30, 2022. There were no accounts receivable sold during 2021 and 2020, respectively. As of December&#160;31, 2021 and 2020, there were no outstanding sold accounts receivable.&lt;/span&gt;&lt;/div&gt;</us-gaap:AccountsAndNontradeReceivableTextBlock>
    <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGV4dHJlZ2lvbjpjY2UzOTc4M2MxOTE0OWVmOTU4YzhkN2JkOWU0Y2EzNl8zMjk4NTM0ODg1Njgy_c3a2d7ca-7277-4b99-ab6d-e8c70d4ba440">&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of accounts receivable, net consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&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="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Billed accounts receivable&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;18,586&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;12,060&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Unbilled receivables&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;41,374&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;19,161&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Allowance for doubtful accounts&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(116)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(308)&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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable, net&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 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;59,844&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;30,913&#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:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
    <us-gaap:BilledContractReceivables
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGFibGU6NDhiOWZiNDc4MDdjNDBjNTgyM2RmZTBlZjc0ZWJjMjEvdGFibGVyYW5nZTo0OGI5ZmI0NzgwN2M0MGM1ODIzZGZlMGVmNzRlYmMyMV8yLTEtMS0xLTI4OTU1_e8676e59-c75e-44de-9b0a-f5fc96412a29"
      unitRef="usd">18586000</us-gaap:BilledContractReceivables>
    <us-gaap:BilledContractReceivables
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGFibGU6NDhiOWZiNDc4MDdjNDBjNTgyM2RmZTBlZjc0ZWJjMjEvdGFibGVyYW5nZTo0OGI5ZmI0NzgwN2M0MGM1ODIzZGZlMGVmNzRlYmMyMV8yLTMtMS0xLTI4OTU1_85ac1f81-3b0b-4920-9eca-1f46e87632ee"
      unitRef="usd">12060000</us-gaap:BilledContractReceivables>
    <us-gaap:UnbilledContractsReceivable
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGFibGU6NDhiOWZiNDc4MDdjNDBjNTgyM2RmZTBlZjc0ZWJjMjEvdGFibGVyYW5nZTo0OGI5ZmI0NzgwN2M0MGM1ODIzZGZlMGVmNzRlYmMyMV8zLTEtMS0xLTI4OTU1_35125339-4325-4603-b902-ade09694160a"
      unitRef="usd">41374000</us-gaap:UnbilledContractsReceivable>
    <us-gaap:UnbilledContractsReceivable
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGFibGU6NDhiOWZiNDc4MDdjNDBjNTgyM2RmZTBlZjc0ZWJjMjEvdGFibGVyYW5nZTo0OGI5ZmI0NzgwN2M0MGM1ODIzZGZlMGVmNzRlYmMyMV8zLTMtMS0xLTI4OTU1_8da9ebb1-7bc7-4064-8087-e7a432e32184"
      unitRef="usd">19161000</us-gaap:UnbilledContractsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGFibGU6NDhiOWZiNDc4MDdjNDBjNTgyM2RmZTBlZjc0ZWJjMjEvdGFibGVyYW5nZTo0OGI5ZmI0NzgwN2M0MGM1ODIzZGZlMGVmNzRlYmMyMV80LTEtMS0xLTI4OTU1_5bc5e3f7-d3b9-4ab4-9e1e-2bf101a1a59b"
      unitRef="usd">116000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGFibGU6NDhiOWZiNDc4MDdjNDBjNTgyM2RmZTBlZjc0ZWJjMjEvdGFibGVyYW5nZTo0OGI5ZmI0NzgwN2M0MGM1ODIzZGZlMGVmNzRlYmMyMV80LTMtMS0xLTI4OTU1_de4c3ac0-6260-482e-b9dc-5104163efd1b"
      unitRef="usd">308000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGFibGU6NDhiOWZiNDc4MDdjNDBjNTgyM2RmZTBlZjc0ZWJjMjEvdGFibGVyYW5nZTo0OGI5ZmI0NzgwN2M0MGM1ODIzZGZlMGVmNzRlYmMyMV81LTEtMS0xLTI4OTU1_c651bfa9-2db4-420b-a157-1403b1498007"
      unitRef="usd">59844000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGFibGU6NDhiOWZiNDc4MDdjNDBjNTgyM2RmZTBlZjc0ZWJjMjEvdGFibGVyYW5nZTo0OGI5ZmI0NzgwN2M0MGM1ODIzZGZlMGVmNzRlYmMyMV81LTMtMS0xLTI4OTU1_ae7ac734-a95e-46d5-bc55-d9e69a6d7179"
      unitRef="usd">30913000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGV4dHJlZ2lvbjpjY2UzOTc4M2MxOTE0OWVmOTU4YzhkN2JkOWU0Y2EzNl8zMjk4NTM0ODg1Njgz_d3229185-10a5-44e8-9137-c5205a2ca157">&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The activities in the allowance for doubtful accounts are set forth below (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.613%"/&gt;&lt;td style="width:0.1%"/&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.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:14.835%"/&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.624%"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Balance Beginning&lt;br/&gt;of Year&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:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Bad Debt&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Expenses &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Write-offs / Recoveries &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Balance&lt;br/&gt;End&lt;br/&gt;of Year&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:12pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Year Ended December 31, 2021&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;308&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;7&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(199)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;116&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Year Ended December 31, 2020&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;720&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Year Ended December 31, 2019&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;414&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;720&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.43pt"&gt;Accounts receivable reserves and reversal of allowance for subsequent collections, net&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.43pt"&gt;Accounts receivable written-off and subsequent recoveries, net&lt;/span&gt;&lt;/div&gt;</us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGFibGU6MmUyMWFiYjgyNTI2NDExYjlmOGQ0OGU0MzY0Yzg2MGUvdGFibGVyYW5nZToyZTIxYWJiODI1MjY0MTFiOWY4ZDQ4ZTQzNjRjODYwZV8yLTEtMS0xLTI4OTU1_30e712e5-6f39-42ae-ba84-dbd40c92184e"
      unitRef="usd">308000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGFibGU6MmUyMWFiYjgyNTI2NDExYjlmOGQ0OGU0MzY0Yzg2MGUvdGFibGVyYW5nZToyZTIxYWJiODI1MjY0MTFiOWY4ZDQ4ZTQzNjRjODYwZV8yLTMtMS0xLTI4OTU1_455084eb-3ceb-4087-b64f-30a7825b8698"
      unitRef="usd">-7000</us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGFibGU6MmUyMWFiYjgyNTI2NDExYjlmOGQ0OGU0MzY0Yzg2MGUvdGFibGVyYW5nZToyZTIxYWJiODI1MjY0MTFiOWY4ZDQ4ZTQzNjRjODYwZV8yLTUtMS0xLTI4OTU1_7a37cbd1-e5f3-4080-b896-610b2630bdfa"
      unitRef="usd">199000</us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGFibGU6MmUyMWFiYjgyNTI2NDExYjlmOGQ0OGU0MzY0Yzg2MGUvdGFibGVyYW5nZToyZTIxYWJiODI1MjY0MTFiOWY4ZDQ4ZTQzNjRjODYwZV8yLTctMS0xLTI4OTU1_2217d20c-a11e-46a8-8782-327d8c04d2e7"
      unitRef="usd">116000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="ibd17c1a727e14c3eb048e13fd9d1c173_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGFibGU6MmUyMWFiYjgyNTI2NDExYjlmOGQ0OGU0MzY0Yzg2MGUvdGFibGVyYW5nZToyZTIxYWJiODI1MjY0MTFiOWY4ZDQ4ZTQzNjRjODYwZV8zLTEtMS0xLTI4OTU1_d463b6a2-b6b0-45ea-ade1-df8ee02f8131"
      unitRef="usd">720000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGFibGU6MmUyMWFiYjgyNTI2NDExYjlmOGQ0OGU0MzY0Yzg2MGUvdGFibGVyYW5nZToyZTIxYWJiODI1MjY0MTFiOWY4ZDQ4ZTQzNjRjODYwZV8zLTMtMS0xLTI4OTU1_32df50d7-a48e-4a3f-a541-b179b8ae80c4"
      unitRef="usd">412000</us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGFibGU6MmUyMWFiYjgyNTI2NDExYjlmOGQ0OGU0MzY0Yzg2MGUvdGFibGVyYW5nZToyZTIxYWJiODI1MjY0MTFiOWY4ZDQ4ZTQzNjRjODYwZV8zLTUtMS0xLTI4OTU1_cd6a7e62-e5d1-491a-b10e-2b695bd74bf9"
      unitRef="usd">0</us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGFibGU6MmUyMWFiYjgyNTI2NDExYjlmOGQ0OGU0MzY0Yzg2MGUvdGFibGVyYW5nZToyZTIxYWJiODI1MjY0MTFiOWY4ZDQ4ZTQzNjRjODYwZV8zLTctMS0xLTI4OTU1_21c5c628-aeea-4723-a55b-904e2c1c109e"
      unitRef="usd">308000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="iadf4b09fd00b4cc28962e99c48301a62_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGFibGU6MmUyMWFiYjgyNTI2NDExYjlmOGQ0OGU0MzY0Yzg2MGUvdGFibGVyYW5nZToyZTIxYWJiODI1MjY0MTFiOWY4ZDQ4ZTQzNjRjODYwZV80LTEtMS0xLTI4OTU1_e7e23bf2-0918-4968-ba8a-f78e726c4aa7"
      unitRef="usd">306000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGFibGU6MmUyMWFiYjgyNTI2NDExYjlmOGQ0OGU0MzY0Yzg2MGUvdGFibGVyYW5nZToyZTIxYWJiODI1MjY0MTFiOWY4ZDQ4ZTQzNjRjODYwZV80LTMtMS0xLTI4OTU1_9222030e-8080-45fd-8875-2f9bcb7ae78b"
      unitRef="usd">-414000</us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGFibGU6MmUyMWFiYjgyNTI2NDExYjlmOGQ0OGU0MzY0Yzg2MGUvdGFibGVyYW5nZToyZTIxYWJiODI1MjY0MTFiOWY4ZDQ4ZTQzNjRjODYwZV80LTUtMS0xLTI4OTU1_18b988e6-d5e7-4987-987f-994359111ed1"
      unitRef="usd">0</us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="ibd17c1a727e14c3eb048e13fd9d1c173_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGFibGU6MmUyMWFiYjgyNTI2NDExYjlmOGQ0OGU0MzY0Yzg2MGUvdGFibGVyYW5nZToyZTIxYWJiODI1MjY0MTFiOWY4ZDQ4ZTQzNjRjODYwZV80LTctMS0xLTI4OTU1_4cb05877-2bbb-40e9-a248-5e9dc5107325"
      unitRef="usd">720000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <tls:MaximumLimitOfReceivablesSold
      contextRef="i7893495bed174c189b17ce7769f5bca2_D20160715-20160715"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGV4dHJlZ2lvbjpjY2UzOTc4M2MxOTE0OWVmOTU4YzhkN2JkOWU0Y2EzNl8xMDk5NTExNjM0MDg4_a19606cf-137b-4d04-a822-a87d70a19b88"
      unitRef="usd">10000000</tls:MaximumLimitOfReceivablesSold>
    <tls:ReceivablesSoldUnderFactoringAgreement
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGV4dHJlZ2lvbjpjY2UzOTc4M2MxOTE0OWVmOTU4YzhkN2JkOWU0Y2EzNl8xMDk5NTExNjI5Nzk2_0131d7f3-b07e-4c2c-817e-e99318884748"
      unitRef="usd">0</tls:ReceivablesSoldUnderFactoringAgreement>
    <tls:ReceivablesSoldUnderFactoringAgreement
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGV4dHJlZ2lvbjpjY2UzOTc4M2MxOTE0OWVmOTU4YzhkN2JkOWU0Y2EzNl8xMDk5NTExNjI5Nzk2_7a646d20-83b6-43e2-b5aa-f239837b2389"
      unitRef="usd">0</tls:ReceivablesSoldUnderFactoringAgreement>
    <tls:AmountOfRemainingSoldReceivables
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGV4dHJlZ2lvbjpjY2UzOTc4M2MxOTE0OWVmOTU4YzhkN2JkOWU0Y2EzNl8xMDk5NTExNjMwMDcz_88a0b0f4-2e8a-4909-bfc6-c45276fc4cd9"
      unitRef="usd">0</tls:AmountOfRemainingSoldReceivables>
    <tls:AmountOfRemainingSoldReceivables
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTI2L2ZyYWc6Y2NlMzk3ODNjMTkxNDllZjk1OGM4ZDdiZDllNGNhMzYvdGV4dHJlZ2lvbjpjY2UzOTc4M2MxOTE0OWVmOTU4YzhkN2JkOWU0Y2EzNl8xMDk5NTExNjMwMDcz_f038460b-b2ca-4c52-8e44-4784d28fabcd"
      unitRef="usd">0</tls:AmountOfRemainingSoldReceivables>
    <us-gaap:BusinessCombinationDisclosureTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODIzL2ZyYWc6ZDc1ZTZkZDRmZTRhNDBkNjgxZDVkOWY1ZWFjZGJmNWIvdGV4dHJlZ2lvbjpkNzVlNmRkNGZlNGE0MGQ2ODFkNWQ5ZjVlYWNkYmY1Yl8zMjk4NTM0ODg2MTQy_5803cc8e-8f14-4e9b-bedc-1ebc433bf757">Acquisition&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"&gt;On July&#160;30, 2021, the Company acquired the assets of Diamond Fortress Technologies ("DFT") and wholly-owned subsidiaries for a total purchase consideration of $6.7 million, inclusive of $0.3 million related to a pre-existing contractual arrangement with DFT. Upon closing, $5.9 million of cash was paid with an additional $0.6 million payable to DFT 18 months after the close date (the "holdback"). The holdback amount has been discounted to its present value of $0.5 million using a discount rate relevant to the acquisition. The acquisition adds several new patents to the Company&#x2019;s library of biometric and digital identity intellectual property. The addition of contactless biometrics technology will enable the Company to better serve the needs of organizations in existing and new markets. The acquisition of DFT has been accounted for under U.S. GAAP using the acquisition method of accounting. The total purchase consideration of $6.7 million has been allocated among the assets acquired at their fair value at acquisition date. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"&gt;The Company recognized $3.7 million of intangible assets and $3.0 million of goodwill, which is housed in the Telos ID reporting unit, part of the Security Solutions operating segment. Goodwill is primarily attributable to excess of the purchase price over the acquired identifiable net tangible and intangible assets. The acquired intangible assets will be amortized on a straight-line basis over 3 - 8 years. The acquisition was considered an asset purchase for tax purposes and the recognized goodwill is deductible for tax purposes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"&gt;The results of DFT operations have been included in our consolidated statements of operations from the acquisition date, and are not material for the year ended December 31, 2021. Acquisition-related costs were immaterial and have been expensed as incurred. The pro-forma financial information has not been presented for this acquisition as the impact to our consolidated financial statements is not material.&lt;/span&gt;&lt;/div&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i72add7a7b792454c959761fd334824a4_D20210730-20210730"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODIzL2ZyYWc6ZDc1ZTZkZDRmZTRhNDBkNjgxZDVkOWY1ZWFjZGJmNWIvdGV4dHJlZ2lvbjpkNzVlNmRkNGZlNGE0MGQ2ODFkNWQ5ZjVlYWNkYmY1Yl8yNzQ4Nzc5MDcyNDAy_3298551e-1511-4ef9-9e73-fec67b75ac5d"
      unitRef="usd">6700000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationSeparatelyRecognizedTransactionsAdditionalDisclosuresAcquisitionCosts
      contextRef="i1133db34c1894b588d987e5aeca99e26_I20210730"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODIzL2ZyYWc6ZDc1ZTZkZDRmZTRhNDBkNjgxZDVkOWY1ZWFjZGJmNWIvdGV4dHJlZ2lvbjpkNzVlNmRkNGZlNGE0MGQ2ODFkNWQ5ZjVlYWNkYmY1Yl8yNzQ4Nzc5MDcyNDE3_2db7a97e-c2ca-46d2-8b85-be7ef6cd29ee"
      unitRef="usd">300000</us-gaap:BusinessCombinationSeparatelyRecognizedTransactionsAdditionalDisclosuresAcquisitionCosts>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i72add7a7b792454c959761fd334824a4_D20210730-20210730"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODIzL2ZyYWc6ZDc1ZTZkZDRmZTRhNDBkNjgxZDVkOWY1ZWFjZGJmNWIvdGV4dHJlZ2lvbjpkNzVlNmRkNGZlNGE0MGQ2ODFkNWQ5ZjVlYWNkYmY1Yl8yNzQ4Nzc5MDcyNDMy_9ce91e78-c63a-4e84-9ddd-ea9868215279"
      unitRef="usd">5900000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="i72add7a7b792454c959761fd334824a4_D20210730-20210730"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODIzL2ZyYWc6ZDc1ZTZkZDRmZTRhNDBkNjgxZDVkOWY1ZWFjZGJmNWIvdGV4dHJlZ2lvbjpkNzVlNmRkNGZlNGE0MGQ2ODFkNWQ5ZjVlYWNkYmY1Yl8yNzQ4Nzc5MDcyNDQ3_879123f0-5f6d-412f-ae25-34f79dd30c62"
      unitRef="usd">600000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <tls:BusinessCombinationConsiderationTransferredLiabilitiesIncurredCashHoldbackPeriod
      contextRef="i72add7a7b792454c959761fd334824a4_D20210730-20210730"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODIzL2ZyYWc6ZDc1ZTZkZDRmZTRhNDBkNjgxZDVkOWY1ZWFjZGJmNWIvdGV4dHJlZ2lvbjpkNzVlNmRkNGZlNGE0MGQ2ODFkNWQ5ZjVlYWNkYmY1Yl8zMjk4NTM0ODg2NDI5_9bef1892-6bf4-4167-a74c-9d935a0a1d85">P18M</tls:BusinessCombinationConsiderationTransferredLiabilitiesIncurredCashHoldbackPeriod>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i1133db34c1894b588d987e5aeca99e26_I20210730"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODIzL2ZyYWc6ZDc1ZTZkZDRmZTRhNDBkNjgxZDVkOWY1ZWFjZGJmNWIvdGV4dHJlZ2lvbjpkNzVlNmRkNGZlNGE0MGQ2ODFkNWQ5ZjVlYWNkYmY1Yl8yNzQ4Nzc5MDcyNDYy_28708fb3-089b-4c3d-a047-a8798453ec3b"
      unitRef="usd">500000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i72add7a7b792454c959761fd334824a4_D20210730-20210730"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODIzL2ZyYWc6ZDc1ZTZkZDRmZTRhNDBkNjgxZDVkOWY1ZWFjZGJmNWIvdGV4dHJlZ2lvbjpkNzVlNmRkNGZlNGE0MGQ2ODFkNWQ5ZjVlYWNkYmY1Yl8yNzQ4Nzc5MDcyNDc3_c67bac32-e0a9-46ba-ab9c-07870dc60013"
      unitRef="usd">6700000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i1133db34c1894b588d987e5aeca99e26_I20210730"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODIzL2ZyYWc6ZDc1ZTZkZDRmZTRhNDBkNjgxZDVkOWY1ZWFjZGJmNWIvdGV4dHJlZ2lvbjpkNzVlNmRkNGZlNGE0MGQ2ODFkNWQ5ZjVlYWNkYmY1Yl8yNzQ4Nzc5MDcyNDky_df59c02d-55cd-4073-8f95-22962ae1fe21"
      unitRef="usd">3700000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i72add7a7b792454c959761fd334824a4_D20210730-20210730"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODIzL2ZyYWc6ZDc1ZTZkZDRmZTRhNDBkNjgxZDVkOWY1ZWFjZGJmNWIvdGV4dHJlZ2lvbjpkNzVlNmRkNGZlNGE0MGQ2ODFkNWQ5ZjVlYWNkYmY1Yl8yNzQ4Nzc5MDcyNTA3_681a7f2e-560b-49a1-a52f-79a4b21e3249"
      unitRef="usd">3000000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ide1f5f11f48c47ddbb0a38935124f8e0_D20210730-20210730"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODIzL2ZyYWc6ZDc1ZTZkZDRmZTRhNDBkNjgxZDVkOWY1ZWFjZGJmNWIvdGV4dHJlZ2lvbjpkNzVlNmRkNGZlNGE0MGQ2ODFkNWQ5ZjVlYWNkYmY1Yl8yNzQ4Nzc5MDcyNTEx_5b21c0fb-b401-4cce-a75b-377154551212">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i5fd2037efd81413d801cc60d72af77d7_D20210730-20210730"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODIzL2ZyYWc6ZDc1ZTZkZDRmZTRhNDBkNjgxZDVkOWY1ZWFjZGJmNWIvdGV4dHJlZ2lvbjpkNzVlNmRkNGZlNGE0MGQ2ODFkNWQ5ZjVlYWNkYmY1Yl8yNzQ4Nzc5MDcyNTE1_b2946a07-7770-44ae-bf7a-c1174534e913">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:GoodwillDisclosureTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMjEvZnJhZzpjMDFiZDc3ZmY5ZTI0ZTVhYTJhNmZmMGViNGIzOWRlYi90ZXh0cmVnaW9uOmMwMWJkNzdmZjllMjRlNWFhMmE2ZmYwZWI0YjM5ZGViXzI4Ng_724d278f-5f58-4b30-bd58-8d86c4743852">Goodwill&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying value of the goodwill is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:36.473%"/&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:18.783%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&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.384%"/&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: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Security Solutions&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Secure Networks&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2020&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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,916&#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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,916&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired goodwill&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,006&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,006&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 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-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:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,006&#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 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:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,916&#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 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:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,922&#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:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As discussed in &lt;/span&gt;&lt;span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;&lt;a href="#i8e34b731fff54b69b9e274b8895e4a4f_109" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Note 1&lt;/a&gt;&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; - Overview and Summary of Significant Accounting Policies of the Notes to Consolidated Financial Statements, we reorganized our segment reporting in the fourth quarter of 2021 to align with how our CODM currently oversees the business, allocates resources and evaluates operating performance. As a result of the segment reorganization, we reported two operating and reportable segments: Security Solutions and Secure Networks.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Security Solution segment consists of three reporting units: Secure Communications, Information Assurance / Xacta and Telos ID; while the Secure Networks segment also became its own reporting unit for purposes of testing goodwill. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The existing goodwill reported from prior years was previously identified under the Cyber Operations and Defense reporting unit, which was comprised of Information Assurance / Xacta and Secure Networks. We determined that the goodwill balance was specifically related to an acquisition associated within the Secure Networks reporting unit; therefore, the previous goodwill balance was allocated entirely under our updated reporting unit structure to Secure Networks. Our goodwill from the recent DFT acquisition is housed within the Telos ID reporting unit, which is part of the Security Solutions operating segment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The net assets attributable to the reporting units are determined based upon the estimated assets and liabilities attributable to the reporting units in deriving its free cash flows. In addition, the estimate of the total fair value of our reporting units is compared to the market capitalization of the Company. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill is subject to annual impairment tests and in the interim if triggering events are present before the annual tests, we will assess impairment. At year-end, the Company performed its annual impairment test of goodwill for all of the reporting units. Based on our qualitative assessment, we concluded that it was more-likely-than-not that the estimated fair value of the reporting units exceeded its carrying value. For the years ended December 31, 2021, 2020 and 2019, no impairment charges were taken.&lt;/span&gt;&lt;/div&gt;</us-gaap:GoodwillDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMjEvZnJhZzpjMDFiZDc3ZmY5ZTI0ZTVhYTJhNmZmMGViNGIzOWRlYi90ZXh0cmVnaW9uOmMwMWJkNzdmZjllMjRlNWFhMmE2ZmYwZWI0YjM5ZGViXzMyOTg1MzQ5MDM4NjQ_beb7a2d0-cd7d-4e11-bead-f606e235ecf2">&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying value of the goodwill is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:36.473%"/&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:18.783%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&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.384%"/&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: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Security Solutions&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Secure Networks&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2020&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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,916&#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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,916&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired goodwill&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,006&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,006&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 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-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:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,006&#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 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:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,916&#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 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:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,922&#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:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="i38980bfdbc144608937666f16d89aa46_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMjEvZnJhZzpjMDFiZDc3ZmY5ZTI0ZTVhYTJhNmZmMGViNGIzOWRlYi90YWJsZTowODkwNWYwNDk2YzA0MGRlOTNhNWQ1NTVkYzQ0YjUyYy90YWJsZXJhbmdlOjA4OTA1ZjA0OTZjMDQwZGU5M2E1ZDU1NWRjNDRiNTJjXzEtMi0xLTEtNDUwMjU_07c751ea-5766-456d-b71b-17c27dbd61db"
      unitRef="usd">0</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="id4283ab7bb8f42749d705d36afcfe4c4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMjEvZnJhZzpjMDFiZDc3ZmY5ZTI0ZTVhYTJhNmZmMGViNGIzOWRlYi90YWJsZTowODkwNWYwNDk2YzA0MGRlOTNhNWQ1NTVkYzQ0YjUyYy90YWJsZXJhbmdlOjA4OTA1ZjA0OTZjMDQwZGU5M2E1ZDU1NWRjNDRiNTJjXzEtNC0xLTEtNDY1NDk_f4f1aa03-1100-4500-8d51-86bf7127e7a2"
      unitRef="usd">14916000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMjEvZnJhZzpjMDFiZDc3ZmY5ZTI0ZTVhYTJhNmZmMGViNGIzOWRlYi90YWJsZTowODkwNWYwNDk2YzA0MGRlOTNhNWQ1NTVkYzQ0YjUyYy90YWJsZXJhbmdlOjA4OTA1ZjA0OTZjMDQwZGU5M2E1ZDU1NWRjNDRiNTJjXzEtNi0xLTEtNDUwMjU_8e75c641-0f51-4926-9f8d-38a048094e91"
      unitRef="usd">14916000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="id7fb253162fb4a8c8a3ddd6ab565af9d_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMjEvZnJhZzpjMDFiZDc3ZmY5ZTI0ZTVhYTJhNmZmMGViNGIzOWRlYi90YWJsZTowODkwNWYwNDk2YzA0MGRlOTNhNWQ1NTVkYzQ0YjUyYy90YWJsZXJhbmdlOjA4OTA1ZjA0OTZjMDQwZGU5M2E1ZDU1NWRjNDRiNTJjXzItMi0xLTEtNDUwMjU_fecb04bb-5893-481c-81c2-c346b0f76e42"
      unitRef="usd">3006000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="id07f8c8205794af3b36e6c75fd73ea24_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMjEvZnJhZzpjMDFiZDc3ZmY5ZTI0ZTVhYTJhNmZmMGViNGIzOWRlYi90YWJsZTowODkwNWYwNDk2YzA0MGRlOTNhNWQ1NTVkYzQ0YjUyYy90YWJsZXJhbmdlOjA4OTA1ZjA0OTZjMDQwZGU5M2E1ZDU1NWRjNDRiNTJjXzItNC0xLTEtNDUwMjU_a5121015-cd0c-4e75-9c38-49176f83dbd6"
      unitRef="usd">0</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMjEvZnJhZzpjMDFiZDc3ZmY5ZTI0ZTVhYTJhNmZmMGViNGIzOWRlYi90YWJsZTowODkwNWYwNDk2YzA0MGRlOTNhNWQ1NTVkYzQ0YjUyYy90YWJsZXJhbmdlOjA4OTA1ZjA0OTZjMDQwZGU5M2E1ZDU1NWRjNDRiNTJjXzItNi0xLTEtNDUwMjU_678650a1-bee5-4c5f-a231-7f794f7ac5c2"
      unitRef="usd">3006000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:Goodwill
      contextRef="i5dffb9064ad14f819a6252b984e407fb_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMjEvZnJhZzpjMDFiZDc3ZmY5ZTI0ZTVhYTJhNmZmMGViNGIzOWRlYi90YWJsZTowODkwNWYwNDk2YzA0MGRlOTNhNWQ1NTVkYzQ0YjUyYy90YWJsZXJhbmdlOjA4OTA1ZjA0OTZjMDQwZGU5M2E1ZDU1NWRjNDRiNTJjXzMtMi0xLTEtNDUwMjU_3b23f68b-b9b6-4530-8f2a-ca5692f82d68"
      unitRef="usd">3006000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ic903b104b68b45ec9076aa99e1c168fb_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMjEvZnJhZzpjMDFiZDc3ZmY5ZTI0ZTVhYTJhNmZmMGViNGIzOWRlYi90YWJsZTowODkwNWYwNDk2YzA0MGRlOTNhNWQ1NTVkYzQ0YjUyYy90YWJsZXJhbmdlOjA4OTA1ZjA0OTZjMDQwZGU5M2E1ZDU1NWRjNDRiNTJjXzMtNC0xLTEtNDUwMjU_327f64ae-e05f-430f-ac5b-72056df8d4b2"
      unitRef="usd">14916000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMjEvZnJhZzpjMDFiZDc3ZmY5ZTI0ZTVhYTJhNmZmMGViNGIzOWRlYi90YWJsZTowODkwNWYwNDk2YzA0MGRlOTNhNWQ1NTVkYzQ0YjUyYy90YWJsZXJhbmdlOjA4OTA1ZjA0OTZjMDQwZGU5M2E1ZDU1NWRjNDRiNTJjXzMtNi0xLTEtNDUwMjU_232bf313-0555-493a-847b-70af9e4f05fd"
      unitRef="usd">17922000</us-gaap:Goodwill>
    <us-gaap:NumberOfReportableSegments
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMjEvZnJhZzpjMDFiZDc3ZmY5ZTI0ZTVhYTJhNmZmMGViNGIzOWRlYi90ZXh0cmVnaW9uOmMwMWJkNzdmZjllMjRlNWFhMmE2ZmYwZWI0YjM5ZGViXzMyOTg1MzQ5MDcxMDA_95cbdfba-5f01-459f-9c31-9c426cc5e1fb"
      unitRef="segment">2</us-gaap:NumberOfReportableSegments>
    <us-gaap:NumberOfOperatingSegments
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMjEvZnJhZzpjMDFiZDc3ZmY5ZTI0ZTVhYTJhNmZmMGViNGIzOWRlYi90ZXh0cmVnaW9uOmMwMWJkNzdmZjllMjRlNWFhMmE2ZmYwZWI0YjM5ZGViXzMyOTg1MzQ5MDcxMDA_a7875775-47df-4e9f-b894-8559a6f16b8c"
      unitRef="segment">2</us-gaap:NumberOfOperatingSegments>
    <us-gaap:NumberOfReportingUnits
      contextRef="id7fb253162fb4a8c8a3ddd6ab565af9d_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMjEvZnJhZzpjMDFiZDc3ZmY5ZTI0ZTVhYTJhNmZmMGViNGIzOWRlYi90ZXh0cmVnaW9uOmMwMWJkNzdmZjllMjRlNWFhMmE2ZmYwZWI0YjM5ZGViXzYwNDczMTM5NzY1NDI_ff86f5cb-bb60-414d-9ab4-b56efd06a933"
      unitRef="reportingunit">3</us-gaap:NumberOfReportingUnits>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMjEvZnJhZzpjMDFiZDc3ZmY5ZTI0ZTVhYTJhNmZmMGViNGIzOWRlYi90ZXh0cmVnaW9uOmMwMWJkNzdmZjllMjRlNWFhMmE2ZmYwZWI0YjM5ZGViXzQ5NDc4MDIzNDg1NTM_56fb023c-2a2a-4de0-ab3d-c574e632c64e"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMjEvZnJhZzpjMDFiZDc3ZmY5ZTI0ZTVhYTJhNmZmMGViNGIzOWRlYi90ZXh0cmVnaW9uOmMwMWJkNzdmZjllMjRlNWFhMmE2ZmYwZWI0YjM5ZGViXzQ5NDc4MDIzNDg1NTM_b435a269-ea50-4f20-871b-c3005a862df8"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMjEvZnJhZzpjMDFiZDc3ZmY5ZTI0ZTVhYTJhNmZmMGViNGIzOWRlYi90ZXh0cmVnaW9uOmMwMWJkNzdmZjllMjRlNWFhMmE2ZmYwZWI0YjM5ZGViXzQ5NDc4MDIzNDg1NTM_dcb61fc2-bf92-4fe7-9aa0-2e4353c97c1e"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:IntangibleAssetsDisclosureTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGV4dHJlZ2lvbjoyMmRlZWQxMDVmYjM0YTVmYTZmODljZTBhYzlmZTVkYV8zMjk4NTM0ODg0MTQ4_2d691972-bcbf-44a9-b5d3-2494f9202b25">Intangible Assets&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets with finite lives are amortized over the following estimated useful lives:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:78.432%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&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="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Estimated Useful Life&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired technology&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8 years&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationship&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3 years&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software development costs&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets, all of which are finite-lived, consists of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:27.408%"/&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.384%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.718%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&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.872%"/&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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: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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Carrying Amount&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net Carrying Value&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Carrying Amount&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net Carrying 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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired technology&lt;/span&gt;&lt;/td&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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,630&#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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(256)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;3,374&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;35&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software development costs&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,222&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,432)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;15,790&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,253&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,833)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;7,420&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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: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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,892&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,693)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;19,199&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,253&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,833)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;7,420&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortization expense was $1.9 million, $1.7 million, and $1.8 million for the years ended December&#160;31, 2021, 2020, and 2019, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The expected future annual amortization expense of intangible assets as of December 31, 2021 is presented below (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;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:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.369%"/&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:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%"&gt;Years Ending December 31,&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Amount&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,820&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,657&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,460&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;703&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;454&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027 and 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,105&#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:'Times New Roman',sans-serif;font-size:10pt;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 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:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,199&#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:IntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGV4dHJlZ2lvbjoyMmRlZWQxMDVmYjM0YTVmYTZmODljZTBhYzlmZTVkYV8zMjk4NTM0ODg0MTQ5_58c849d9-51a9-4c4a-81cd-8ba656d157d8">&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets with finite lives are amortized over the following estimated useful lives:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:78.432%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&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="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Estimated Useful Life&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired technology&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8 years&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationship&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3 years&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software development costs&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets, all of which are finite-lived, consists of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:27.408%"/&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.384%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.718%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&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.872%"/&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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: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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Carrying Amount&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net Carrying Value&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Carrying Amount&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net Carrying 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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired technology&lt;/span&gt;&lt;/td&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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,630&#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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(256)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;3,374&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;35&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software development costs&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,222&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,432)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;15,790&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,253&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,833)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;7,420&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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: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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,892&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,693)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;19,199&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,253&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,833)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;7,420&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i728c61be396f48ae92eb518d17f8baf7_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6YmJjMTY4MzUyOWNkNGFjM2I0NDFkMDFmNDgxYjA1YjEvdGFibGVyYW5nZTpiYmMxNjgzNTI5Y2Q0YWMzYjQ0MWQwMWY0ODFiMDViMV8xLTItMS0xLTMzNDY3_ebf67f66-e260-44e3-8e0f-56f700466e32">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i6c0ebb2b2e9e410aaea2677dc4323992_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6YmJjMTY4MzUyOWNkNGFjM2I0NDFkMDFmNDgxYjA1YjEvdGFibGVyYW5nZTpiYmMxNjgzNTI5Y2Q0YWMzYjQ0MWQwMWY0ODFiMDViMV8yLTItMS0xLTMzNDY3_4a678457-f321-4d38-a757-2750744184ab">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i4a15e8eccee94495b605318bd8ba0de4_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6YmJjMTY4MzUyOWNkNGFjM2I0NDFkMDFmNDgxYjA1YjEvdGFibGVyYW5nZTpiYmMxNjgzNTI5Y2Q0YWMzYjQ0MWQwMWY0ODFiMDViMV8zLTItMS0xLTMzNDY3_292daca1-0a0c-4f01-95e4-5080179d779c">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i70ea036d15b545b6b42a32b5c3d986c2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6NzBlNDg0ZGQ4NzJmNDMzZDhhN2I5YmIwYWRmOWNlYWUvdGFibGVyYW5nZTo3MGU0ODRkZDg3MmY0MzNkOGE3YjliYjBhZGY5Y2VhZV8xLTEtMS0xLTI4MTA5_08491e33-738a-4ccb-af79-506122dbdb8f"
      unitRef="usd">3630000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i70ea036d15b545b6b42a32b5c3d986c2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6NzBlNDg0ZGQ4NzJmNDMzZDhhN2I5YmIwYWRmOWNlYWUvdGFibGVyYW5nZTo3MGU0ODRkZDg3MmY0MzNkOGE3YjliYjBhZGY5Y2VhZV8zLTMtMS0xLTMzNDc3_d13eb05e-3f14-4cdf-9761-d4c85c98521d"
      unitRef="usd">256000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i70ea036d15b545b6b42a32b5c3d986c2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6NzBlNDg0ZGQ4NzJmNDMzZDhhN2I5YmIwYWRmOWNlYWUvdGFibGVyYW5nZTo3MGU0ODRkZDg3MmY0MzNkOGE3YjliYjBhZGY5Y2VhZV8zLTUtMS0xLTMzNDc3_2cde0421-4762-47f4-9e0f-4dfdd7f01ac9"
      unitRef="usd">3374000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i5428d539979540d597abd7c767e1ed85_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6NzBlNDg0ZGQ4NzJmNDMzZDhhN2I5YmIwYWRmOWNlYWUvdGFibGVyYW5nZTo3MGU0ODRkZDg3MmY0MzNkOGE3YjliYjBhZGY5Y2VhZV8xLTMtMS0xLTI4MTA5_5af601b4-a7d8-447b-b7de-ce82d70e96df"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i5428d539979540d597abd7c767e1ed85_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6NzBlNDg0ZGQ4NzJmNDMzZDhhN2I5YmIwYWRmOWNlYWUvdGFibGVyYW5nZTo3MGU0ODRkZDg3MmY0MzNkOGE3YjliYjBhZGY5Y2VhZV8xLTUtMS0xLTI4MTA5_ec431802-d8d9-4298-af0a-8fea72e3fe33"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i5428d539979540d597abd7c767e1ed85_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6NzBlNDg0ZGQ4NzJmNDMzZDhhN2I5YmIwYWRmOWNlYWUvdGFibGVyYW5nZTo3MGU0ODRkZDg3MmY0MzNkOGE3YjliYjBhZGY5Y2VhZV8xLTctMS0xLTI4MTA5_2c70607e-ab37-4f28-9d19-9d8941a353b7"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i9c5f393c8bc34c0a80d37643bbae98b0_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6NzBlNDg0ZGQ4NzJmNDMzZDhhN2I5YmIwYWRmOWNlYWUvdGFibGVyYW5nZTo3MGU0ODRkZDg3MmY0MzNkOGE3YjliYjBhZGY5Y2VhZV8yLTEtMS0xLTI4MTA5_99563418-59b6-49d7-9891-8b25f990d605"
      unitRef="usd">40000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i9c5f393c8bc34c0a80d37643bbae98b0_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6NzBlNDg0ZGQ4NzJmNDMzZDhhN2I5YmIwYWRmOWNlYWUvdGFibGVyYW5nZTo3MGU0ODRkZDg3MmY0MzNkOGE3YjliYjBhZGY5Y2VhZV80LTMtMS0xLTMzNDc3_592cc2a2-2c34-4869-969c-e5fd714047de"
      unitRef="usd">5000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i9c5f393c8bc34c0a80d37643bbae98b0_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6NzBlNDg0ZGQ4NzJmNDMzZDhhN2I5YmIwYWRmOWNlYWUvdGFibGVyYW5nZTo3MGU0ODRkZDg3MmY0MzNkOGE3YjliYjBhZGY5Y2VhZV80LTUtMS0xLTMzNDc3_34acd046-ea3c-428b-bf37-4690a3b798be"
      unitRef="usd">35000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ia2832eb04dd54e9dbdae94f4aba2ecef_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6NzBlNDg0ZGQ4NzJmNDMzZDhhN2I5YmIwYWRmOWNlYWUvdGFibGVyYW5nZTo3MGU0ODRkZDg3MmY0MzNkOGE3YjliYjBhZGY5Y2VhZV8yLTMtMS0xLTI4MTA5_9fb11d9d-33a7-4063-9c4a-cf2866045db6"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ia2832eb04dd54e9dbdae94f4aba2ecef_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6NzBlNDg0ZGQ4NzJmNDMzZDhhN2I5YmIwYWRmOWNlYWUvdGFibGVyYW5nZTo3MGU0ODRkZDg3MmY0MzNkOGE3YjliYjBhZGY5Y2VhZV8yLTUtMS0xLTI4MTA5_822482a0-396f-4a42-b941-683fd0e5e334"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ia2832eb04dd54e9dbdae94f4aba2ecef_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6NzBlNDg0ZGQ4NzJmNDMzZDhhN2I5YmIwYWRmOWNlYWUvdGFibGVyYW5nZTo3MGU0ODRkZDg3MmY0MzNkOGE3YjliYjBhZGY5Y2VhZV8yLTctMS0xLTI4MTA5_6d85faef-f256-4706-a8bb-f16105cef2d3"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="id2b6ffa041004b48ba0cf816bc1fd087_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6NzBlNDg0ZGQ4NzJmNDMzZDhhN2I5YmIwYWRmOWNlYWUvdGFibGVyYW5nZTo3MGU0ODRkZDg3MmY0MzNkOGE3YjliYjBhZGY5Y2VhZV8zLTEtMS0xLTI4MTA5_63a95090-3df6-4e66-ae6b-71c87829fa57"
      unitRef="usd">22222000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="id2b6ffa041004b48ba0cf816bc1fd087_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6NzBlNDg0ZGQ4NzJmNDMzZDhhN2I5YmIwYWRmOWNlYWUvdGFibGVyYW5nZTo3MGU0ODRkZDg3MmY0MzNkOGE3YjliYjBhZGY5Y2VhZV81LTMtMS0xLTMzNDc3_36a8ba87-efd5-41ef-9877-e4a944e81b02"
      unitRef="usd">6432000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="id2b6ffa041004b48ba0cf816bc1fd087_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6NzBlNDg0ZGQ4NzJmNDMzZDhhN2I5YmIwYWRmOWNlYWUvdGFibGVyYW5nZTo3MGU0ODRkZDg3MmY0MzNkOGE3YjliYjBhZGY5Y2VhZV81LTUtMS0xLTMzNDc3_6a9f46f8-53b8-486b-8f91-daaa591b29e1"
      unitRef="usd">15790000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i3eb9a94c97fc42adbd979ddb1a47724b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6NzBlNDg0ZGQ4NzJmNDMzZDhhN2I5YmIwYWRmOWNlYWUvdGFibGVyYW5nZTo3MGU0ODRkZDg3MmY0MzNkOGE3YjliYjBhZGY5Y2VhZV8zLTMtMS0xLTI4MTA5_bf025fae-fc23-4145-9a6f-d172c28297e1"
      unitRef="usd">12253000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i3eb9a94c97fc42adbd979ddb1a47724b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6NzBlNDg0ZGQ4NzJmNDMzZDhhN2I5YmIwYWRmOWNlYWUvdGFibGVyYW5nZTo3MGU0ODRkZDg3MmY0MzNkOGE3YjliYjBhZGY5Y2VhZV8zLTUtMS0xLTI4MTA5_49acbbdc-059d-459f-aa23-caa3ea04d9e1"
      unitRef="usd">4833000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i3eb9a94c97fc42adbd979ddb1a47724b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6NzBlNDg0ZGQ4NzJmNDMzZDhhN2I5YmIwYWRmOWNlYWUvdGFibGVyYW5nZTo3MGU0ODRkZDg3MmY0MzNkOGE3YjliYjBhZGY5Y2VhZV8zLTctMS0xLTI4MTA5_e0f83622-8080-421c-8d65-c0b864bd899c"
      unitRef="usd">7420000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6NzBlNDg0ZGQ4NzJmNDMzZDhhN2I5YmIwYWRmOWNlYWUvdGFibGVyYW5nZTo3MGU0ODRkZDg3MmY0MzNkOGE3YjliYjBhZGY5Y2VhZV82LTEtMS0xLTMzNDc3_89994951-1657-43aa-98b3-fe0d63134a8f"
      unitRef="usd">25892000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6NzBlNDg0ZGQ4NzJmNDMzZDhhN2I5YmIwYWRmOWNlYWUvdGFibGVyYW5nZTo3MGU0ODRkZDg3MmY0MzNkOGE3YjliYjBhZGY5Y2VhZV82LTMtMS0xLTMzNDc3_c7be8eb0-668d-4e15-88f1-ba29dac03a25"
      unitRef="usd">6693000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6NzBlNDg0ZGQ4NzJmNDMzZDhhN2I5YmIwYWRmOWNlYWUvdGFibGVyYW5nZTo3MGU0ODRkZDg3MmY0MzNkOGE3YjliYjBhZGY5Y2VhZV82LTUtMS0xLTMzNDc3_08f1a6b7-ba08-4b70-aac0-78a9b51164b1"
      unitRef="usd">19199000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6NzBlNDg0ZGQ4NzJmNDMzZDhhN2I5YmIwYWRmOWNlYWUvdGFibGVyYW5nZTo3MGU0ODRkZDg3MmY0MzNkOGE3YjliYjBhZGY5Y2VhZV80LTMtMS0xLTI5NDQ0_3a7f69d5-01f9-47dd-8531-f46c8bae9413"
      unitRef="usd">12253000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6NzBlNDg0ZGQ4NzJmNDMzZDhhN2I5YmIwYWRmOWNlYWUvdGFibGVyYW5nZTo3MGU0ODRkZDg3MmY0MzNkOGE3YjliYjBhZGY5Y2VhZV80LTUtMS0xLTI5NDQ2_e03c1cc0-65f3-49c2-922b-69102c081982"
      unitRef="usd">4833000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6NzBlNDg0ZGQ4NzJmNDMzZDhhN2I5YmIwYWRmOWNlYWUvdGFibGVyYW5nZTo3MGU0ODRkZDg3MmY0MzNkOGE3YjliYjBhZGY5Y2VhZV80LTctMS0xLTI5NDQ4_27e04530-e9b4-42fd-add8-366bfba3cf28"
      unitRef="usd">7420000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGV4dHJlZ2lvbjoyMmRlZWQxMDVmYjM0YTVmYTZmODljZTBhYzlmZTVkYV8yNzQ4Nzc5MDcxNjUz_3f5c5cde-85a9-4dfe-a330-67b9ffb3db2b"
      unitRef="usd">1900000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGV4dHJlZ2lvbjoyMmRlZWQxMDVmYjM0YTVmYTZmODljZTBhYzlmZTVkYV8yNzQ4Nzc5MDcxNjU3_38593789-b8ed-4961-b767-801627edccbb"
      unitRef="usd">1700000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGV4dHJlZ2lvbjoyMmRlZWQxMDVmYjM0YTVmYTZmODljZTBhYzlmZTVkYV8yNzQ4Nzc5MDcxNjYx_16d5a87a-c40c-4bc1-8e54-f5566d2c9c04"
      unitRef="usd">1800000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGV4dHJlZ2lvbjoyMmRlZWQxMDVmYjM0YTVmYTZmODljZTBhYzlmZTVkYV8zMjk4NTM0ODg1NzE4_c85166ac-d8a3-4ac1-945c-a9cd0d9f0e80">&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The expected future annual amortization expense of intangible assets as of December 31, 2021 is presented below (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;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:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.369%"/&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:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%"&gt;Years Ending December 31,&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Amount&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,820&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,657&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,460&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;703&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;454&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027 and 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,105&#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:'Times New Roman',sans-serif;font-size:10pt;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 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:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,199&#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:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6M2UwZWYzMDhlMDhiNDljNzgzNDZhY2RhOGVlYmFiZDUvdGFibGVyYW5nZTozZTBlZjMwOGUwOGI0OWM3ODM0NmFjZGE4ZWViYWJkNV8xLTItMS0xLTM2Njcz_eea258c1-84bb-4d2c-b972-c72f0c294480"
      unitRef="usd">6820000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6M2UwZWYzMDhlMDhiNDljNzgzNDZhY2RhOGVlYmFiZDUvdGFibGVyYW5nZTozZTBlZjMwOGUwOGI0OWM3ODM0NmFjZGE4ZWViYWJkNV8yLTItMS0xLTM2Njcz_68b086e8-acb2-4ef1-9ff7-fdca09f11ac1"
      unitRef="usd">7657000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6M2UwZWYzMDhlMDhiNDljNzgzNDZhY2RhOGVlYmFiZDUvdGFibGVyYW5nZTozZTBlZjMwOGUwOGI0OWM3ODM0NmFjZGE4ZWViYWJkNV8zLTItMS0xLTM2Njcz_9bce62a1-c2dc-4bb1-ba0e-2fd0a411a65a"
      unitRef="usd">2460000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6M2UwZWYzMDhlMDhiNDljNzgzNDZhY2RhOGVlYmFiZDUvdGFibGVyYW5nZTozZTBlZjMwOGUwOGI0OWM3ODM0NmFjZGE4ZWViYWJkNV80LTItMS0xLTM2Njcz_71de9371-32e3-4641-ae57-082365eb0d45"
      unitRef="usd">703000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6M2UwZWYzMDhlMDhiNDljNzgzNDZhY2RhOGVlYmFiZDUvdGFibGVyYW5nZTozZTBlZjMwOGUwOGI0OWM3ODM0NmFjZGE4ZWViYWJkNV81LTItMS0xLTM2Njcz_ad10d34b-60b8-4274-88bf-7b9eaab1a597"
      unitRef="usd">454000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6M2UwZWYzMDhlMDhiNDljNzgzNDZhY2RhOGVlYmFiZDUvdGFibGVyYW5nZTozZTBlZjMwOGUwOGI0OWM3ODM0NmFjZGE4ZWViYWJkNV82LTItMS0xLTM2Njcz_6c1045e1-9bab-4108-847f-b2e480625e77"
      unitRef="usd">1105000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODE3L2ZyYWc6MjJkZWVkMTA1ZmIzNGE1ZmE2Zjg5Y2UwYWM5ZmU1ZGEvdGFibGU6M2UwZWYzMDhlMDhiNDljNzgzNDZhY2RhOGVlYmFiZDUvdGFibGVyYW5nZTozZTBlZjMwOGUwOGI0OWM3ODM0NmFjZGE4ZWViYWJkNV83LTItMS0xLTM2Njcz_084a5483-6cbe-4cd9-b20c-cfa6f6e0c9c4"
      unitRef="usd">19199000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzExMTg5_19bab1a6-9b25-486c-a18b-edc036f1e141">Debt Obligations&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Enlightenment Capital Credit Agreement&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On January&#160;25, 2017, we entered into a Credit Agreement (the "Credit Agreement") with Enlightenment Capital Solutions Fund II, L.P., as agent (the "Agent") and the lenders party thereto (the "Lenders") (together referenced as &#x201c;EnCap&#x201d;). The Credit Agreement provided for an $11 million senior term loan (the "Loan") with a maturity date of January 25, 2022, subject to acceleration in the event of customary events of default. All borrowings under the Credit Agreement accrued interest at the rate of 13.0% per annum. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In connection with the Credit Agreement, on January&#160;25, 2017, the Company issued warrants (each, a "Warrant") to the Agent and certain of the Lenders representing in the aggregate the right to purchase in accordance with their terms 900,970 shares of the Class A Common Stock of the Company, no par value per share, which was equivalent to approximately 2.5% of the common equity interests of the Company on a fully diluted basis. The exercise price as $1.665 per share and each Warrant would expire on January 25, 2027. The value of the warrants was determined to be de minimis and no value was allocated to them on a relative fair value basis in accounting for the debt instrument.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Credit Agreement also included an $825,000 exit fee, which was payable upon any repayment or prepayment of the loan. This amount had been included in the total principal due and treated as an unamortized discount on the debt, which would be amortized over the term of the loan, using the effective interest method at a rate of 15.0%. We incurred fees and transaction costs of approximately $374,000 related to the issuance of the Credit Agreement, which are being amortized over the life of the Credit Agreement.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March&#160;30, 2018, the Credit Agreement was further amended (the &#x201c;Third Amendment&#x201d;) to add a minimum revenue covenant and a net working capital covenant. In consideration of these amendments, the interest rate on the loan was increased by 1%, which would revert back to the original rate upon achievement of two consecutive quarters of a specified fixed charge coverage ratio as defined in the agreement.&#160;The increase in interest expense had been paid in cash. Contemporaneously with the Third Amendment, Mr. John B. Wood agreed to transfer 50,000 shares of the Company&#x2019;s Class A Common Stock owned by him to EnCap.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On July&#160;19, 2019, we entered into the Fourth Amendment to Credit Agreement and Waiver; First Amendment to Fee Letter (&#x201c;Fourth Amendment&#x201d;) to amend the Credit Agreement.&#160; As a result of the Fourth Amendment, several terms of the Credit Agreement were amended, including (but not limited to) the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:40.5pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;The Company borrowed an additional $5 million from the Lenders, increasing the total amount of the principal to $16 million.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:40.5pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;The maturity date of the Credit Agreement was amended from January 25, 2022 to January 15, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:40.5pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;The prepayment price was amended as follows: (a) from January 26, 2019 through January 25, 2020, the prepayment price was 102% of the principal amount, (b) from January 26, 2020 through October 14, 2020, the prepayment price was 101% of the principal amount, and (c) from October 15, 2020 to the maturity date, the prepayment price would be at par.&#160; However, the prepayment price for the additional $5 million loan attributable to the Fourth Amendment would be at par.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:40.5pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;The borrowing under the Credit Agreement continued to be collateralized by substantially all of the Company&#x2019;s assets including inventory, equipment and accounts receivable.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:40.5pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;The Company paid the Agent a fee of $110,000 in connection with the Fourth Amendment and incurred immaterial third-party transaction costs which were expensed during the period.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:40.5pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;The exit fee was increased from $825,000 to $1,200,000.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The exit fee had been included in the total principal due and treated as an unamortized discount on the debt, which was amortized over the term of the loan using the effective interest method at a rate of 17.3% over the remaining term of the loan.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March&#160;26, 2020, the Credit Agreement was amended (the &#x201c;Fifth Amendment&#x201d;) to modify the financial covenants and to update the previously agreed-upon definition of certain financial covenants, specifically the amount of Capital Expenditures to be included in the measurement of the covenants.&#160;The Fifth Amendment provided for four quarterly maturity date extensions, which would increase the Exit Fee payable under the Credit Agreement by $250,000 for each quarterly maturity date extension elected, for a total of $1 million increase to the Exit Fee were all four of the maturity date extensions to be elected. The Company paid EnCap an amendment fee of $100,000 and out-of-pocket costs and expenses in consideration for the Fifth Amendment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November&#160;24, 2020, upon the closing of the IPO, the Company paid a total of $17.4 million which paid off the Credit Agreement in full, including an exit fee of $1.2 million, accrued interest of $138,000, and legal fees of $13,000. As a result, we recognized a loss on debt extinguishment of $138,000 presented as a part of the non-operating expense in the consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We incurred interest expenses in the amount of $2.7 million and $2.2 million for the years ended December&#160;31, 2020 and 2019, respectively, under the Credit Agreement.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April&#160;19, 2021, the Company entered into multiple Redemption Agreements and Warrant Redemption and Cancellation Agreements (collectively the "Repurchase Agreement") with EnCap and certain related funds that held the warrants to purchase 900,970 shares of the Company's common stock in addition to 39,682 shares of the Company's common stock. Under the Repurchase Agreement, the Company agreed to repurchase the outstanding warrants for $26.9 million and common stock for $1.3 million. The average price of the warrants and common stock repurchased were $29.85 per share and $31.51 per share, respectively. Upon settlement, the repurchased warrants were retired.  The Company reduced common stock for the $0.001 par value of the shares repurchased, with the excess purchase price over par value recorded as a reduction of additional paid-in-capital ("APIC"). As a result of the repurchases, the Company recognized these amounts as a reduction to APIC.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Subordinated Debt&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March&#160;31, 2015, the Company entered into Subordinated Loan Agreements and Subordinated Promissory Notes (&#x201c;Porter Notes&#x201d;) with affiliated entities of Mr. John R. C. Porter (together referenced as &#x201c;Porter&#x201d;).&#160; Mr. Porter and Toxford Corporation, of which Mr. Porter was the sole shareholder, owned 35.0% of our Class A Common Stock.&#160;Under the terms of the Porter Notes, Porter lent the Company $2.5 million on or about March&#160;31, 2015. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Telos also entered into Subordination and Intercreditor Agreements (the &#x201c;Subordination Agreements&#x201d;) with Porter and a prior senior lender, in which the Porter Notes were fully subordinated to the financing provided by that senior lender, and payments under the Porter Notes were permitted only if certain conditions were met. According to the original terms of the Porter Notes, the outstanding principal sum bore interest at the fixed rate of twelve percent (12%) per annum, which would be payable in arrears in cash on the 20th day of each May, August, November and February, with the first interest payment date due on August 20, 2015.&#160;The Porter Notes did not call for amortization payments and were unsecured. The Porter Notes, in whole or in part, were permitted to be repaid at any time without premium or penalty. The unpaid principal, together with interest, was originally due and payable in full on July 1, 2017.&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April&#160;18, 2017, we amended and restated the Porter Notes to reduce the interest rate from twelve percent (12%) to six percent (6%) per annum, to be accrued, and extended the maturity date from July&#160;1, 2017 to July&#160;25, 2022. Telos also entered into Intercreditor Agreements with Porter and EnCap, in which the Porter Notes were fully subordinated to the Credit Agreement and any subsequent senior lenders, and payments under the Porter Notes were permitted only if certain conditions were met. All other terms remained in full force and effect. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We incurred interest expense in the amount of $319,000 and $330,000 for 2020 and 2019, respectively, on the Porter Notes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November 23, 2020, upon the closing of the IPO, the Porter Notes were paid in full.&lt;/span&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:LineOfCredit
      contextRef="i219b129458b740d49e5002c85f842dff_I20170125"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzEyNDg_be68bdcf-dc05-424a-8c19-395da9ad0de9"
      unitRef="usd">11000000</us-gaap:LineOfCredit>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i219b129458b740d49e5002c85f842dff_I20170125"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzE0NjY_a580c75b-af9a-4c15-bace-041c480d68e7"
      unitRef="number">0.130</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="i9e8b6d2b87694385a6f820cea79171d6_I20170125"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzMyOTQ_1e735a6c-38e7-4100-a97a-a297f6ba6e4a"
      unitRef="shares">900970</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <tls:PercentageOfWarrantsIssuedOfCommonEquityInterests
      contextRef="i002fc5a99fde49ddab86798546a46a35_D20170125-20170125"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzM0MTA_98dc10e9-9196-4276-bb6f-7a50167ab793"
      unitRef="number">0.025</tls:PercentageOfWarrantsIssuedOfCommonEquityInterests>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i9e8b6d2b87694385a6f820cea79171d6_I20170125"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzM1MDc_3d00bac7-7ea1-427e-8988-dcb2b5f8b55a"
      unitRef="usdPerShare">1.665</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:DebtInstrumentFeeAmount
      contextRef="id1f079dc63f8450ba80d0a09590522d0_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzM3NzI_49528e70-c463-45ef-9e42-688fd1bda450"
      unitRef="usd">825000</us-gaap:DebtInstrumentFeeAmount>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="id1f079dc63f8450ba80d0a09590522d0_I20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzQwNTk_2f9a8116-0dad-4224-8698-a136de311879"
      unitRef="number">0.150</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <tls:DebtInstrumentTransactionCosts
      contextRef="i7d2696faa50b41e6b443aef287d02bc9_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzQxMTk_014ce703-b6fd-4ba6-bfb4-c735141044a4"
      unitRef="usd">374000</tls:DebtInstrumentTransactionCosts>
    <us-gaap:DebtInstrumentInterestRateIncreaseDecrease
      contextRef="i12222f71d6744f2b9fe1982e807d3ea7_D20180331-20180331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzQ4NDk_e6073c46-0723-4b4b-885e-0b0c16b4e40f"
      unitRef="number">0.01</us-gaap:DebtInstrumentInterestRateIncreaseDecrease>
    <tls:NumberOfConsecutiveQuarters
      contextRef="i12222f71d6744f2b9fe1982e807d3ea7_D20180331-20180331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzQ5MTg_039d7d2a-0609-413a-991c-b968cc95073b"
      unitRef="q">2</tls:NumberOfConsecutiveQuarters>
    <tls:NumberOfSharesHeldByChiefExecutiveOfficer
      contextRef="ic84f4a066faf48649987e234ee5a5fb5_I20180331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzUyOTQ_6811c949-22d6-4f48-885b-8e434aadd6dd"
      unitRef="shares">50000</tls:NumberOfSharesHeldByChiefExecutiveOfficer>
    <us-gaap:LineOfCreditFacilityIncreaseDecreaseForPeriodNet
      contextRef="i044c2ad5eb7243ff87f1d7f8085f678e_D20190719-20190719"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzU2NzQ_4220d86a-4036-4093-8350-296b359dc0e8"
      unitRef="usd">5000000</us-gaap:LineOfCreditFacilityIncreaseDecreaseForPeriodNet>
    <us-gaap:LineOfCredit
      contextRef="i687f532bdce641de88453d8d4a530274_I20190719"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzU3NDM_577d87ae-8d68-48ea-9bb5-f91b6f2668bf"
      unitRef="usd">16000000</us-gaap:LineOfCredit>
    <tls:PrepaymentPricePercentageOne
      contextRef="i044c2ad5eb7243ff87f1d7f8085f678e_D20190719-20190719"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzU5NTI_06f546f8-3e87-40ea-a743-2183c2ccd3c6"
      unitRef="number">1.02</tls:PrepaymentPricePercentageOne>
    <tls:PrepaymentPricePercentageTwo
      contextRef="i044c2ad5eb7243ff87f1d7f8085f678e_D20190719-20190719"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzYwNTc_522f4f4f-1efd-4db8-b4fd-f40b1e5c028a"
      unitRef="number">1.01</tls:PrepaymentPricePercentageTwo>
    <us-gaap:LineOfCreditFacilityIncreaseDecreaseForPeriodNet
      contextRef="i044c2ad5eb7243ff87f1d7f8085f678e_D20190719-20190719"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzYyMjU_4220d86a-4036-4093-8350-296b359dc0e8"
      unitRef="usd">5000000</us-gaap:LineOfCreditFacilityIncreaseDecreaseForPeriodNet>
    <tls:DebtInstrumentAgentFeeAmount
      contextRef="i687f532bdce641de88453d8d4a530274_I20190719"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzY4ODM_3a36ac2b-7dac-4cf5-b9dd-e3376e51116a"
      unitRef="usd">110000</tls:DebtInstrumentAgentFeeAmount>
    <us-gaap:DebtInstrumentFeeAmount
      contextRef="if02de2e9c83d4789b17b0e16b556bb4f_I20190718"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzcwNTU_d9c0eda3-26ee-4f51-91e3-703c715ae78b"
      unitRef="usd">825000</us-gaap:DebtInstrumentFeeAmount>
    <us-gaap:DebtInstrumentFeeAmount
      contextRef="i687f532bdce641de88453d8d4a530274_I20190719"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzcwNjE_a66ede90-14e8-4b89-bba7-a931921eab00"
      unitRef="usd">1200000</us-gaap:DebtInstrumentFeeAmount>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i687f532bdce641de88453d8d4a530274_I20190719"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzcyNzA_4c023e72-644c-45d0-a33c-0a90e42803ac"
      unitRef="number">0.173</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <tls:NumberOfQuarterlyMaturityDateExtensions
      contextRef="idc052a08cb4644ad867a0ef8bfe109ee_D20200326-20200326"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0Xzc5MTY_03d65978-31a6-409b-859f-eca1d8d4c5f1"
      unitRef="maturity_date_extension">4</tls:NumberOfQuarterlyMaturityDateExtensions>
    <tls:AmountOfIncreaseDecreaseInQuarterlyExitFeePayable
      contextRef="idc052a08cb4644ad867a0ef8bfe109ee_D20200326-20200326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzgwMjc_8ece462a-82b7-4e50-8497-05bd8a9b5a9f"
      unitRef="usd">250000</tls:AmountOfIncreaseDecreaseInQuarterlyExitFeePayable>
    <tls:AmountOfIncreaseDecreaseInExitFeePayable
      contextRef="idc052a08cb4644ad867a0ef8bfe109ee_D20200326-20200326"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzgwOTc_3be35392-2c0a-451c-99a1-10d9e401d5ad"
      unitRef="usd">1000000</tls:AmountOfIncreaseDecreaseInExitFeePayable>
    <tls:AmendmentFeeAndOutOfPocketCostsAndExpenses
      contextRef="idc052a08cb4644ad867a0ef8bfe109ee_D20200326-20200326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzgyMzA_8842c5b7-3f75-4f20-a75f-613c6ec4327a"
      unitRef="usd">100000</tls:AmendmentFeeAndOutOfPocketCostsAndExpenses>
    <us-gaap:RepaymentsOfSeniorDebt
      contextRef="if882389959f64f5d96a68dab34509297_D20201124-20201124"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0Xzg1MTM_24867bfd-8e44-43e3-a6ba-2fd51755cee9"
      unitRef="usd">17400000</us-gaap:RepaymentsOfSeniorDebt>
    <us-gaap:DebtInstrumentFeeAmount
      contextRef="i2eaa4baae97b4c3ead79e3f36bcbf936_I20201124"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0Xzg1ODU_3c341603-61b0-4d4e-b6b6-84f14bc29cbd"
      unitRef="usd">1200000</us-gaap:DebtInstrumentFeeAmount>
    <us-gaap:InterestPayableCurrent
      contextRef="i2eaa4baae97b4c3ead79e3f36bcbf936_I20201124"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0Xzg2MDk_a55ae6f1-8435-47de-98b7-59b0609a73d1"
      unitRef="usd">138000</us-gaap:InterestPayableCurrent>
    <us-gaap:LegalFees
      contextRef="if882389959f64f5d96a68dab34509297_D20201124-20201124"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0Xzg2MzE_e68b087c-a5fa-4f06-9577-87bc413ad451"
      unitRef="usd">13000</us-gaap:LegalFees>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="if882389959f64f5d96a68dab34509297_D20201124-20201124"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0Xzg2OTY_daae29a5-9159-4105-a376-37cb6697b211"
      unitRef="usd">138000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="i060a542a8ab749d3a76e4204322da77d_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzI3NDg3NzkwODY3MTE_237a649c-5a1a-4a34-8743-8749be2f3c21"
      unitRef="usd">2700000</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="i8c8e27c47ed041d886c500c193b7d310_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzI3NDg3NzkwODY3MTk_82512096-3f9a-4b98-b59d-827314f71dc2"
      unitRef="usd">2200000</us-gaap:InterestExpenseDebt>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="i9e8b6d2b87694385a6f820cea79171d6_I20170125"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzI3NDg3NzkwODY4ODE_1e735a6c-38e7-4100-a97a-a297f6ba6e4a"
      unitRef="shares">900970</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i92f37feb042d4c86aaffd74c062228c5_D20210419-20210419"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzI3NDg3NzkwODY4ODU_7ea92c75-e731-4dde-95bc-63ad201bcaad"
      unitRef="shares">39682</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:PaymentsForRepurchaseOfWarrants
      contextRef="i92f37feb042d4c86aaffd74c062228c5_D20210419-20210419"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzI3NDg3NzkwODY4ODk_e4467e38-5246-4cff-8e7c-81ec058b788f"
      unitRef="usd">26900000</us-gaap:PaymentsForRepurchaseOfWarrants>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i92f37feb042d4c86aaffd74c062228c5_D20210419-20210419"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzI3NDg3NzkwODY4OTM_bc74746d-16f2-49df-9e33-780264c0c526"
      unitRef="usd">1300000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <tls:WarrantsAcquiredAverageCostPerShare
      contextRef="i92f37feb042d4c86aaffd74c062228c5_D20210419-20210419"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzI3NDg3NzkwODY4OTc_799076cc-825e-4e47-a6b0-b98f4664ca1c"
      unitRef="usdPerShare">29.85</tls:WarrantsAcquiredAverageCostPerShare>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="i92f37feb042d4c86aaffd74c062228c5_D20210419-20210419"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzI3NDg3NzkwODY5MDE_67a572f7-dee9-4500-9e6e-b7fd9f57e38f"
      unitRef="usdPerShare">31.51</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i6d4b7dc387294e92ad3a53a91c1c448c_I20210419"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzI3NDg3NzkwODY5MDU_f283f798-8e36-4e6b-9e30-779833a487b1"
      unitRef="usdPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="i8f7b0df8dd8643749272c5e0f3c6ccf8_I20150331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzkwOTc_a0bf894d-8373-495b-b061-86de18f95418"
      unitRef="number">0.350</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:ProceedsFromRelatedPartyDebt
      contextRef="ic24dfd04357f49f68cc538b9e72ea2b7_D20150331-20150331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzkxOTA_e91bae62-3e53-4185-bc13-d2d5bc5e472c"
      unitRef="usd">2500000</us-gaap:ProceedsFromRelatedPartyDebt>
    <us-gaap:RelatedPartyTransactionRate
      contextRef="ic24dfd04357f49f68cc538b9e72ea2b7_D20150331-20150331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0Xzk2NTI_c7f4d4e0-ea41-4d1a-8281-77f665c59ec1"
      unitRef="number">0.12</us-gaap:RelatedPartyTransactionRate>
    <us-gaap:RelatedPartyTransactionRate
      contextRef="ic24dfd04357f49f68cc538b9e72ea2b7_D20150331-20150331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzI3NDg3NzkwODY5MTU_c7f4d4e0-ea41-4d1a-8281-77f665c59ec1"
      unitRef="number">0.12</us-gaap:RelatedPartyTransactionRate>
    <us-gaap:RelatedPartyTransactionRate
      contextRef="ib11f1a997cc248718cf2a5c2c6f198a7_D20170417-20170417"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzEwMTgz_3ba460d4-4150-4f95-9ed3-dbe5c9a2cf5e"
      unitRef="number">0.12</us-gaap:RelatedPartyTransactionRate>
    <us-gaap:RelatedPartyTransactionRate
      contextRef="ib11f1a997cc248718cf2a5c2c6f198a7_D20170417-20170417"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzI3NDg3NzkwODY5MjE_3ba460d4-4150-4f95-9ed3-dbe5c9a2cf5e"
      unitRef="number">0.12</us-gaap:RelatedPartyTransactionRate>
    <us-gaap:RelatedPartyTransactionRate
      contextRef="i9e485acf9154408487b01f07bcba59f4_D20170418-20170418"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzEwMTk1_7d009e38-9ab3-47c1-8f54-a0091d904765"
      unitRef="number">0.06</us-gaap:RelatedPartyTransactionRate>
    <us-gaap:RelatedPartyTransactionRate
      contextRef="i9e485acf9154408487b01f07bcba59f4_D20170418-20170418"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzI3NDg3NzkwODY5MjU_7d009e38-9ab3-47c1-8f54-a0091d904765"
      unitRef="number">0.06</us-gaap:RelatedPartyTransactionRate>
    <us-gaap:InterestExpenseRelatedParty
      contextRef="ia4dac1d31b0448cab992d8014427b905_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzExMDM4_0056633b-cf51-402e-9254-95b84f5ffa05"
      unitRef="usd">319000</us-gaap:InterestExpenseRelatedParty>
    <us-gaap:InterestExpenseRelatedParty
      contextRef="i943c3ca487c94abe8e0c86ed81564442_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMzkvZnJhZzo4NTNkOTc4ZDQ3ZTk0MGFjYjdiYzY3MzVmNmFkNmM1NC90ZXh0cmVnaW9uOjg1M2Q5NzhkNDdlOTQwYWNiN2JjNjczNWY2YWQ2YzU0XzExMDQ2_338014e5-f0dd-4236-a2ae-a2816077c1b4"
      unitRef="usd">330000</us-gaap:InterestExpenseRelatedParty>
    <tls:RedeemablePreferredStockTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzczMzA_7c10f036-b027-44d7-b958-688a240181cc">Exchangeable Redeemable Preferred Stock Conversion&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Public Preferred Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A maximum of 6,000,000 shares of the Public Preferred Stock, par value $0.01 per share, had been authorized for issuance. We initially issued 2,858,723 shares of the Public Preferred Stock pursuant to the acquisition of the Company during fiscal year 1990. The Public Preferred Stock was recorded at fair value on the date of original issue, November 21, 1989, and we made periodic accretions under the interest method of the excess of the redemption value over the recorded value. We adjusted our estimate of accrued accretion in the amount of $1.5 million in the second quarter of 2006. The Public Preferred Stock was fully accreted as of December 2008.&#160; We declared stock dividends totaling 736,863 shares in 1990 and 1991. Since 1991, no other dividends, in stock or cash, were declared. In November 1998, we retired 410,000 shares of the Public Preferred Stock. The total number of shares issued and outstanding at December&#160;31, 2019, was 3,185,586. The Public Preferred Stock was quoted as &#x201c;TLSRP&#x201d; on the OTCQB marketplace and the OTC Bulletin Board.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We paid dividends on the Public Preferred Stock when and if declared by the Board of Directors. The Public Preferred Stock accrued a semi-annual dividend at the annual rate of 12% ($1.20) per share, based on the liquidation preference of $10 per share, and was fully cumulative. Dividends in additional shares of the Public Preferred Stock for 1990 and 1991 were paid at the rate of 6% per share for each $0.60 of such dividends not paid in cash. We accrued dividends on the Public Preferred Stock of $3.4 million and $3.8 million for the years ended December&#160;31, 2020, and 2019, respectively, which was recorded as interest expense. Prior to the effective date of ASC 480 on July 1, 2003, such dividends were charged to stockholders&#x2019; accumulated deficit.&lt;/span&gt;&lt;/div&gt;Upon the closing of the IPO, which constituted a qualified initial public offering for the purposes of the terms of the Exchangeable Redeemable Preferred Stock, each issued and outstanding share of Exchangeable Redeemable Preferred Stock automatically was converted (the &#x201c;ERPS Conversion&#x201d;) into the right to receive (i)&#160;an amount of cash equal to (I) the ERPS Liquidation Value; multiplied by (II) 0.90; multiplied by (III) 0.85 and (ii)&#160;that number of shares of common stock (valued at the initial offering price to the public) equal to (I) the ERPS Liquidation Value; multiplied by (II) 0.90; multiplied by (III)&#160;0.15. No fractional shares of common stock, however, were issued upon an ERPS Conversion Event but, in lieu thereof, the holder was entitled to receive an amount of cash equal to the fair market value of a share of common stock (valued at the initial offering price to the public) at the time of such ERPS Conversion Event multiplied by such fractional amount (rounded to the nearest cent). &#x201c;ERPS Liquidation Value&#x201d; means, per each share of Exchangeable Redeemable Preferred Stock, $10 together with all accrued and unpaid dividends (whether or not earned or declared) thereon calculated as of the actual date of an ERPS Conversion Event without interest, which was approximately $142.3 million as of November&#160;19, 2020. All shares of common stock issued upon an ERPS Conversion were validly issued, fully paid and non-assessable. On November&#160;23, 2020, holders of Exchangeable Redeemable Preferred Stock received $108.9 million in cash and 1.1 million shares of our common stock at $17 per share for a total value of $19.2 million in connection with the ERPS Conversion. The difference in the redemption value of the ERPS and the carrying value has been accounted for as a gain on extinguishment of debt in accordance with ASC 470 and ASC 480.&#160; Approximately $0.2 million of costs directly attributable to this redemption were applied against the gain, resulting in a net gain of $14.0 million.</tls:RedeemablePreferredStockTextBlock>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i70e67946e738447db730fd601d29629d_I19901231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzI3NDg3NzkwODI3Nzc_8d8a851d-3919-4240-af39-a91fef5949ba"
      unitRef="shares">6000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i70e67946e738447db730fd601d29629d_I19901231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzI3NDg3NzkwODI3ODE_5e7818c0-08ee-4d9a-87f2-5b9443bb27cf"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i70e67946e738447db730fd601d29629d_I19901231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzIxMjQ_18ab29fe-5570-4290-b682-fb50cd495f31"
      unitRef="shares">2858723</us-gaap:PreferredStockSharesIssued>
    <tls:PublicPreferredStockAccretionOfRedemptionDiscount
      contextRef="i443e4dcd8f834f55873404b535cbb628_D20060401-20060630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzI1MTg_ec8cf641-c14e-4043-911c-32f5c3ca79e0"
      unitRef="usd">1500000</tls:PublicPreferredStockAccretionOfRedemptionDiscount>
    <us-gaap:PreferredStockDividendsShares
      contextRef="id40daaf35be443369c2badb6c89f6d14_D19900101-19901231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzI2NTY_0888e1c1-ff4d-48d2-93ac-f23b30245e89"
      unitRef="shares">736863</us-gaap:PreferredStockDividendsShares>
    <us-gaap:PreferredStockDividendsShares
      contextRef="ib6574faf633449be97f5c25b46d8de64_D19910101-19911231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzI2NTY_cc71d226-86b6-4e01-ae82-786958fb52c9"
      unitRef="shares">736863</us-gaap:PreferredStockDividendsShares>
    <tls:NumberOfRedeemablePreferredStockRedeemed
      contextRef="i757c5c184741438eb6a4e8a4d696f7eb_D19981101-19981130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzI3Njg_66a41d6b-251b-4965-a9a4-eeb739760b7a"
      unitRef="shares">410000</tls:NumberOfRedeemablePreferredStockRedeemed>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="idb9c70b9da98464e809257227c9de62a_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzI4NzA_a68d893f-15fd-4952-9a4b-4fcf309e6c24"
      unitRef="shares">3185586</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="idb9c70b9da98464e809257227c9de62a_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzI4NzA_d37a4be4-6863-4943-9264-b06e46349c33"
      unitRef="shares">3185586</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockDividendRatePercentage
      contextRef="i2ec3feedd58b449b8e1aae3cead39eff_D19900101-19911231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzI3NDg3NzkwODQ1Mjk_e6200290-0f47-4549-a614-3b4dd185272b"
      unitRef="number">0.12</us-gaap:PreferredStockDividendRatePercentage>
    <us-gaap:PreferredStockDividendRatePerDollarAmount
      contextRef="i2ec3feedd58b449b8e1aae3cead39eff_D19900101-19911231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzQ4MzI_ef0b6c7d-b776-47d0-918e-808a9fc224d1"
      unitRef="usdPerShare">1.20</us-gaap:PreferredStockDividendRatePerDollarAmount>
    <us-gaap:PreferredStockLiquidationPreference
      contextRef="iff96ec4c28be415cadeb68349ddee0de_I19911231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzQ4ODY_66e0766b-4c8f-4a4f-9d82-cffa270900b2"
      unitRef="usdPerShare">10</us-gaap:PreferredStockLiquidationPreference>
    <us-gaap:PreferredStockDividendRatePercentage
      contextRef="id40daaf35be443369c2badb6c89f6d14_D19900101-19901231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzUwMjg_885c35f1-4cd5-4c98-961a-5fe7fb6f34af"
      unitRef="number">0.06</us-gaap:PreferredStockDividendRatePercentage>
    <us-gaap:PreferredStockDividendRatePercentage
      contextRef="ib6574faf633449be97f5c25b46d8de64_D19910101-19911231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzUwMjg_ef5c1719-03be-4164-803c-610960ad1fa9"
      unitRef="number">0.06</us-gaap:PreferredStockDividendRatePercentage>
    <us-gaap:PreferredStockDividendRatePerDollarAmount
      contextRef="ib6574faf633449be97f5c25b46d8de64_D19910101-19911231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzUwNTA_06914c49-ac0d-4243-bffb-82d500774ecf"
      unitRef="usdPerShare">0.60</us-gaap:PreferredStockDividendRatePerDollarAmount>
    <us-gaap:PreferredStockDividendRatePerDollarAmount
      contextRef="id40daaf35be443369c2badb6c89f6d14_D19900101-19901231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzUwNTA_aa745b91-fdfb-4510-bad0-1973363a66fd"
      unitRef="usdPerShare">0.60</us-gaap:PreferredStockDividendRatePerDollarAmount>
    <us-gaap:DividendsPreferredStock
      contextRef="i034fdec729844719b004b50bbdad6a23_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzUyMjk_af755ec4-fee5-4073-b606-b6ca02a5d4d1"
      unitRef="usd">3400000</us-gaap:DividendsPreferredStock>
    <us-gaap:DividendsPreferredStock
      contextRef="i38da50a66bfb471ba8e323409f0fe8be_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzUyMzY_703f4993-8ce0-4e07-b93a-a55fcab4854c"
      unitRef="usd">3800000</us-gaap:DividendsPreferredStock>
    <tls:ERPSConversionAmountIntoRightToReceiveCashInConditionOne
      contextRef="ibb745ccb5c984cd3a9dacdaacba867a4_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzI3NDg3NzkwODQ3MjA_6ffb461c-73d2-40a9-b52d-fe4d9817ce88"
      unitRef="number">0.90</tls:ERPSConversionAmountIntoRightToReceiveCashInConditionOne>
    <tls:ERPSConversionAmountIntoRightToReceiveCashInConditionTwo
      contextRef="ibb745ccb5c984cd3a9dacdaacba867a4_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzI3NDg3NzkwODQ3Mjc_ad873156-6b1c-4b42-ac1b-b9be976072f2"
      unitRef="number">0.85</tls:ERPSConversionAmountIntoRightToReceiveCashInConditionTwo>
    <tls:ERPSConversionAmountIntoRightToReceiveSharesInConditionOne
      contextRef="ibb745ccb5c984cd3a9dacdaacba867a4_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzI3NDg3NzkwODQ3MzQ_e4c9b385-8cf3-4c2e-972c-89f824fd8fd3"
      unitRef="number">0.90</tls:ERPSConversionAmountIntoRightToReceiveSharesInConditionOne>
    <tls:ERPSConversionAmountIntoRightToReceiveSharesInConditionTwo
      contextRef="ibb745ccb5c984cd3a9dacdaacba867a4_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzI3NDg3NzkwODQ3NDE_704e0efa-6784-4f21-b014-04d2af0878c4"
      unitRef="number">0.15</tls:ERPSConversionAmountIntoRightToReceiveSharesInConditionTwo>
    <tls:StockIssuedDuringPeriodValueFractionalShares
      contextRef="ibb745ccb5c984cd3a9dacdaacba867a4_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzI3NDg3NzkwODQ3NDY_33db00f5-ef84-4359-81fd-b297a8e8967a"
      unitRef="shares">0</tls:StockIssuedDuringPeriodValueFractionalShares>
    <tls:PreferredStockConversionPrice
      contextRef="id904bcf77bec4851be146d7d9517ccb9_D20201119-20201119"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzI3NDg3NzkwODQ5MTI_8a830168-4ee1-41e9-b022-38ef2ae39926"
      unitRef="usdPerShare">10</tls:PreferredStockConversionPrice>
    <us-gaap:ConversionOfStockAmountConverted1
      contextRef="id904bcf77bec4851be146d7d9517ccb9_D20201119-20201119"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzI3NDg3NzkwODQ3NjY_f7b4504c-b2e9-409f-93ae-fdd07da13157"
      unitRef="usd">142300000</us-gaap:ConversionOfStockAmountConverted1>
    <us-gaap:PaymentsForRepurchaseOfConvertiblePreferredStock
      contextRef="i72c8621d16e744448633dd38ce18a018_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzI3NDg3NzkwODQ4MjM_cc468a2d-7ad6-4e64-af9c-1016804587c9"
      unitRef="usd">108900000</us-gaap:PaymentsForRepurchaseOfConvertiblePreferredStock>
    <us-gaap:ConversionOfStockSharesIssued1
      contextRef="i72c8621d16e744448633dd38ce18a018_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzI3NDg3NzkwODQ4Mzg_75997611-1331-4ba7-a762-e2fa2e8ce41e"
      unitRef="shares">1100000</us-gaap:ConversionOfStockSharesIssued1>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="ied6249f1a664436ea6392a4f25eacb44_I20201123"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzI3NDg3NzkwODQ4NDQ_5482ed92-9806-4a1e-acf7-c8a0c7142203"
      unitRef="usdPerShare">17</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:ConversionOfStockAmountIssued1
      contextRef="i72c8621d16e744448633dd38ce18a018_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzI3NDg3NzkwODQ4NjA_12cceb49-b6d0-41ec-a6a0-c331b8486466"
      unitRef="usd">19200000</us-gaap:ConversionOfStockAmountIssued1>
    <tls:PreferredStockRedemptionCosts
      contextRef="i72c8621d16e744448633dd38ce18a018_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzI3NDg3NzkwODQ4NzE_a5ba6817-6dea-4bdc-9417-23b58e98b17d"
      unitRef="usd">200000</tls:PreferredStockRedemptionCosts>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="i72c8621d16e744448633dd38ce18a018_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNDUvZnJhZzpmYmUyM2RhOTljNDU0YzY2ODUzOTE2M2M5MjQ1YjcwMS90ZXh0cmVnaW9uOmZiZTIzZGE5OWM0NTRjNjY4NTM5MTYzYzkyNDViNzAxXzI3NDg3NzkwODQ4ODc_7712d7f5-0f13-46f7-bbb8-662506fea799"
      unitRef="usd">14000000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:MinorityInterestDisclosureTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzM3Njc_58c9a6aa-fd90-4cc6-b039-bdef46612ec5">Non-Controlling Interests / Purchase of Telos ID&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April&#160;11, 2007, Telos ID was formed as a limited liability company under the Delaware Limited Liability Company Act. We contributed substantially all of the assets of our Telos ID Enterprise business line and assigned our rights to perform under our U.S. government contract with the Defense Manpower Data Center to Telos ID at their stated book values. The net book value of assets we contributed totaled $17,000. Until April&#160;19, 2007, we owned 99.999% of the membership interests of Telos ID and Hoya ID Fund A, LLC ("Hoya") owned 0.001% of the membership interests of Telos ID. On April&#160;20, 2007, we sold an additional 39.999% of the membership interests to Hoya in exchange for $6.0 million in cash consideration. In accordance with ASC 505, &#x201c;Equity,&#x201d; we recognized a gain of $5.8 million. As a result, we owned 60% of Telos ID, and therefore continued to account for the investment in Telos ID using the consolidation method.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On December&#160;24, 2014, Hoya acquired from the Company an additional ten percent (10%) membership interest in Telos ID in exchange for $5.0 million (the &#x201c;2014 Transaction&#x201d;). In connection with the 2014 Transaction, the Company and Hoya entered into the Second Amended and Restated Operating Agreement (the &#x201c;Operating Agreement&#x201d;) governing the business, allocation of profits and losses and management of Telos ID. Under the Operating Agreement, Telos ID was managed by a board of directors comprised of five members (the &#x201c;Telos ID Board&#x201d;). The Operating Agreement provided for two classes of membership units, Class A (owned by the Company) and Class B (owned by Hoya). The Class A member (the Company) owned 50% of Telos ID, was entitled to receive 50% of the profits of Telos ID, and could appoint three members of the Telos ID Board. The Class B member (Hoya) owned 50% of Telos ID, was entitled to receive 50% of the profits of Telos ID, and could appoint two members of the Telos ID Board. The 2014 Transaction continued to be accounted for using the consolidation method and the Class B member was the non-controlling interest.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On October&#160;5, 2020, we entered into a Membership Interest Purchase Agreement between the Company and Hoya to purchase all of the Class&#160;B Units of Telos ID (&#x201c;Telos ID Units&#x201d;) owned by Hoya (the &#x201c;Telos ID Purchase&#x201d;). Upon the closing of the Telos ID Purchase, Telos ID became our wholly-owned subsidiary. On November&#160;23, 2020, the Telos ID Purchase was consummated with the Company transferring $30.0 million in cash and issuing 7.3 million shares of our common stock at $20.39 per share (which totals approximately $148.40 million); the total consideration transferred to Hoya was $178.40 million. As part of the common stock issuance, the Company recognized a credit to APIC of $148.40 million. The Company further recognized a debit to APIC of $173.90 million as part of the elimination of Hoya&#x2019;s non-controlling interest in Telos ID. The net impact to APIC associated with the acquisition of the additional 50% interest in Telos ID was a debit of $25.50 million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As a result of the 2014 Transaction, the Class A and Class B members each owned 50% of Telos ID, as mentioned above, and as such, each was allocated 50% of the profits, which was $5.2 million, and $4.3 million for 2020, and 2019, respectively. The Class B member was the non-controlling interest.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Distributions were made to the members only when and to the extent determined by Telos ID&#x2019;s Board of Directors, in accordance with the Operating Agreement. During the years ended December&#160;31, 2020, and 2019, the Class B member received a total of $2.8 million, and $2.4 million, respectively, of such distributions. The Class B member also received a final distribution of $2.4 million in January 2021, which was accrued and presented in accounts payable and other accrued liabilities in the consolidated balance sheets as of December&#160;31, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table details the changes in non-controlling interest for the years ended December&#160;31, 2020, and 2019 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.391%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.559%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.542%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.827%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.542%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.830%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2020&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Non-controlling interest, beginning of period&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,514&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,621&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net income&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5,154&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,264&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Distributions&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(5,179)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,371)&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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Sale of 50% membership 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(4,489)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Non-controlling interest, end of period&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,514&#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:MinorityInterestDisclosureTextBlock>
    <tls:NetBookValueOfAssetsContributed
      contextRef="iedc7903e6fe347018052b3e1ebcb16fb_I20070411"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzEzNTI_59b354c9-19be-4106-a534-3874bef97e29"
      unitRef="usd">17000</tls:NetBookValueOfAssetsContributed>
    <us-gaap:SaleOfStockPercentageOfOwnershipBeforeTransaction
      contextRef="i2ea6ff00dc7646a8ae2edd361f3ab965_D20070419-20070419"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzEzNzU_095ddee0-f390-464b-a922-1cb41a947042"
      unitRef="number">0.99999</us-gaap:SaleOfStockPercentageOfOwnershipBeforeTransaction>
    <us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners
      contextRef="ic27cad0165d5480083294b04b697db03_I20070419"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzE0MzM_ce651183-7c54-4dda-a01b-0e9154a61cd0"
      unitRef="number">0.00001</us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners>
    <tls:PercentageOfMembershipInterestSoldToInvestor
      contextRef="i89ea0e9ca223400aae6801b03f8bca53_I20070420"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzE1MDY_4a5f974b-35b4-43c2-b6f0-5776636f5777"
      unitRef="number">0.39999</tls:PercentageOfMembershipInterestSoldToInvestor>
    <tls:CashConsiderationReceivedOnSaleOfMembershipInterest
      contextRef="i89ea0e9ca223400aae6801b03f8bca53_I20070420"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzE1NjE_1979a9db-c50a-40da-af22-8700df7ff2ab"
      unitRef="usd">6000000</tls:CashConsiderationReceivedOnSaleOfMembershipInterest>
    <us-gaap:GainOrLossOnSaleOfStockInSubsidiary
      contextRef="i56715ec4c7a14eaea4a3f08476cf8a87_D20070420-20070420"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzE2NDk_f15d0662-4163-4af8-8390-1fd308dd3e12"
      unitRef="usd">5800000</us-gaap:GainOrLossOnSaleOfStockInSubsidiary>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="i56715ec4c7a14eaea4a3f08476cf8a87_D20070420-20070420"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzE2NzU_85f2272d-ed89-49cf-8ef1-7a5270b7717b"
      unitRef="number">0.60</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <tls:PercentageOfMembershipInterestSoldToInvestor
      contextRef="if696e14563ee407d9e530ff07d21a225_I20141224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzE5OTQ_e56b18de-e7ea-4031-9510-31240c566369"
      unitRef="number">0.10</tls:PercentageOfMembershipInterestSoldToInvestor>
    <tls:PercentageOfMembershipInterestSoldToInvestor
      contextRef="if696e14563ee407d9e530ff07d21a225_I20141224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzI3NDg3NzkwNzUyMDg_e56b18de-e7ea-4031-9510-31240c566369"
      unitRef="number">0.10</tls:PercentageOfMembershipInterestSoldToInvestor>
    <tls:CashConsiderationReceivedOnSaleOfMembershipInterest
      contextRef="if696e14563ee407d9e530ff07d21a225_I20141224"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzIwNTk_82b34506-e3e7-4dc7-bd0b-1f93b7b2155e"
      unitRef="usd">5000000</tls:CashConsiderationReceivedOnSaleOfMembershipInterest>
    <tls:NumberOfMembersInBoardOfDirector
      contextRef="i4437da99f9eb4fc990612cb2579856fd_D20141224-20141224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzI0MDc_d514bde9-680b-4347-abdb-67a5593b7e6a"
      unitRef="member">5</tls:NumberOfMembersInBoardOfDirector>
    <tls:ClassesOfMembershipUnits
      contextRef="i4437da99f9eb4fc990612cb2579856fd_D20141224-20141224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzMyOTg1MzQ4OTEyMzc_93b2722a-bbfb-47fe-9267-7b69392e03d3"
      unitRef="membershipunitclass">2</tls:ClassesOfMembershipUnits>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="i2eb1555c10b74cf2b34052dc5f555568_D20141224-20141224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzI2MTE_a7a37667-f248-4321-8778-4e72e2b7f092"
      unitRef="number">0.50</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <tls:PercentageOfProfitAndLossAllocated
      contextRef="i3db61aee55d8424c8cafebf6d95355f8_I20141224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzI2NTE_359a16af-f953-4e1d-a997-fc28e2f17d73"
      unitRef="number">0.50</tls:PercentageOfProfitAndLossAllocated>
    <tls:NumberOfDirectorsEntitledToAppoint
      contextRef="i2eb1555c10b74cf2b34052dc5f555568_D20141224-20141224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzI3NDg3NzkwNzUyNjU_120d6c86-0f6b-4bf5-8daa-063a7586128d"
      unitRef="member">3</tls:NumberOfDirectorsEntitledToAppoint>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="ia09bb6e1876f4dd39f9bc822aea0e60b_D20141224-20141224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzI3Njc_45da2dfe-5d8e-43cf-980b-f4d2b626ef3f"
      unitRef="number">0.50</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <tls:PercentageOfProfitAndLossAllocated
      contextRef="i0a0487a681ae4a6bbe64b97542ae468c_I20141224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzI4MDc_ecdf4af3-29b1-46f5-b5cd-b2228342e78e"
      unitRef="number">0.50</tls:PercentageOfProfitAndLossAllocated>
    <tls:NumberOfDirectorsEntitledToAppoint
      contextRef="ia09bb6e1876f4dd39f9bc822aea0e60b_D20141224-20141224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzI4NTY_c758af5b-d034-4d62-a940-c066ce271185"
      unitRef="member">2</tls:NumberOfDirectorsEntitledToAppoint>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i83762493446848c8b652cab964fc4975_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzI3NDg3NzkwNzY1OTE_9647b027-8d68-4976-9aff-879a3e40fc01"
      unitRef="usd">30000000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued
      contextRef="i83762493446848c8b652cab964fc4975_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzI3NDg3NzkwNzY2MTU_481fb4ac-be2a-458d-859d-e5f2395a9066"
      unitRef="shares">7300000</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
    <us-gaap:BusinessAcquisitionSharePrice
      contextRef="i5af35c8368d446e299b581c8cb26e242_I20201123"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzI3NDg3NzkwNzY2NDk_b473002e-90de-4cc4-9e33-3f34357797d8"
      unitRef="usdPerShare">20.39</us-gaap:BusinessAcquisitionSharePrice>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="i83762493446848c8b652cab964fc4975_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzI3NDg3NzkwNzY2OTE_10823902-3a9e-42a2-908a-9976e5865df9"
      unitRef="usd">148400000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i83762493446848c8b652cab964fc4975_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzI3NDg3NzkwNzY3NDU_dd2c7505-ce61-4a3e-8df3-608236896e32"
      unitRef="usd">178400000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts
      contextRef="i83762493446848c8b652cab964fc4975_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzI3NDg3NzkwNzY4MzE_43b82f2e-aedc-45a7-912b-6c5ab9dd96f8"
      unitRef="usd">148400000</us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts>
    <us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination
      contextRef="i83762493446848c8b652cab964fc4975_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzI3NDg3NzkwNzY4ODY_21ce37c2-9450-4a58-af29-2ad9e1490c4a"
      unitRef="usd">173900000</us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination>
    <tls:AdditionalPercentageOfOwnershipAcquired
      contextRef="i83762493446848c8b652cab964fc4975_D20201123-20201123"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzI3NDg3NzkwNzcwMzg_ab5a659d-1159-457d-ad0b-efcf1fb2449f"
      unitRef="number">0.50</tls:AdditionalPercentageOfOwnershipAcquired>
    <tls:ImpactOfStockIssuanceToAdditionalPaidInCapitalFromBusinessCombination
      contextRef="i83762493446848c8b652cab964fc4975_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzI3NDg3NzkwNzcwNzg_cae25658-a50a-40e9-a1cf-f83cc936db3d"
      unitRef="usd">25500000</tls:ImpactOfStockIssuanceToAdditionalPaidInCapitalFromBusinessCombination>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="i2eb1555c10b74cf2b34052dc5f555568_D20141224-20141224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzI5Njk_a7a37667-f248-4321-8778-4e72e2b7f092"
      unitRef="number">0.50</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="ia09bb6e1876f4dd39f9bc822aea0e60b_D20141224-20141224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzMwMzY_45da2dfe-5d8e-43cf-980b-f4d2b626ef3f"
      unitRef="number">0.50</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:ProfitLoss
      contextRef="ie2ee4aeec45b400e84cc107af7c3d226_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzMwNjk_ee9be68e-3bde-4c8f-8e2d-897dc93607b0"
      unitRef="usd">5200000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="ic2b1976925e445788a190765d4fc6dae_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzMwNzc_66dca7ed-7937-4c1b-a9fa-08504e4270d3"
      unitRef="usd">4300000</us-gaap:ProfitLoss>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="i9173689979ab41a8a9136cb999a1d9c0_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzM0MDU_77fc36f4-98de-406a-81af-0e81f59d41c6"
      unitRef="usd">2800000</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="ice3c73077da143fb9db26f1e688a070b_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzM0MTM_6f015669-d920-486a-aae4-f383e7f4369d"
      unitRef="usd">2400000</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="i62d4b824c70144f2ac35461cb4746b6e_D20210101-20210131"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzM1MTE_3aff8c37-5c06-43ad-b3f8-16e1bf83d180"
      unitRef="usd">2400000</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <tls:ChangesInNonControllingInterestTableTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90ZXh0cmVnaW9uOjMwOTFkZTg2ZmY0NzRiZGY4NTNmNzhiZGM5OTEzYmJmXzM3Njk_e45700cb-8b0a-4c3d-9a4d-235d2d88e488">&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table details the changes in non-controlling interest for the years ended December&#160;31, 2020, and 2019 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.391%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.559%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.542%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.827%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.542%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.830%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2020&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Non-controlling interest, beginning of period&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,514&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,621&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net income&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5,154&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,264&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Distributions&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(5,179)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,371)&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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Sale of 50% membership 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(4,489)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Non-controlling interest, end of period&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4,514&#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;</tls:ChangesInNonControllingInterestTableTextBlock>
    <us-gaap:MinorityInterest
      contextRef="i0ea9b50b2e9340de8e968ed594470846_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90YWJsZTowODJjN2RiZTMxNTA0YjQ5OGFlY2E3YjJhOTQ2YzBkYi90YWJsZXJhbmdlOjA4MmM3ZGJlMzE1MDRiNDk4YWVjYTdiMmE5NDZjMGRiXzEtMy0xLTEtMQ_f2f9728d-6597-4fae-92da-11503b4ade19"
      unitRef="usd">4514000</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterest
      contextRef="i3ee3ae2ed83c4581912988abc8df77eb_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90YWJsZTowODJjN2RiZTMxNTA0YjQ5OGFlY2E3YjJhOTQ2YzBkYi90YWJsZXJhbmdlOjA4MmM3ZGJlMzE1MDRiNDk4YWVjYTdiMmE5NDZjMGRiXzEtNS0xLTEtMQ_c48b8105-bcff-4b8b-83bd-669b1df9daf4"
      unitRef="usd">2621000</us-gaap:MinorityInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="i721caaef409448439d1687ecc1c75e9d_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90YWJsZTowODJjN2RiZTMxNTA0YjQ5OGFlY2E3YjJhOTQ2YzBkYi90YWJsZXJhbmdlOjA4MmM3ZGJlMzE1MDRiNDk4YWVjYTdiMmE5NDZjMGRiXzItMy0xLTEtMQ_41b72c14-bda8-4113-9c07-aaa80fc45a2d"
      unitRef="usd">5154000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="i0dc13a0737a14069b88adda64f898f91_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90YWJsZTowODJjN2RiZTMxNTA0YjQ5OGFlY2E3YjJhOTQ2YzBkYi90YWJsZXJhbmdlOjA4MmM3ZGJlMzE1MDRiNDk4YWVjYTdiMmE5NDZjMGRiXzItNS0xLTEtMQ_22c16165-ac79-4df8-b399-33497dffb110"
      unitRef="usd">4264000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="i721caaef409448439d1687ecc1c75e9d_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90YWJsZTowODJjN2RiZTMxNTA0YjQ5OGFlY2E3YjJhOTQ2YzBkYi90YWJsZXJhbmdlOjA4MmM3ZGJlMzE1MDRiNDk4YWVjYTdiMmE5NDZjMGRiXzMtMy0xLTEtMQ_9251a0e2-dd4b-4e37-ace4-cf6757637f5b"
      unitRef="usd">5179000</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="i0dc13a0737a14069b88adda64f898f91_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90YWJsZTowODJjN2RiZTMxNTA0YjQ5OGFlY2E3YjJhOTQ2YzBkYi90YWJsZXJhbmdlOjA4MmM3ZGJlMzE1MDRiNDk4YWVjYTdiMmE5NDZjMGRiXzMtNS0xLTEtMQ_24a0127e-f76c-4556-9cb0-2835e8241ddc"
      unitRef="usd">2371000</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="i721caaef409448439d1687ecc1c75e9d_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90YWJsZTowODJjN2RiZTMxNTA0YjQ5OGFlY2E3YjJhOTQ2YzBkYi90YWJsZXJhbmdlOjA4MmM3ZGJlMzE1MDRiNDk4YWVjYTdiMmE5NDZjMGRiXzQtMy0xLTEtMQ_d424d9ae-b6b0-4ae0-ac3a-beaffd2481e8"
      unitRef="usd">4489000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="i0dc13a0737a14069b88adda64f898f91_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90YWJsZTowODJjN2RiZTMxNTA0YjQ5OGFlY2E3YjJhOTQ2YzBkYi90YWJsZXJhbmdlOjA4MmM3ZGJlMzE1MDRiNDk4YWVjYTdiMmE5NDZjMGRiXzQtNS0xLTEtMQ_205ec000-fcd6-4d4c-879f-d83ad0bc7a72"
      unitRef="usd">0</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterest
      contextRef="i13da460816f24e6f99903093bf760591_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90YWJsZTowODJjN2RiZTMxNTA0YjQ5OGFlY2E3YjJhOTQ2YzBkYi90YWJsZXJhbmdlOjA4MmM3ZGJlMzE1MDRiNDk4YWVjYTdiMmE5NDZjMGRiXzUtMy0xLTEtMQ_82f3aeb2-6970-4f45-9ca0-51c80983459b"
      unitRef="usd">0</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterest
      contextRef="i0ea9b50b2e9340de8e968ed594470846_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMTUvZnJhZzozMDkxZGU4NmZmNDc0YmRmODUzZjc4YmRjOTkxM2JiZi90YWJsZTowODJjN2RiZTMxNTA0YjQ5OGFlY2E3YjJhOTQ2YzBkYi90YWJsZXJhbmdlOjA4MmM3ZGJlMzE1MDRiNDk4YWVjYTdiMmE5NDZjMGRiXzUtNS0xLTEtMQ_151e1c87-f386-4b0e-86d0-5516e6203e2a"
      unitRef="usd">4514000</us-gaap:MinorityInterest>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90ZXh0cmVnaW9uOjAxOTY2MWMxOGM2MDRlMmFhNjZkM2I0MWJhYTk0NjM1XzU3NTQ_6fc5ace4-8cd8-4f22-a7ff-30abcdd14b3a">Stockholders' Equity&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Authorized Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our authorized capital stock consists of 250,000,000 shares of common stock, $0.001 par value per share, and 10,000,000 shares of preferred stock, $0.01 par value per share. Prior to our Second Amended and Restated Articles of Incorporation, which were effective November&#160;12, 2020, the relative rights, preferences, and limitations of the Class A common stock and the Class B common stock were in all respects identical. The holders of the common stock had one vote for each share of common stock held. Our Second Amended and Restated Articles of Incorporation authorized our Board of Directors to classify or reclassify shares of our stock in one or more classes or series, to cause the issuance of additional shares of our stock, and to amend our charter without stockholder approval to increase or decrease the number of shares of stock that we have authority to issue. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November&#160;12, 2020, we filed Articles of Amendment (the &#x201c;Articles&#x201d;) with the State Department of Assessments and Taxation of the State of Maryland, effective as of the same date (the &#x201c;Effective Time&#x201d;). The Articles amended the Company&#x2019;s charter to effect a reverse stock split such that (1) every 1.259446 shares of Class A Common Stock that were issued and outstanding immediately prior to the Effective Time were changed into one issued and outstanding share of Class A Common Stock, and (2) every 1.259446 shares of Class B Common Stock that were issued and outstanding immediately prior to the Effective Time were changed into one issued and outstanding share of Class B Common Stock. Also on November&#160;12, 2020, we filed the Second Articles of Amendment and Restatement (the &#x201c;Second Amended Articles&#x201d;) with the State Department of Assessments and Taxation of the State of Maryland, effective as of the same date (the &#x201c;Effective Time&#x201d;). The Second Amended Articles amended the Company&#x2019;s charter to effect a conversion of each share of the Class B Common Stock that was issued and outstanding immediately prior to the Effective Time into one fully paid and non-assessable share of Class A Common Stock. From and after the Effective Time, certificates representing the Class B Common Stock now represent the number of shares of Class A Common Stock in which such Class B Common Stock was converted. Also, at the Effective Time, the Class A Common Stock was renamed and re-designated as common stock, par value $0.001 per share, of the Corporation.&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Shares Issued and Outstanding&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2021 and 2020, there were 66,767,450 and 64,625,071 shares of common stock issued and outstanding, respectively. There were no shares of preferred stock issued and outstanding on either date. The changes in our shares outstanding during 2021 and 2020 resulted from shares issued during the follow-on offering and repurchased shares held by EnCap.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Shares Repurchases&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Relative to the Repurchase Agreements, as disclosed under &lt;/span&gt;&lt;span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;&lt;a href="#i8e34b731fff54b69b9e274b8895e4a4f_139" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Note &lt;/a&gt;&lt;a href="#i8e34b731fff54b69b9e274b8895e4a4f_139" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;7&lt;/a&gt;&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; - Debt Obligations above, the Company agreed to repurchase the 39,682 outstanding shares held by EnCap for $1.3 million on April&#160;19, 2021. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Other Comprehensive (Loss) Income&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Comprehensive (loss) income includes changes in equity during a period from non-owner sources. Accumulated other comprehensive (loss) income included within stockholders&#x2019; equity consists of the following (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&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="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Year 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="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cumulative foreign currency translation loss&lt;/span&gt;&lt;/td&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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(134)&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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(63)&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="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cumulative actuarial gain on pension liability adjustment in Teloworks&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated other comprehensive (loss) income&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(27)&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:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44&#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:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90ZXh0cmVnaW9uOjAxOTY2MWMxOGM2MDRlMmFhNjZkM2I0MWJhYTk0NjM1XzExMA_35e59da7-5162-4672-82d4-c125ba119f0d"
      unitRef="shares">250000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90ZXh0cmVnaW9uOjAxOTY2MWMxOGM2MDRlMmFhNjZkM2I0MWJhYTk0NjM1XzEzNw_4aecc760-e94f-44c4-a212-954054c4986c"
      unitRef="usdPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90ZXh0cmVnaW9uOjAxOTY2MWMxOGM2MDRlMmFhNjZkM2I0MWJhYTk0NjM1XzE2NQ_842bba03-53b7-4423-8efc-a86b65f42458"
      unitRef="shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90ZXh0cmVnaW9uOjAxOTY2MWMxOGM2MDRlMmFhNjZkM2I0MWJhYTk0NjM1XzE5NQ_a52da0d4-88e5-4840-9e6f-2e329f9b942e"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90ZXh0cmVnaW9uOjAxOTY2MWMxOGM2MDRlMmFhNjZkM2I0MWJhYTk0NjM1XzUwMg_59b96a01-c7ff-4b43-be1a-7b54d37dd84e"
      unitRef="shares">1</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i885e1cdfb77e43e9bcc889cd8e2fc14e_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90ZXh0cmVnaW9uOjAxOTY2MWMxOGM2MDRlMmFhNjZkM2I0MWJhYTk0NjM1XzEyMTI_282b4d5a-a27d-4997-97dc-1d4574e0f3bb"
      unitRef="number">1.259446</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="if5afccaa28fa455abddd7969179a907a_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90ZXh0cmVnaW9uOjAxOTY2MWMxOGM2MDRlMmFhNjZkM2I0MWJhYTk0NjM1XzE0MDg_279a3046-f184-4a5b-9b0e-14140d2e9fa1"
      unitRef="number">1.259446</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90ZXh0cmVnaW9uOjAxOTY2MWMxOGM2MDRlMmFhNjZkM2I0MWJhYTk0NjM1XzI0MDk_4aecc760-e94f-44c4-a212-954054c4986c"
      unitRef="usdPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesIssued
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90ZXh0cmVnaW9uOjAxOTY2MWMxOGM2MDRlMmFhNjZkM2I0MWJhYTk0NjM1XzI3NDg3NzkwODE0MzI_07aed176-123d-4288-b6a7-1b68c304ec76"
      unitRef="shares">66767450</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90ZXh0cmVnaW9uOjAxOTY2MWMxOGM2MDRlMmFhNjZkM2I0MWJhYTk0NjM1XzI3NDg3NzkwODE0MzI_a449998c-e40a-4e5f-bea8-19340e850590"
      unitRef="shares">66767450</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90ZXh0cmVnaW9uOjAxOTY2MWMxOGM2MDRlMmFhNjZkM2I0MWJhYTk0NjM1XzI3NDg3NzkwODE1Mjg_1cdad4c0-1b3b-4ff4-9098-bbf4e2e348ea"
      unitRef="shares">64625071</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90ZXh0cmVnaW9uOjAxOTY2MWMxOGM2MDRlMmFhNjZkM2I0MWJhYTk0NjM1XzI3NDg3NzkwODE1Mjg_fe149e63-b26c-406f-8bab-7753f23b9905"
      unitRef="shares">64625071</us-gaap:CommonStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90ZXh0cmVnaW9uOjAxOTY2MWMxOGM2MDRlMmFhNjZkM2I0MWJhYTk0NjM1XzI1MDc_0555f5e0-fdb6-4447-b8e9-562ba5623f88"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90ZXh0cmVnaW9uOjAxOTY2MWMxOGM2MDRlMmFhNjZkM2I0MWJhYTk0NjM1XzI1MDc_3c84e7a2-d1f9-4b4e-891e-d788102bec25"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90ZXh0cmVnaW9uOjAxOTY2MWMxOGM2MDRlMmFhNjZkM2I0MWJhYTk0NjM1XzI1MDc_475611cc-beb4-4af7-8068-8594a242e4f0"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90ZXh0cmVnaW9uOjAxOTY2MWMxOGM2MDRlMmFhNjZkM2I0MWJhYTk0NjM1XzI1MDc_9bf85502-d69d-46cd-9081-d05d7b175de0"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i92f37feb042d4c86aaffd74c062228c5_D20210419-20210419"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90ZXh0cmVnaW9uOjAxOTY2MWMxOGM2MDRlMmFhNjZkM2I0MWJhYTk0NjM1XzI3NDg3NzkwODE1NTk_7ea92c75-e731-4dde-95bc-63ad201bcaad"
      unitRef="shares">39682</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i92f37feb042d4c86aaffd74c062228c5_D20210419-20210419"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90ZXh0cmVnaW9uOjAxOTY2MWMxOGM2MDRlMmFhNjZkM2I0MWJhYTk0NjM1XzI3NDg3NzkwODE1NjM_bc74746d-16f2-49df-9e33-780264c0c526"
      unitRef="usd">1300000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90ZXh0cmVnaW9uOjAxOTY2MWMxOGM2MDRlMmFhNjZkM2I0MWJhYTk0NjM1XzMyOTg1MzQ4OTUxMjY_2bc45032-9547-4615-817f-be63fcb400b2">Accumulated other comprehensive (loss) income included within stockholders&#x2019; equity consists of the following (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&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="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Year 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="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cumulative foreign currency translation loss&lt;/span&gt;&lt;/td&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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(134)&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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(63)&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="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cumulative actuarial gain on pension liability adjustment in Teloworks&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated other comprehensive (loss) income&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(27)&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:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44&#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;</us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90YWJsZTozYWVlNjJkM2RhYjk0MDVlOGE4Mjk3NWM1NjljZDU3Zi90YWJsZXJhbmdlOjNhZWU2MmQzZGFiOTQwNWU4YTgyOTc1YzU2OWNkNTdmXzEtMS0xLTEtMzAyMDU_64ce1532-2351-427a-85f0-715d2895f67a"
      unitRef="usd">-134000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90YWJsZTozYWVlNjJkM2RhYjk0MDVlOGE4Mjk3NWM1NjljZDU3Zi90YWJsZXJhbmdlOjNhZWU2MmQzZGFiOTQwNWU4YTgyOTc1YzU2OWNkNTdmXzEtMy0xLTEtMzAyMDc_7cab97ec-d854-4454-9514-c22af0757577"
      unitRef="usd">-63000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90YWJsZTozYWVlNjJkM2RhYjk0MDVlOGE4Mjk3NWM1NjljZDU3Zi90YWJsZXJhbmdlOjNhZWU2MmQzZGFiOTQwNWU4YTgyOTc1YzU2OWNkNTdmXzItMS0xLTEtMzAyMDU_bd7cab69-1f6b-4dbe-b173-f1f7577e9a14"
      unitRef="usd">-107000</us-gaap:AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90YWJsZTozYWVlNjJkM2RhYjk0MDVlOGE4Mjk3NWM1NjljZDU3Zi90YWJsZXJhbmdlOjNhZWU2MmQzZGFiOTQwNWU4YTgyOTc1YzU2OWNkNTdmXzItMy0xLTEtMzAyMDc_cb47ad75-259b-4aef-83b7-4036a7b2c95e"
      unitRef="usd">-107000</us-gaap:AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90YWJsZTozYWVlNjJkM2RhYjk0MDVlOGE4Mjk3NWM1NjljZDU3Zi90YWJsZXJhbmdlOjNhZWU2MmQzZGFiOTQwNWU4YTgyOTc1YzU2OWNkNTdmXzMtMS0xLTEtMzAyMDU_b5e0a5a1-06ef-4e52-875b-aa674baac21f"
      unitRef="usd">-27000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTEvZnJhZzowMTk2NjFjMThjNjA0ZTJhYTY2ZDNiNDFiYWE5NDYzNS90YWJsZTozYWVlNjJkM2RhYjk0MDVlOGE4Mjk3NWM1NjljZDU3Zi90YWJsZXJhbmdlOjNhZWU2MmQzZGFiOTQwNWU4YTgyOTc1YzU2OWNkNTdmXzMtMy0xLTEtMzAyMDc_81dfacbe-ff6e-424b-88bf-bc5cf3ea41b0"
      unitRef="usd">44000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODM2L2ZyYWc6MDE4MzY2ZGZlZjMyNDEzNWExZWFmOTk3OTcxZDE2OGIvdGV4dHJlZ2lvbjowMTgzNjZkZmVmMzI0MTM1YTFlYWY5OTc5NzFkMTY4Yl8zMjk4NTM0ODg2NDc5_b3dca53a-1f0f-42e4-962c-c72a9e2f9d0e">Employee Benefit Plan&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Telos sponsors a defined contribution employee savings plan (the &#x201c;Plan&#x201d;) under which substantially all full-time employees are eligible to participate. As of December&#160;31, 2021, the Plan held 1,031,718 shares of Telos common stock. We match one-half of employee contributions to the Plan up to a maximum of 2% of such employee&#x2019;s eligible annual base salary. Participant contributions vest immediately, and Telos contributions vest at the rate of 20% each year, with full vesting occurring after completion of five years of service. Our total contributions to the Plan for 2021, 2020, and 2019 were $1.1 million, $1.0 million, and $0.9 million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Additionally, Telos ID sponsors a defined contribution savings plan (the &#x201c;Telos ID Plan&#x201d;) under which substantially all full-time employees are eligible to participate. Telos ID matches one-half of employee contributions to the Telos ID Plan up to a maximum of 2% of such employee&#x2019;s eligible annual base salary. The total 2021, 2020, and 2019 Telos ID contributions to this plan were $0.2 million, $0.2 million, and $0.2 million, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:CompensationAndEmployeeBenefitPlansOtherThanShareBasedCompensationTextBlock>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeBenefitPlan
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODM2L2ZyYWc6MDE4MzY2ZGZlZjMyNDEzNWExZWFmOTk3OTcxZDE2OGIvdGV4dHJlZ2lvbjowMTgzNjZkZmVmMzI0MTM1YTFlYWY5OTc5NzFkMTY4Yl8yNzQ4Nzc5MDY5NjQ1_cd466276-982d-4137-9eb7-2194d8f05b26"
      unitRef="shares">1031718</us-gaap:StockIssuedDuringPeriodSharesEmployeeBenefitPlan>
    <us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODM2L2ZyYWc6MDE4MzY2ZGZlZjMyNDEzNWExZWFmOTk3OTcxZDE2OGIvdGV4dHJlZ2lvbjowMTgzNjZkZmVmMzI0MTM1YTFlYWY5OTc5NzFkMTY4Yl8yNzQ4Nzc5MDY5NzU0_e1d697f0-0561-4153-956f-ac3eaf3b2193"
      unitRef="number">0.02</us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent>
    <us-gaap:DefinedContributionPlanEmployersMatchingContributionAnnualVestingPercentage
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODM2L2ZyYWc6MDE4MzY2ZGZlZjMyNDEzNWExZWFmOTk3OTcxZDE2OGIvdGV4dHJlZ2lvbjowMTgzNjZkZmVmMzI0MTM1YTFlYWY5OTc5NzFkMTY4Yl8yNzQ4Nzc5MDY5ODk2_5d58774c-65ee-447a-a4dd-2251f249c953"
      unitRef="number">0.20</us-gaap:DefinedContributionPlanEmployersMatchingContributionAnnualVestingPercentage>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODM2L2ZyYWc6MDE4MzY2ZGZlZjMyNDEzNWExZWFmOTk3OTcxZDE2OGIvdGV4dHJlZ2lvbjowMTgzNjZkZmVmMzI0MTM1YTFlYWY5OTc5NzFkMTY4Yl8yNzQ4Nzc5MDY5OTU5_015b1efb-6f5a-40da-a104-a15f1251cf83">P5Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODM2L2ZyYWc6MDE4MzY2ZGZlZjMyNDEzNWExZWFmOTk3OTcxZDE2OGIvdGV4dHJlZ2lvbjowMTgzNjZkZmVmMzI0MTM1YTFlYWY5OTc5NzFkMTY4Yl8yNzQ4Nzc5MDcwMDM4_2929b492-abcb-4dbb-b29c-658682c76cf0"
      unitRef="usd">1100000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODM2L2ZyYWc6MDE4MzY2ZGZlZjMyNDEzNWExZWFmOTk3OTcxZDE2OGIvdGV4dHJlZ2lvbjowMTgzNjZkZmVmMzI0MTM1YTFlYWY5OTc5NzFkMTY4Yl8yNzQ4Nzc5MDcwMDQz_b3a5b9d5-c731-41f9-949b-f85f31c97670"
      unitRef="usd">1000000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODM2L2ZyYWc6MDE4MzY2ZGZlZjMyNDEzNWExZWFmOTk3OTcxZDE2OGIvdGV4dHJlZ2lvbjowMTgzNjZkZmVmMzI0MTM1YTFlYWY5OTc5NzFkMTY4Yl8yNzQ4Nzc5MDcwMDUy_810e830d-9f38-4d40-9984-a072e0dc81b7"
      unitRef="usd">900000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent
      contextRef="ifa0e4296f95446aeb2af022594132ca7_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODM2L2ZyYWc6MDE4MzY2ZGZlZjMyNDEzNWExZWFmOTk3OTcxZDE2OGIvdGV4dHJlZ2lvbjowMTgzNjZkZmVmMzI0MTM1YTFlYWY5OTc5NzFkMTY4Yl8yNzQ4Nzc5MDcwMzMy_400fb43e-71ba-48cc-9c59-79f3b35862af"
      unitRef="number">0.02</us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="ifa0e4296f95446aeb2af022594132ca7_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODM2L2ZyYWc6MDE4MzY2ZGZlZjMyNDEzNWExZWFmOTk3OTcxZDE2OGIvdGV4dHJlZ2lvbjowMTgzNjZkZmVmMzI0MTM1YTFlYWY5OTc5NzFkMTY4Yl8yNzQ4Nzc5MDcwNDUz_db82dfe7-75c3-4614-bfd2-c4d81011a4b2"
      unitRef="usd">200000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="id673f9245dce48d980764d43703e0fc2_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODM2L2ZyYWc6MDE4MzY2ZGZlZjMyNDEzNWExZWFmOTk3OTcxZDE2OGIvdGV4dHJlZ2lvbjowMTgzNjZkZmVmMzI0MTM1YTFlYWY5OTc5NzFkMTY4Yl8yNzQ4Nzc5MDcwNDU4_36895bdf-b06d-4f12-9a6e-f00957a6b949"
      unitRef="usd">200000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="if4e8bf1732954c4480b49f1b519c745d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODM2L2ZyYWc6MDE4MzY2ZGZlZjMyNDEzNWExZWFmOTk3OTcxZDE2OGIvdGV4dHJlZ2lvbjowMTgzNjZkZmVmMzI0MTM1YTFlYWY5OTc5NzFkMTY4Yl8yNzQ4Nzc5MDcwNDY3_0f576406-9f60-4444-bf30-f51fd05e3966"
      unitRef="usd">200000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8zMjk4NTM0ODkzMjky_4785062d-1a6d-4dca-99a8-840c9e99a306">Stock-Based Compensation&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Since June 2008, we have issued restricted stock to our senior executives, directors, employees and other service providers. Such stock typically was subject to a vesting schedule as follows: 25% of the restricted stock vests immediately on the date of grant; thereafter, an additional 25% will vest on each succeeding year on the anniversary of the date of grant subject to continued employment or services. In the event of death of the employee or a change in control, as defined by the Telos Corporation 2008 Omnibus Long-Term Incentive Plan, the 2013 Omnibus Long-Term Incentive Plan, or the 2016 Omnibus Long-Term Incentive Plan, all unvested shares shall automatically vest in full. In accordance with ASC 718, we recorded immaterial compensation expense for any of the issuances as the value of the common stock was nominal, based on the deduction of our outstanding debt, capital lease obligations, and preferred stock from an estimated enterprise value, which was estimated based on discounted cash flow analysis, comparable public company analysis, and comparable transaction analysis. Additionally, we determined that a significant change in the valuation estimate for common stock would not have a significant effect on the consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In May 2017, we issued grants of 3,972,007 shares to our executive officers and employees. The shares vest according to the schedule set forth above. There were 3,948,199 shares outstanding at the beginning of 2018, and 43,649 shares were forfeited during 2018. There were no new grants in 2018. There were 3,904,550 shares outstanding at the beginning of 2019, and 11,904 shares were forfeited during 2019.&#160; There were no new grants in 2019. At the beginning of 2020 there were 3,892,646 shares outstanding and 47,616 were forfeited prior to May 2020, when the remaining 3,845,030 shares became fully vested.&#160; Upon vesting there were no remaining restrictions on these shares and they are able to be sold or disposed of, subject to any lock-up agreements subsequently entered into by certain holders of the shares in connection with the IPO of the Company&#x2019;s common stock in November 2020. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In May&#160;31, 2020, 79,361 shares were granted, with a weighted-average fair value of $14,000 at grant date. As of December&#160;31, 2020, there were 59,521 shares of restricted stock that remained subject to vesting. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In October 2020, the Company amended the 2016 LTIP to increase the total number of shares available for issuance to 9,400,000 from 4,500,000 and extend the term to September 30, 2030. Our 2016 LTIP provides for the grant of stock options, stock appreciation rights, restricted stock, restricted stock units, unrestricted stock and dividend equivalent rights to our senior executives, directors, employees, and other service providers. Awards granted under the 2016 LTIP vest over the periods determined by the Board of Directors or the Compensation Committee of the Board of Directors, generally up to &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8zMjk4NTM0ODk0NTkx_766da6b7-a687-4ea2-95d1-8651956c5d86"&gt;two&lt;/span&gt; to three years, and stock options granted under the 2016 LTIP expire no more than ten years after the date of grant. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Approximately 5.6 million shares of our common stock were reserved for future grants as of December 31, 2021 under the 2016 LTIP.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following are the stock-based compensation expense incurred for the years ended December 31, 2021 and 2020 (in thousands). We do not have any stock compensation expense reported for the comparative period ended December 31, 2019.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&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="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cost of sales - services&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,640&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Sales and marketing&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;7,189&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Research and development&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3,268&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;General and administrative&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;47,134&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;Total stock-based compensation expense&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,231&#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 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:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#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:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Restricted Stock Awards and Restricted Stock Unit (collectively &#x201c;RSU&#x201d;) Activity&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company grants RSUs to our senior executives, directors, employees and service providers.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Service-Based RSU Awards&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of the awards of Service-Based RSUs that vest upon the completion of a service requirement is presented below:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.988%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.579%"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Number of&lt;br/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average Grant&lt;br/&gt;Date Fair&lt;br/&gt;Value&lt;br/&gt;(per share)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Contractual&lt;br/&gt;Life (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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value &lt;br/&gt;(in thousands)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested Balance - December 31, 2020&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,521&#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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.18&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.4&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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,000&#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 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,206,283&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34.92&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(132,020)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33.99&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(103,176)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35.45&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested Balance - December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,030,608&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34.94&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.3&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,700&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognized an expense of $46.8 million related to share-based compensation expense for Service-Based RSUs capable of being earned for completing a service requirement during the years ended December 31, 2021. We recorded immaterial share-based compensation expense for the comparable year ended December 31, 2020 and 2019. As of December 31, 2021, there was approximately $61.5 million of unrecognized stock-based compensation expense related to Service-Based RSUs, and this unrecognized expense is expected to be recognized over a weighted-average period of 1.3 years on a straight-line basis.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Performance-Based RSU Awards&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of the awards of Performance-Based RSUs that vest upon the attainment of certain price targets of the Company&#x2019;s common stock is presented below:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.988%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.579%"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Number of&lt;br/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average Grant&lt;br/&gt;Date Fair&lt;br/&gt;Value&lt;br/&gt;(per share)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Contractual&lt;br/&gt;Life (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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value&lt;br/&gt;(in thousands)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested Balance - December 31, 2020&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#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 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;508,903&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.09&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16,176)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested Balance - December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;492,727&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.07&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.2&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,600&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In 2021 the Company granted certain senior executives awards of Performance-Based RSUs that could settle into 458,903 shares of our common stock. The awards will vest only if, during the three-year period from the date of grant, (a) the Company&#x2019;s common stock, as listed on the Nasdaq Global Market, trades at or above $42.50 per share (the &#x201c;Target Price&#x201d;) for 20 of 30 consecutive trading days or (b) the weighted average of the per-share price of the Company&#x2019;s common stock over any 30 days consecutive trading days is at least equal to the Target Price. Further, the Company granted 50,000 shares of Performance-Based RSUs to certain employees that will fully vest upon the achievement of certain operational milestones during a three-year period from the grant date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the Performance-Based RSUs containing market conditions, the conditions are required to be considered when calculating the grant date fair value. In order to reflect the substantive characteristics of these awards, a Monte Carlo simulation valuation model was used to calculate the grant date fair value of such awards. Monte Carlo approaches are a class of computational algorithms that rely on repeated random sampling to compute their results. This approach allows the calculation of the value of such Performance-Based RSUs based on a large number of possible stock price path scenarios. As the Company recently completed its IPO in November 2020, expected volatility was based on the average historical stock price volatility of comparable publicly-traded companies over the performance period. The risk-free rate is based on the U.S. treasury zero-coupon issues in effect at the time of grant over the performance period. The expense for these awards is recognized over the derived service period as determined through the Monte Carlo simulation model.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our key assumptions include a performance period ranging from 2.45 to 2.92 years, expected volatility between 57.4% - 58.8%, and a risk-free rate of 0.18%-0.29%. The fair value at the grant date and derived service periods calculated for these market condition Performance-Based RSUs were $19.12 - $30.84 and between 0.38 - 0.76 years, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognized an expense of $13.5 million related to share-based compensation expense for these awards of Performance-Based RSUs during the years ended December 31, 2021. As of December 31, 2021, there was approximately $1.4 million of unrecognized stock-based compensation expense related to these Performance-Based RSUs, and this unrecognized expense is expected to be recognized over a weighted-average period of 0.3 years on a straight-line basis.&lt;/span&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <tls:PercentageRestrictedStockVestedOnDateOfGrant
      contextRef="i8b72986c169543398ffcdcc4743ca4e2_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDc0MTQ2_ba51f8c1-3a1e-42c7-a5a7-849a5f97ccdb"
      unitRef="number">0.25</tls:PercentageRestrictedStockVestedOnDateOfGrant>
    <tls:PercentageOfRestrictedStockVestOnAnniversaryOfDateOfGrant
      contextRef="i8b72986c169543398ffcdcc4743ca4e2_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDc0MjQw_feefd09a-88da-45d6-bce4-9cd05297b1ef"
      unitRef="number">0.25</tls:PercentageOfRestrictedStockVestOnAnniversaryOfDateOfGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="i8dfa22aaf2be4146a7babf1feaeb2cae_D20170501-20170531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDc1MjM4_3c285558-5c14-4e24-a082-e3310347bf0e"
      unitRef="shares">3972007</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="i3f51ba5d2df34d7fa74834a964fdf12e_I20171231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwMzM3_90069c12-f83d-47aa-a7ce-6edcb04bcad5"
      unitRef="shares">3948199</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="i1d1da4cdc74f402d8e2959c780a4934e_D20180101-20181231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwMzQ2_e7d07a31-f9ac-4124-9fbf-ceecae5f20af"
      unitRef="shares">43649</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="i1d1da4cdc74f402d8e2959c780a4934e_D20180101-20181231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDc1NDYz_83a3351c-29db-4272-aea9-419d71c313a0"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="i6f11ca8aae2f4e35a321f6237bc6b521_I20181231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwMzYw_d2e81a07-d036-43cd-ad7a-1f97bc13b9be"
      unitRef="shares">3904550</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="ic5ef1ff401ec451d9fde605679a202c7_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwMzY5_c856e3a5-24b1-494c-9e61-eb007d7a5d2a"
      unitRef="shares">11904</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="ic5ef1ff401ec451d9fde605679a202c7_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDc1NTk5_d78271fa-dcf2-4e03-a1f8-ba7b86af6914"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="i67a797169402454aba969b71ebec70fa_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwMzg4_54e8ddb8-d88e-4657-aa2e-a886ae23d680"
      unitRef="shares">3892646</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="id6bcfe72927b477e8fce6252d561a217_D20200101-20200531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwMzky_c241f4ff-f5dc-4cfe-8537-64c470585252"
      unitRef="shares">47616</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="i99344d00f57f4042b08d3aee0a20d520_I20200531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDc1NzQx_4f5c5c50-5c84-49dc-acdf-c58c95b863e4"
      unitRef="shares">3845030</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="ia7ff2fca2a584b4ca514e4199c2f255a_D20200531-20200531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDc2MDYx_d336bfa0-45d7-4013-9714-9ece6d867036"
      unitRef="shares">79361</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <tls:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue1
      contextRef="ia7ff2fca2a584b4ca514e4199c2f255a_D20200531-20200531"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8xMDk5NTExNjQ2NTEz_798c7462-e7c9-481f-89b3-163b740d8d74"
      unitRef="usd">14000</tls:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDc2MTA4_eaa1b9f2-cec6-43f3-b95d-4e10fd1f3959"
      unitRef="shares">59521</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i1563b6bbc3434c20b18b926db9a0615b_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDc5OTk0_75c363f5-6921-4e2e-8c4b-f12de802d763"
      unitRef="shares">9400000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i8bd84477796f4b53b4fa6709cdeaa9ab_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwMDA2_ab2d5c80-40be-46b8-9a29-fc10e41ea6ac"
      unitRef="shares">4500000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ifa6aff6ec9484c2cb5fbde3a278875c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8zMjk4NTM0ODk0NTky_89b0ba61-9e97-48e9-bd76-c235fa23e5c8">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="id9312458afaf4f999f358b83e4c3ac87_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8zMjk4NTM0ODk0NTkz_351f48e5-4bd8-4e6f-beeb-800374f3f910">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="iad29c0b8a74b49899800359554226bff_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwNDIw_dc2cb8f4-fbe2-47f8-b3d0-79135e944b0f"
      unitRef="shares">5600000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8zMjk4NTM0ODkzMjkz_b4a85276-52cb-4bb8-81e9-40fe7f675583">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following are the stock-based compensation expense incurred for the years ended December 31, 2021 and 2020 (in thousands). We do not have any stock compensation expense reported for the comparative period ended December 31, 2019.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&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="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cost of sales - services&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,640&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Sales and marketing&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;7,189&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Research and development&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3,268&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;General and administrative&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;47,134&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;Total stock-based compensation expense&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,231&#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 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:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#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:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="id8d9d386295b47c39205b4fb6dbdcb85_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6ZmI4MzBmYjUyNGFjNGY4ZWFhMzdlMmM1ZmU2NzM1YjAvdGFibGVyYW5nZTpmYjgzMGZiNTI0YWM0ZjhlYWEzN2UyYzVmZTY3MzViMF8yLTEtMS0xLTMwNTMy_b3f86a18-4d66-4756-8b0e-b1ffccc53c70"
      unitRef="usd">2640000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="if981dc5b79194832af46780025982b67_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6ZmI4MzBmYjUyNGFjNGY4ZWFhMzdlMmM1ZmU2NzM1YjAvdGFibGVyYW5nZTpmYjgzMGZiNTI0YWM0ZjhlYWEzN2UyYzVmZTY3MzViMF8yLTMtMS0xLTMwNTM0_f09a391e-b4df-49b6-b937-839b348eda1b"
      unitRef="usd">0</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ib4547c6902584e9bbfceeb226a00b1f8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6ZmI4MzBmYjUyNGFjNGY4ZWFhMzdlMmM1ZmU2NzM1YjAvdGFibGVyYW5nZTpmYjgzMGZiNTI0YWM0ZjhlYWEzN2UyYzVmZTY3MzViMF8zLTEtMS0xLTMwNTMy_da52a969-a4a5-4206-ad75-5e1184b4d8ff"
      unitRef="usd">7189000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="icc734895d48b48c58bc2a9bc781bbfd4_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6ZmI4MzBmYjUyNGFjNGY4ZWFhMzdlMmM1ZmU2NzM1YjAvdGFibGVyYW5nZTpmYjgzMGZiNTI0YWM0ZjhlYWEzN2UyYzVmZTY3MzViMF8zLTMtMS0xLTMwNTM0_1f9a8cef-d540-447d-88a8-05149ddc3055"
      unitRef="usd">0</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i113807d8c26e418cb83a4788cbcbc3e9_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6ZmI4MzBmYjUyNGFjNGY4ZWFhMzdlMmM1ZmU2NzM1YjAvdGFibGVyYW5nZTpmYjgzMGZiNTI0YWM0ZjhlYWEzN2UyYzVmZTY3MzViMF80LTEtMS0xLTMwNTMy_2b300607-2234-43b0-b47f-1ff314e1e923"
      unitRef="usd">3268000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ic454668d42624f4da2698c0e951b93ea_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6ZmI4MzBmYjUyNGFjNGY4ZWFhMzdlMmM1ZmU2NzM1YjAvdGFibGVyYW5nZTpmYjgzMGZiNTI0YWM0ZjhlYWEzN2UyYzVmZTY3MzViMF80LTMtMS0xLTMwNTM0_50a1c5ab-1a82-4227-97c0-e451bd87995d"
      unitRef="usd">0</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="icfea30f0173b4846a59eca4c387ae149_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6ZmI4MzBmYjUyNGFjNGY4ZWFhMzdlMmM1ZmU2NzM1YjAvdGFibGVyYW5nZTpmYjgzMGZiNTI0YWM0ZjhlYWEzN2UyYzVmZTY3MzViMF81LTEtMS0xLTMwNTMy_3ebf126f-1602-4f91-b861-65ef718ed234"
      unitRef="usd">47134000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="icea6664302da46e99c0f95bedc02bee5_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6ZmI4MzBmYjUyNGFjNGY4ZWFhMzdlMmM1ZmU2NzM1YjAvdGFibGVyYW5nZTpmYjgzMGZiNTI0YWM0ZjhlYWEzN2UyYzVmZTY3MzViMF81LTMtMS0xLTMwNTM0_5f7778f1-bd1e-4404-99ba-a994ca362669"
      unitRef="usd">4000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6ZmI4MzBmYjUyNGFjNGY4ZWFhMzdlMmM1ZmU2NzM1YjAvdGFibGVyYW5nZTpmYjgzMGZiNTI0YWM0ZjhlYWEzN2UyYzVmZTY3MzViMF82LTEtMS0xLTMwNTMy_c2795bac-82b7-4147-8774-aad64764d4bf"
      unitRef="usd">60231000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6ZmI4MzBmYjUyNGFjNGY4ZWFhMzdlMmM1ZmU2NzM1YjAvdGFibGVyYW5nZTpmYjgzMGZiNTI0YWM0ZjhlYWEzN2UyYzVmZTY3MzViMF82LTMtMS0xLTMwNTM0_7bcc5c7d-23a2-4999-9095-a38af14b5b02"
      unitRef="usd">4000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8zMjk4NTM0ODkzMjk0_99b9a265-ee4f-42da-86f8-05afa04b3146">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of the awards of Service-Based RSUs that vest upon the completion of a service requirement is presented below:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.988%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.579%"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Number of&lt;br/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average Grant&lt;br/&gt;Date Fair&lt;br/&gt;Value&lt;br/&gt;(per share)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Contractual&lt;br/&gt;Life (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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value &lt;br/&gt;(in thousands)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested Balance - December 31, 2020&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,521&#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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.18&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.4&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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,000&#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 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,206,283&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34.92&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(132,020)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33.99&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(103,176)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35.45&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested Balance - December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,030,608&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34.94&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.3&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,700&#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;/table&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of the awards of Performance-Based RSUs that vest upon the attainment of certain price targets of the Company&#x2019;s common stock is presented below:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.988%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.579%"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Number of&lt;br/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average Grant&lt;br/&gt;Date Fair&lt;br/&gt;Value&lt;br/&gt;(per share)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Contractual&lt;br/&gt;Life (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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value&lt;br/&gt;(in thousands)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested Balance - December 31, 2020&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#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 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;508,903&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.09&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16,176)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested Balance - December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;492,727&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.07&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.2&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,600&#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;/table&gt;</us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="if55a0bac6cd34b0f8860887cddaaf7a2_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6ZWE1MzgyYTljOTRhNGU1MzliMTc4ZDY2ZTVjOTk4OGIvdGFibGVyYW5nZTplYTUzODJhOWM5NGE0ZTUzOWIxNzhkNjZlNWM5OTg4Yl8xLTEtMS0xLTI4MjM2_da801b81-f4a9-4997-8ddc-445afda569b5"
      unitRef="shares">59521</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="if55a0bac6cd34b0f8860887cddaaf7a2_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6ZWE1MzgyYTljOTRhNGU1MzliMTc4ZDY2ZTVjOTk4OGIvdGFibGVyYW5nZTplYTUzODJhOWM5NGE0ZTUzOWIxNzhkNjZlNWM5OTg4Yl8xLTMtMS0xLTI4MjM2_63c25324-3074-43f5-9e61-065aa3623b04"
      unitRef="usdPerShare">0.18</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms
      contextRef="i88bab31fe45044898529e8dd50897b14_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6ZWE1MzgyYTljOTRhNGU1MzliMTc4ZDY2ZTVjOTk4OGIvdGFibGVyYW5nZTplYTUzODJhOWM5NGE0ZTUzOWIxNzhkNjZlNWM5OTg4Yl8xLTUtMS0xLTI4MjM2_e5c7deae-0ce1-4c07-8e45-54fd067d902d">P2Y4M24D</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding
      contextRef="if55a0bac6cd34b0f8860887cddaaf7a2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6ZWE1MzgyYTljOTRhNGU1MzliMTc4ZDY2ZTVjOTk4OGIvdGFibGVyYW5nZTplYTUzODJhOWM5NGE0ZTUzOWIxNzhkNjZlNWM5OTg4Yl8xLTctMS0xLTI4MjM2_a2b03bcf-02dd-44db-b105-aa20a7879bb3"
      unitRef="usd">2000000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i6b13a923b9374c73af7efb777d57e988_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6ZWE1MzgyYTljOTRhNGU1MzliMTc4ZDY2ZTVjOTk4OGIvdGFibGVyYW5nZTplYTUzODJhOWM5NGE0ZTUzOWIxNzhkNjZlNWM5OTg4Yl8yLTEtMS0xLTI4MjM2_68bfe56d-f8c8-450e-b3e6-a20a96f68392"
      unitRef="shares">3206283</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i6b13a923b9374c73af7efb777d57e988_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6ZWE1MzgyYTljOTRhNGU1MzliMTc4ZDY2ZTVjOTk4OGIvdGFibGVyYW5nZTplYTUzODJhOWM5NGE0ZTUzOWIxNzhkNjZlNWM5OTg4Yl8yLTMtMS0xLTI4MjM2_809ddc86-19bf-4122-b3f3-225e63573986"
      unitRef="usdPerShare">34.92</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i6b13a923b9374c73af7efb777d57e988_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6ZWE1MzgyYTljOTRhNGU1MzliMTc4ZDY2ZTVjOTk4OGIvdGFibGVyYW5nZTplYTUzODJhOWM5NGE0ZTUzOWIxNzhkNjZlNWM5OTg4Yl8zLTEtMS0xLTI4MjM2_10e36460-bc66-4743-a114-835d9415d0ba"
      unitRef="shares">132020</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i6b13a923b9374c73af7efb777d57e988_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6ZWE1MzgyYTljOTRhNGU1MzliMTc4ZDY2ZTVjOTk4OGIvdGFibGVyYW5nZTplYTUzODJhOWM5NGE0ZTUzOWIxNzhkNjZlNWM5OTg4Yl8zLTMtMS0xLTI4MjM2_28c5878e-494e-47c6-ba60-7efe2e780e1b"
      unitRef="usdPerShare">33.99</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i6b13a923b9374c73af7efb777d57e988_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6ZWE1MzgyYTljOTRhNGU1MzliMTc4ZDY2ZTVjOTk4OGIvdGFibGVyYW5nZTplYTUzODJhOWM5NGE0ZTUzOWIxNzhkNjZlNWM5OTg4Yl80LTEtMS0xLTI4MjM2_ed3030d0-f3fa-4fd0-a40e-6b323ffdabc6"
      unitRef="shares">103176</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i6b13a923b9374c73af7efb777d57e988_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6ZWE1MzgyYTljOTRhNGU1MzliMTc4ZDY2ZTVjOTk4OGIvdGFibGVyYW5nZTplYTUzODJhOWM5NGE0ZTUzOWIxNzhkNjZlNWM5OTg4Yl80LTMtMS0xLTI4MjM2_8d6f1278-ba7d-4859-bf22-8d23bfa70aaa"
      unitRef="usdPerShare">35.45</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="if1b976d15984464983cb662d275d9ce0_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6ZWE1MzgyYTljOTRhNGU1MzliMTc4ZDY2ZTVjOTk4OGIvdGFibGVyYW5nZTplYTUzODJhOWM5NGE0ZTUzOWIxNzhkNjZlNWM5OTg4Yl81LTEtMS0xLTI4MjM2_a1faf6c3-3307-4e72-9d54-6622f86c11b6"
      unitRef="shares">3030608</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="if1b976d15984464983cb662d275d9ce0_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6ZWE1MzgyYTljOTRhNGU1MzliMTc4ZDY2ZTVjOTk4OGIvdGFibGVyYW5nZTplYTUzODJhOWM5NGE0ZTUzOWIxNzhkNjZlNWM5OTg4Yl81LTMtMS0xLTI4MjM2_5b8227c4-a8b7-411f-921b-0e4a92529a9f"
      unitRef="usdPerShare">34.94</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms
      contextRef="i6b13a923b9374c73af7efb777d57e988_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6ZWE1MzgyYTljOTRhNGU1MzliMTc4ZDY2ZTVjOTk4OGIvdGFibGVyYW5nZTplYTUzODJhOWM5NGE0ZTUzOWIxNzhkNjZlNWM5OTg4Yl81LTUtMS0xLTI4MjM2_a79faea0-7959-4c96-b633-98984c2827f6">P1Y3M18D</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding
      contextRef="if1b976d15984464983cb662d275d9ce0_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6ZWE1MzgyYTljOTRhNGU1MzliMTc4ZDY2ZTVjOTk4OGIvdGFibGVyYW5nZTplYTUzODJhOWM5NGE0ZTUzOWIxNzhkNjZlNWM5OTg4Yl81LTctMS0xLTI4MjM2_7c5d472f-cbfd-4316-9780-323ad22ad62a"
      unitRef="usd">46700000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i6b13a923b9374c73af7efb777d57e988_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwNDg5_3f1a48a4-535d-4f3e-8c07-74cb07d560c5"
      unitRef="usd">46800000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="if1b976d15984464983cb662d275d9ce0_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwNTA5_a8229a08-cd60-4308-8de3-c6d405fcfebf"
      unitRef="usd">61500000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i6b13a923b9374c73af7efb777d57e988_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwNTE4_6b0edcde-890a-4e68-87a8-3bb853698742">P1Y3M18D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="ibe64ea76892b4ef59254352e911351e1_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6MjFiYjBlMTNlM2Y2NGYwYjllNzY0NDU1ZmYyZDQzMzkvdGFibGVyYW5nZToyMWJiMGUxM2UzZjY0ZjBiOWU3NjQ0NTVmZjJkNDMzOV8xLTEtMS0xLTI4MjM2_e77d9e4b-aed5-4579-a183-fbcf060c77ca"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="ibe64ea76892b4ef59254352e911351e1_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6MjFiYjBlMTNlM2Y2NGYwYjllNzY0NDU1ZmYyZDQzMzkvdGFibGVyYW5nZToyMWJiMGUxM2UzZjY0ZjBiOWU3NjQ0NTVmZjJkNDMzOV8xLTMtMS0xLTI4MjM2_5d0cce0b-a632-41ac-a273-4729fd453502"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i78fdd607a975486495c6293c27a4beaa_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6MjFiYjBlMTNlM2Y2NGYwYjllNzY0NDU1ZmYyZDQzMzkvdGFibGVyYW5nZToyMWJiMGUxM2UzZjY0ZjBiOWU3NjQ0NTVmZjJkNDMzOV8yLTEtMS0xLTI4MjM2_130903e2-5b25-481b-9616-351fcfcc45dc"
      unitRef="shares">508903</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i78fdd607a975486495c6293c27a4beaa_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6MjFiYjBlMTNlM2Y2NGYwYjllNzY0NDU1ZmYyZDQzMzkvdGFibGVyYW5nZToyMWJiMGUxM2UzZjY0ZjBiOWU3NjQ0NTVmZjJkNDMzOV8yLTMtMS0xLTI4MjM2_a788617c-5c86-4323-91e2-729b60336a1e"
      unitRef="usdPerShare">30.09</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i78fdd607a975486495c6293c27a4beaa_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6MjFiYjBlMTNlM2Y2NGYwYjllNzY0NDU1ZmYyZDQzMzkvdGFibGVyYW5nZToyMWJiMGUxM2UzZjY0ZjBiOWU3NjQ0NTVmZjJkNDMzOV8zLTEtMS0xLTI4MjM2_e0e7ad5d-5998-40d2-a548-037a58ed7b5c"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i78fdd607a975486495c6293c27a4beaa_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6MjFiYjBlMTNlM2Y2NGYwYjllNzY0NDU1ZmYyZDQzMzkvdGFibGVyYW5nZToyMWJiMGUxM2UzZjY0ZjBiOWU3NjQ0NTVmZjJkNDMzOV8zLTMtMS0xLTI4MjM2_38bed0b3-b549-4333-a9f8-aef16c618581"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i78fdd607a975486495c6293c27a4beaa_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6MjFiYjBlMTNlM2Y2NGYwYjllNzY0NDU1ZmYyZDQzMzkvdGFibGVyYW5nZToyMWJiMGUxM2UzZjY0ZjBiOWU3NjQ0NTVmZjJkNDMzOV80LTEtMS0xLTI4MjM2_f8e4019d-e4b5-428a-ae94-71f104452aab"
      unitRef="shares">16176</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i78fdd607a975486495c6293c27a4beaa_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6MjFiYjBlMTNlM2Y2NGYwYjllNzY0NDU1ZmYyZDQzMzkvdGFibGVyYW5nZToyMWJiMGUxM2UzZjY0ZjBiOWU3NjQ0NTVmZjJkNDMzOV80LTMtMS0xLTI4MjM2_5654508b-2bde-44a2-9cd5-d632e0ed76ac"
      unitRef="usdPerShare">30.84</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="ice9e4137b4294e71a7ff3eada8dbe896_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6MjFiYjBlMTNlM2Y2NGYwYjllNzY0NDU1ZmYyZDQzMzkvdGFibGVyYW5nZToyMWJiMGUxM2UzZjY0ZjBiOWU3NjQ0NTVmZjJkNDMzOV81LTEtMS0xLTI4MjM2_5ba11e7d-1cfd-4616-8510-ec52355c4d29"
      unitRef="shares">492727</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="ice9e4137b4294e71a7ff3eada8dbe896_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6MjFiYjBlMTNlM2Y2NGYwYjllNzY0NDU1ZmYyZDQzMzkvdGFibGVyYW5nZToyMWJiMGUxM2UzZjY0ZjBiOWU3NjQ0NTVmZjJkNDMzOV81LTMtMS0xLTI4MjM2_24d89775-3642-4d6f-9fc6-590648ac0a0b"
      unitRef="usdPerShare">30.07</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms
      contextRef="i78fdd607a975486495c6293c27a4beaa_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6MjFiYjBlMTNlM2Y2NGYwYjllNzY0NDU1ZmYyZDQzMzkvdGFibGVyYW5nZToyMWJiMGUxM2UzZjY0ZjBiOWU3NjQ0NTVmZjJkNDMzOV81LTUtMS0xLTI4MjM2_f3c7e0ed-b023-4229-9868-5e5ce383e40f">P2Y2M12D</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding
      contextRef="ice9e4137b4294e71a7ff3eada8dbe896_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGFibGU6MjFiYjBlMTNlM2Y2NGYwYjllNzY0NDU1ZmYyZDQzMzkvdGFibGVyYW5nZToyMWJiMGUxM2UzZjY0ZjBiOWU3NjQ0NTVmZjJkNDMzOV81LTctMS0xLTI4MjM2_c6650a70-063a-4876-8f80-754506fb1920"
      unitRef="usd">7600000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ic32a8b44539544798bcb182377a0c135_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwNTMz_486c77a4-346f-4196-b6ce-269d174e1a3a"
      unitRef="shares">458903</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ic32a8b44539544798bcb182377a0c135_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8zMjk4NTM0ODk0NjUz_e7f1d8b2-7af9-4d70-af23-9feef26e2c02">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <tls:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingThresholdStockPriceTrigger
      contextRef="i5a3733eaf944454cadca09596a5de1c5_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwNTQy_6d2b4d80-4264-4885-803d-47b5d1de4708"
      unitRef="usdPerShare">42.50</tls:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingThresholdStockPriceTrigger>
    <tls:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingThresholdTradingDays
      contextRef="ic32a8b44539544798bcb182377a0c135_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwNTQ3_0c9746c6-454d-49a0-bdd5-46292b97c908"
      unitRef="day">20</tls:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingThresholdTradingDays>
    <tls:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingThresholdConsecutiveTradingDays
      contextRef="ic32a8b44539544798bcb182377a0c135_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwNTUy_b73693a8-3636-4d65-a0e6-b5f0283adb59"
      unitRef="day">30</tls:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingThresholdConsecutiveTradingDays>
    <tls:WeightedAverageOfConsecutiveTradingDaysRequiredForSharesEqualToTargetPrice
      contextRef="ic32a8b44539544798bcb182377a0c135_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwNTY2_ca1bbb4e-5609-4d74-8b69-a2c02380d180">P30D</tls:WeightedAverageOfConsecutiveTradingDaysRequiredForSharesEqualToTargetPrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ib7812a42904240d39ed9f1f7c846d68c_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwNTYx_4dad8282-be9d-405d-933b-23a1433fdeed"
      unitRef="shares">50000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ib7812a42904240d39ed9f1f7c846d68c_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8zMjk4NTM0ODk0NjU0_b8711a91-2ea4-4910-bffa-5568f274d70c">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i68ac021258cf42a09dc14e4e58c744c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwNjI0_21b8fac4-afe9-4196-b9f9-d278cf221f5a">P2Y5M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i51a6efefc25b4ad8a5c252972e5c5fe1_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwNjMy_cbf3066f-4454-4d03-b6d2-1370efe8c078">P2Y11M1D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i68ac021258cf42a09dc14e4e58c744c8_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwNjQw_954d7d32-97ee-4869-a852-0238c80328d6"
      unitRef="number">0.574</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i51a6efefc25b4ad8a5c252972e5c5fe1_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwNjQ5_09135307-1f30-4db7-be6c-8b7864e55f09"
      unitRef="number">0.588</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="i78fdd607a975486495c6293c27a4beaa_D20210101-20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwNjU3_27e736ff-3ef3-436f-a283-b3660cfd395d"
      unitRef="number">0.0018</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="i78fdd607a975486495c6293c27a4beaa_D20210101-20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwNjY1_9f3bed72-d259-4727-a3d4-f9506e204631"
      unitRef="number">0.0029</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i7ac24a68f7a64ad5a2566b4f2bafb9e0_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwNjc0_6a5d3482-5d53-4d00-91d9-8cc8d5e97ed6"
      unitRef="usdPerShare">19.12</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i156de7cec5fb43f7a7a53dd0de3739e6_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwNjgz_d9d28543-3226-45b2-9dc1-e2be530fd4df"
      unitRef="usdPerShare">30.84</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1
      contextRef="i68ac021258cf42a09dc14e4e58c744c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwNjk0_acdbe939-d683-4896-9961-00fc21ff5361">P0Y4M17D</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1
      contextRef="i51a6efefc25b4ad8a5c252972e5c5fe1_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwNzAx_8bfffb09-f99d-401c-83cd-ef013a58acc7">P0Y9M3D</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i78fdd607a975486495c6293c27a4beaa_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwNTg0_8febb273-c3df-4028-a548-3a06dd0cc6b7"
      unitRef="usd">13500000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="ice9e4137b4294e71a7ff3eada8dbe896_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwNjAz_b13daed2-01a7-40ad-82c6-d75fd17f217a"
      unitRef="usd">1400000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i78fdd607a975486495c6293c27a4beaa_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xODMwL2ZyYWc6Mzc3OGYwZDc1OWUyNGJmNjkxNjcwNDhmY2ZhOWRmYjIvdGV4dHJlZ2lvbjozNzc4ZjBkNzU5ZTI0YmY2OTE2NzA0OGZjZmE5ZGZiMl8yNzQ4Nzc5MDgwNjA5_39ed82fe-253f-4406-9fad-4f62048fbdee">P0Y3M18D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90ZXh0cmVnaW9uOjVmYWQ5NDZiMzMzMTQ3N2I4NDc0ZTY5N2RiN2ZiYjY2XzQ2Mjk_668cf9d3-8bb4-4e85-9172-853e1a98d2cb">Income Taxes&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The benefit for income taxes attributable to income from operations includes the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.222%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.640%"/&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="15" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;For the 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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Current (benefit) provision&lt;/span&gt;&lt;/td&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="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Federal&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;25&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;State&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(98)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(77)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;68&#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 30.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total current&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(98)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(77)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;93&#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 style="height:14pt"&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;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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred provision (benefit)&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: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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Federal&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;19&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;88&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;State&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;51&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(285)&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 30.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total deferred&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;70&#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="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;31&#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="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(197)&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 30.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total benefit&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 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(28)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(46)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(104)&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;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The provision for income taxes related to operations varies from the amount determined by applying the federal income tax statutory rate to the income or loss before income taxes. The reconciliation of these differences is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.222%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.640%"/&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="15" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;For the 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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Computed expected income tax provision&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;21.0&#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:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;21.0&#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:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;21.0&#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:left;vertical-align:bottom"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;State income taxes, net of federal income tax benefit&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.5&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.0&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(0.7)&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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Change in valuation allowance for deferred tax assets&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(7.9)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;17.0&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(24.7)&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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cumulative deferred adjustments&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.7&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1.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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Provision to return adjustments&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(0.4)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.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;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.3&#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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other permanent differences&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(0.2)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.0&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(3.8)&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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Dividend and accretion on preferred stock &lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;10.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;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(35.8)&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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Gain on redemption of preferred stock &lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(43.3)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Section 162(m) limitation - covered employees &lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(16.0)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14.6&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(6.9)&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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Capitalization of IPO transaction costs&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4.4&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;FIN 48 liability&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(0.6)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.2&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(3.7)&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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;R&amp;amp;D credit &lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2.7&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(12.4)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;19.0&#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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Non-controlling interest &lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(15.9)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;40.0&#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="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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.1&#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:left;vertical-align:bottom"&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;/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 #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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(0.7&#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:left;vertical-align:bottom"&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;/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 #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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4.6&#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:left;vertical-align:bottom"&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;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The tax effects of temporary differences that give rise to significant portions of the deferred tax assets and deferred tax liabilities on December&#160;31, 2021 and 2020 are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&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="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax assets:&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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable, principally due to allowance for doubtful accounts&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78&#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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Allowance for inventory obsolescence and amortization&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;315&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;398&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued liabilities not currently deductible&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,713&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,204&#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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock-based compensation&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,993&#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:'Times New Roman',sans-serif;font-size:10pt;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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued compensation&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;648&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,161&#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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred rent&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,813&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,387&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Section 163(j) interest limitation&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,394&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,534&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net operating loss carryforwards - federal&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,681&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,814&#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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net operating loss carryforwards - state&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,014&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,002&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;R&amp;amp;D credit&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,645&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,986&#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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total gross deferred tax assets&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,299&#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 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,870&#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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less valuation allowance&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(55,588)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(52,198)&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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred tax assets, net of valuation allowance&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,711&#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 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,672&#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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax liabilities:&lt;/span&gt;&lt;/td&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="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization and depreciation&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,434)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,471)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unbilled accounts receivable, deferred for tax purposes&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(853)&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="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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred tax liabilities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,434)&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 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,324)&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net deferred tax liabilities&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(723)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(652)&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;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of the valuation allowance are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.076%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:44.231%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.002%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.553%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.002%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.553%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.002%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.553%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.004%"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Balance Beginning of&lt;br/&gt;Period&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Additions&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Recoveries&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Balance &lt;br/&gt;End of &lt;br/&gt;Period&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;52,198&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3,390&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;55,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 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;7,206&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;44,992&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;52,198&#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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December 31, 2019&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;6,652&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;554&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;7,206&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We establish a valuation allowance for deferred tax assets if, based on the weight of available evidence, it is more likely than not that some portion or all of the deferred tax assets will not be realized. The realization of deferred tax assets is dependent upon the generation of future taxable income.&#160; We considered projected future taxable income, tax planning strategies, and reversal of taxable temporary differences in making this assessment. Based on available evidence, we have determined that a full valuation allowance is required as of December&#160;31, 2021 and 2020. As a result of a full valuation allowance against our deferred tax assets and liabilities, a deferred tax liability related to indefinite-lived goodwill remains on our consolidated balance sheets on December&#160;31, 2021 and 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In 2020, we recorded deferred tax assets and liabilities related to the purchase of an additional 50% interest in Telos ID, including a deferred tax asset of $43.8 million for tax-deductible goodwill generated in the transaction. We also recorded a corresponding valuation allowance against the additional deferred taxes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On December&#160;31, 2021, for federal income tax purposes there was approximately a $27.1 million net operating loss available to be carried forward to offset future taxable income. Approximately $10.6 million of these net operating loss carryforwards expire between 2035 and 2037, the remaining will be carried forward indefinitely. As of December&#160;31, 2021, there was approximately $3.5 million of R&amp;amp;D credit carryover which begins to expire in 2033. Certain tax attributes of the Company, including net operating losses and credits, would be subject to a limitation should an ownership change as defined under Section 382 of the Internal Revenue Code of 1986, as amended, occur. The limitations resulting from a change in ownership could affect the Company&#x2019;s ability to utilize its tax attributes. A study was completed in 2020 which confirmed that no limitation applies to the Company's tax attributes as of December&#160;31, 2020. We believe that ownership activity since December 31, 2020 would not result in limitation sufficient to result in the expiration of unused attributes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under the provisions of ASC 740, we determined that there were approximately $1,056,000, $763,000, and $714,000 of unrecognized tax benefits as of December&#160;31, 2021, 2020, and 2019, respectively. Included in the balance of unrecognized tax benefits as of December&#160;31, 2021, 2020, and 2019 were $174,000, $278,000, and $369,000, respectively, of tax benefits that, if recognized, would impact the effective tax rate. Also included in the balance of unrecognized tax benefits as of December&#160;31, 2021, 2020, and 2019 were $882,000, $485,000, and $345,000, respectively, of tax benefits that, if recognized, would not impact the effective tax rate due to the Company&#x2019;s valuation allowance. The Company had accrued interest and penalties related to the unrecognized tax benefits of $170,000 and $241,000, which were recorded in other liabilities as of December&#160;31, 2021 and 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We believe that the total amounts of unrecognized tax benefits will not significantly increase or decrease within the next 12 months. The period for which tax years are open, 2013 to 2021, has not been extended beyond the applicable statute of limitations. As of December&#160;31, 2021, the Company is not under examination by any federal or state tax jurisdiction.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A reconciliation of the beginning and ending amount of gross unrecognized tax benefits is as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.222%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.640%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2020&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Unrecognized tax benefits, beginning of period&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;763&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;714&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;649&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Increase (decrease) in prior year tax positions&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;90&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(104)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Increase related to current year tax positions&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;273&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;213&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;101&#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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Decrease related to lapse of statutes&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(70)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(60)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(37)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Unrecognized tax benefits, end of period&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 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,056&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;763&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;714&#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:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90ZXh0cmVnaW9uOjVmYWQ5NDZiMzMzMTQ3N2I4NDc0ZTY5N2RiN2ZiYjY2XzQ2MzA_6fdb4598-5ba4-448b-ac4f-08c8be9df64f">&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The benefit for income taxes attributable to income from operations includes the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.222%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.640%"/&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="15" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;For the 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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Current (benefit) provision&lt;/span&gt;&lt;/td&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="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Federal&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;25&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;State&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(98)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(77)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;68&#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 30.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total current&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(98)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(77)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;93&#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 style="height:14pt"&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;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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred provision (benefit)&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: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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Federal&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;19&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;88&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;State&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;51&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(285)&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 30.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total deferred&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;70&#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="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;31&#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="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(197)&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 30.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total benefit&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 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(28)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(46)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(104)&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:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTphMDhhYjU2M2EyYWY0NGVkOWYwOGFiOWY2ZTU4NjVlMS90YWJsZXJhbmdlOmEwOGFiNTYzYTJhZjQ0ZWQ5ZjA4YWI5ZjZlNTg2NWUxXzMtMS0xLTEtMQ_e39c8415-a6f8-412e-ab29-2fac45619522"
      unitRef="usd">0</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTphMDhhYjU2M2EyYWY0NGVkOWYwOGFiOWY2ZTU4NjVlMS90YWJsZXJhbmdlOmEwOGFiNTYzYTJhZjQ0ZWQ5ZjA4YWI5ZjZlNTg2NWUxXzMtMy0xLTEtMQ_7eb88f2f-98f9-4422-b5d8-467dd8bd15c1"
      unitRef="usd">0</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTphMDhhYjU2M2EyYWY0NGVkOWYwOGFiOWY2ZTU4NjVlMS90YWJsZXJhbmdlOmEwOGFiNTYzYTJhZjQ0ZWQ5ZjA4YWI5ZjZlNTg2NWUxXzMtNS0xLTEtMQ_5df29cab-117c-4560-b734-f9c29513c8c6"
      unitRef="usd">25000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTphMDhhYjU2M2EyYWY0NGVkOWYwOGFiOWY2ZTU4NjVlMS90YWJsZXJhbmdlOmEwOGFiNTYzYTJhZjQ0ZWQ5ZjA4YWI5ZjZlNTg2NWUxXzQtMS0xLTEtMQ_1a7d5bfa-a561-40e8-80e1-888b4b124ac7"
      unitRef="usd">-98000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTphMDhhYjU2M2EyYWY0NGVkOWYwOGFiOWY2ZTU4NjVlMS90YWJsZXJhbmdlOmEwOGFiNTYzYTJhZjQ0ZWQ5ZjA4YWI5ZjZlNTg2NWUxXzQtMy0xLTEtMQ_d27183f4-c020-4731-93d4-6e851913e6e8"
      unitRef="usd">-77000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTphMDhhYjU2M2EyYWY0NGVkOWYwOGFiOWY2ZTU4NjVlMS90YWJsZXJhbmdlOmEwOGFiNTYzYTJhZjQ0ZWQ5ZjA4YWI5ZjZlNTg2NWUxXzQtNS0xLTEtMQ_ddf392de-a27e-4f72-b4ae-b80a19bb8ca9"
      unitRef="usd">68000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTphMDhhYjU2M2EyYWY0NGVkOWYwOGFiOWY2ZTU4NjVlMS90YWJsZXJhbmdlOmEwOGFiNTYzYTJhZjQ0ZWQ5ZjA4YWI5ZjZlNTg2NWUxXzUtMS0xLTEtMQ_a0c3a0b0-6561-4b42-817a-af1c22d61d8b"
      unitRef="usd">-98000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTphMDhhYjU2M2EyYWY0NGVkOWYwOGFiOWY2ZTU4NjVlMS90YWJsZXJhbmdlOmEwOGFiNTYzYTJhZjQ0ZWQ5ZjA4YWI5ZjZlNTg2NWUxXzUtMy0xLTEtMQ_dd2990bb-aded-4e1c-ac2b-83ceffb024e1"
      unitRef="usd">-77000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTphMDhhYjU2M2EyYWY0NGVkOWYwOGFiOWY2ZTU4NjVlMS90YWJsZXJhbmdlOmEwOGFiNTYzYTJhZjQ0ZWQ5ZjA4YWI5ZjZlNTg2NWUxXzUtNS0xLTEtMQ_485f2f82-1330-45bb-ae4f-c0d4a9ef2e54"
      unitRef="usd">93000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTphMDhhYjU2M2EyYWY0NGVkOWYwOGFiOWY2ZTU4NjVlMS90YWJsZXJhbmdlOmEwOGFiNTYzYTJhZjQ0ZWQ5ZjA4YWI5ZjZlNTg2NWUxXzgtMS0xLTEtMQ_9989b52e-7cc8-40c5-9410-2b49d29c6349"
      unitRef="usd">19000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTphMDhhYjU2M2EyYWY0NGVkOWYwOGFiOWY2ZTU4NjVlMS90YWJsZXJhbmdlOmEwOGFiNTYzYTJhZjQ0ZWQ5ZjA4YWI5ZjZlNTg2NWUxXzgtMy0xLTEtMQ_8c5a6238-5b57-4515-8f99-97bda693d11e"
      unitRef="usd">27000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTphMDhhYjU2M2EyYWY0NGVkOWYwOGFiOWY2ZTU4NjVlMS90YWJsZXJhbmdlOmEwOGFiNTYzYTJhZjQ0ZWQ5ZjA4YWI5ZjZlNTg2NWUxXzgtNS0xLTEtMQ_4c3563da-0db0-4bb3-9ce5-324c08507b4f"
      unitRef="usd">88000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTphMDhhYjU2M2EyYWY0NGVkOWYwOGFiOWY2ZTU4NjVlMS90YWJsZXJhbmdlOmEwOGFiNTYzYTJhZjQ0ZWQ5ZjA4YWI5ZjZlNTg2NWUxXzktMS0xLTEtMQ_fa3d36f5-4ac7-422e-98d4-9c4d882527f5"
      unitRef="usd">51000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTphMDhhYjU2M2EyYWY0NGVkOWYwOGFiOWY2ZTU4NjVlMS90YWJsZXJhbmdlOmEwOGFiNTYzYTJhZjQ0ZWQ5ZjA4YWI5ZjZlNTg2NWUxXzktMy0xLTEtMQ_6ab3553b-9b6d-4aa3-8f1d-12078ebffd64"
      unitRef="usd">4000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTphMDhhYjU2M2EyYWY0NGVkOWYwOGFiOWY2ZTU4NjVlMS90YWJsZXJhbmdlOmEwOGFiNTYzYTJhZjQ0ZWQ5ZjA4YWI5ZjZlNTg2NWUxXzktNS0xLTEtMQ_96d08b0a-4ed9-4a2d-9bc9-099e1f90584d"
      unitRef="usd">-285000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTphMDhhYjU2M2EyYWY0NGVkOWYwOGFiOWY2ZTU4NjVlMS90YWJsZXJhbmdlOmEwOGFiNTYzYTJhZjQ0ZWQ5ZjA4YWI5ZjZlNTg2NWUxXzEwLTEtMS0xLTE_d29ac9c3-0f99-4e6d-94cf-94d967c432d1"
      unitRef="usd">70000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTphMDhhYjU2M2EyYWY0NGVkOWYwOGFiOWY2ZTU4NjVlMS90YWJsZXJhbmdlOmEwOGFiNTYzYTJhZjQ0ZWQ5ZjA4YWI5ZjZlNTg2NWUxXzEwLTMtMS0xLTE_68381613-89ac-4eeb-851e-45193b51d786"
      unitRef="usd">31000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTphMDhhYjU2M2EyYWY0NGVkOWYwOGFiOWY2ZTU4NjVlMS90YWJsZXJhbmdlOmEwOGFiNTYzYTJhZjQ0ZWQ5ZjA4YWI5ZjZlNTg2NWUxXzEwLTUtMS0xLTE_80b8c501-5cb3-429e-8157-c123f34cd2ed"
      unitRef="usd">-197000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTphMDhhYjU2M2EyYWY0NGVkOWYwOGFiOWY2ZTU4NjVlMS90YWJsZXJhbmdlOmEwOGFiNTYzYTJhZjQ0ZWQ5ZjA4YWI5ZjZlNTg2NWUxXzExLTEtMS0xLTE_7d9a389d-8f4b-4ccc-85e8-29ffba2cb9bf"
      unitRef="usd">-28000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTphMDhhYjU2M2EyYWY0NGVkOWYwOGFiOWY2ZTU4NjVlMS90YWJsZXJhbmdlOmEwOGFiNTYzYTJhZjQ0ZWQ5ZjA4YWI5ZjZlNTg2NWUxXzExLTMtMS0xLTE_a090c3ed-ed7e-4af8-b052-a5ec4eb236f1"
      unitRef="usd">-46000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTphMDhhYjU2M2EyYWY0NGVkOWYwOGFiOWY2ZTU4NjVlMS90YWJsZXJhbmdlOmEwOGFiNTYzYTJhZjQ0ZWQ5ZjA4YWI5ZjZlNTg2NWUxXzExLTUtMS0xLTE_78907bc7-c12f-4432-9dc2-67b032067f0f"
      unitRef="usd">-104000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90ZXh0cmVnaW9uOjVmYWQ5NDZiMzMzMTQ3N2I4NDc0ZTY5N2RiN2ZiYjY2XzQ2MzE_b4597b0e-2fa4-4a6c-9fcb-1337616ff022">The reconciliation of these differences is as follows:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.222%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.640%"/&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="15" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;For the 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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Computed expected income tax provision&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;21.0&#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:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;21.0&#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:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;21.0&#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:left;vertical-align:bottom"&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;State income taxes, net of federal income tax benefit&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.5&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.0&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(0.7)&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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Change in valuation allowance for deferred tax assets&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(7.9)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;17.0&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(24.7)&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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cumulative deferred adjustments&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.7&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1.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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Provision to return adjustments&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(0.4)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.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;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.3&#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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other permanent differences&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(0.2)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.0&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(3.8)&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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Dividend and accretion on preferred stock &lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;10.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;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(35.8)&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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Gain on redemption of preferred stock &lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(43.3)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Section 162(m) limitation - covered employees &lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(16.0)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14.6&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(6.9)&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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Capitalization of IPO transaction costs&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4.4&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;FIN 48 liability&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(0.6)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.2&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(3.7)&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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;R&amp;amp;D credit &lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2.7&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(12.4)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;19.0&#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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Non-controlling interest &lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(15.9)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;40.0&#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="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:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;0.1&#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:left;vertical-align:bottom"&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;/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 #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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(0.7&#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:left;vertical-align:bottom"&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;/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 #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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4.6&#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:left;vertical-align:bottom"&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;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzItMS0xLTEtMQ_e41eaa83-4dd7-416d-9542-34f779700f91"
      unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzItMy0xLTEtMQ_a8c676f0-8056-4b93-bc5d-53cbce60a5c3"
      unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzItNS0xLTEtMQ_3686cc6c-75d5-4668-bd3b-2902c29c03d7"
      unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzMtMS0xLTEtMQ_dbc2dccc-e3c3-4e19-8cb1-42b730fe1932"
      unitRef="number">0.015</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzMtMy0xLTEtMQ_1f3c0ad5-5fbc-4319-b67c-5e581421ce8b"
      unitRef="number">0.010</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzMtNS0xLTEtMQ_e2b1d0cf-31e7-4e18-985a-2c1c66745a4c"
      unitRef="number">-0.007</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzQtMS0xLTEtMQ_54191485-1ec7-4029-81b7-d6c8451f9b65"
      unitRef="number">-0.079</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzQtMy0xLTEtMQ_352d5826-a6ec-43bf-88dc-37d3b82789bf"
      unitRef="number">0.170</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzQtNS0xLTEtMQ_56c34746-bead-426a-8237-fa46073161c3"
      unitRef="number">-0.247</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <tls:EffectiveIncomeTaxRateReconciliationCumulativeDeferredAdjustments
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzUtMS0xLTEtMQ_3c2c1aa3-0949-40c6-953f-e6920c2f21cd"
      unitRef="number">0</tls:EffectiveIncomeTaxRateReconciliationCumulativeDeferredAdjustments>
    <tls:EffectiveIncomeTaxRateReconciliationCumulativeDeferredAdjustments
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzUtMy0xLTEtMQ_729f5d59-dd25-4f72-a89e-d0e9df778822"
      unitRef="number">0.007</tls:EffectiveIncomeTaxRateReconciliationCumulativeDeferredAdjustments>
    <tls:EffectiveIncomeTaxRateReconciliationCumulativeDeferredAdjustments
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzUtNS0xLTEtMQ_f10b752e-c487-40af-a935-02e1cfbaa25f"
      unitRef="number">-0.011</tls:EffectiveIncomeTaxRateReconciliationCumulativeDeferredAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzYtMS0xLTEtMQ_ca02d1a6-11fc-44e5-ac93-3877e977eb33"
      unitRef="number">-0.004</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzYtMy0xLTEtMQ_ac97bb60-2451-4c61-be49-195f6b17523d"
      unitRef="number">0.005</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzYtNS0xLTEtMQ_0be8b09b-74ff-41f3-9130-f54c68c8803c"
      unitRef="number">0.013</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzctMS0xLTEtMQ_6e7269bc-ddb5-4ef6-bbf9-977d54ce1693"
      unitRef="number">-0.002</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzctMy0xLTEtMQ_a3709687-0579-408c-9469-28e070559df3"
      unitRef="number">0.010</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzctNS0xLTEtMQ_83ea1ccf-e1ef-423d-b9bd-0450fb87f157"
      unitRef="number">-0.038</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther>
    <us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsDividends
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzgtMS0xLTEtMQ_039431c9-54b0-4353-86bb-5e774dd38772"
      unitRef="number">0</us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsDividends>
    <us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsDividends
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzgtMy0xLTEtMQ_a16687ee-4d7c-4672-a526-629b8ae9ee29"
      unitRef="number">0.105</us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsDividends>
    <us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsDividends
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzgtNS0xLTEtMQ_373bfa0c-60a1-4af4-9896-fde28ed5d3c0"
      unitRef="number">-0.358</us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsDividends>
    <tls:EffectiveIncomeTaxRateReconciliationDeductionsGainOnRedemptionOfPreferredStock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzktMS0xLTEtMQ_f51d052b-2005-4b19-a35d-c9172ceb8c75"
      unitRef="number">0</tls:EffectiveIncomeTaxRateReconciliationDeductionsGainOnRedemptionOfPreferredStock>
    <tls:EffectiveIncomeTaxRateReconciliationDeductionsGainOnRedemptionOfPreferredStock
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzktMy0xLTEtMQ_ba959179-5db5-4d83-b7be-b117939d261f"
      unitRef="number">0.433</tls:EffectiveIncomeTaxRateReconciliationDeductionsGainOnRedemptionOfPreferredStock>
    <tls:EffectiveIncomeTaxRateReconciliationDeductionsGainOnRedemptionOfPreferredStock
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzktNS0xLTEtMQ_8002f3d0-e9c0-4326-9a12-345261b142e7"
      unitRef="number">0</tls:EffectiveIncomeTaxRateReconciliationDeductionsGainOnRedemptionOfPreferredStock>
    <tls:EffectiveIncomeTaxRateReconciliationSection162MLimitation
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzEwLTEtMS0xLTE_2d1cac3d-9c8b-44d7-9fc8-43f9436ab70e"
      unitRef="number">-0.160</tls:EffectiveIncomeTaxRateReconciliationSection162MLimitation>
    <tls:EffectiveIncomeTaxRateReconciliationSection162MLimitation
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzEwLTMtMS0xLTE_e80ee52a-aaf0-453d-bab5-e7246fd746c6"
      unitRef="number">0.146</tls:EffectiveIncomeTaxRateReconciliationSection162MLimitation>
    <tls:EffectiveIncomeTaxRateReconciliationSection162MLimitation
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzEwLTUtMS0xLTE_959a9d58-25ef-4809-992c-9738eb245250"
      unitRef="number">-0.069</tls:EffectiveIncomeTaxRateReconciliationSection162MLimitation>
    <tls:EffectiveIncomeTaxRateReconciliationCapitalizationOfIPOTransactionCosts
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzExLTEtMS0xLTE_12cd3008-1ab4-448b-bc6b-9ae59713caf4"
      unitRef="number">0</tls:EffectiveIncomeTaxRateReconciliationCapitalizationOfIPOTransactionCosts>
    <tls:EffectiveIncomeTaxRateReconciliationCapitalizationOfIPOTransactionCosts
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzExLTMtMS0xLTE_6171de5e-5c37-403c-b92c-c813b926bd83"
      unitRef="number">0.044</tls:EffectiveIncomeTaxRateReconciliationCapitalizationOfIPOTransactionCosts>
    <tls:EffectiveIncomeTaxRateReconciliationCapitalizationOfIPOTransactionCosts
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzExLTUtMS0xLTE_9fc16664-af1e-4e54-8c94-94f19209ee09"
      unitRef="number">0</tls:EffectiveIncomeTaxRateReconciliationCapitalizationOfIPOTransactionCosts>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzEyLTEtMS0xLTE_83628e21-8a35-4ebe-a94f-149668a931e5"
      unitRef="number">-0.006</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzEyLTMtMS0xLTE_d74a7fa5-ccda-4d58-bd41-0c08fdc19bf7"
      unitRef="number">0.002</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzEyLTUtMS0xLTE_37de75d4-146a-4ae9-8af2-46e399e793e2"
      unitRef="number">-0.037</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzEzLTEtMS0xLTE_7b152cca-98f3-43ff-bbd2-1a5ff29562c1"
      unitRef="number">-0.027</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzEzLTMtMS0xLTE_9d2dbe5f-6838-455e-96fb-f341c3c4b806"
      unitRef="number">0.124</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzEzLTUtMS0xLTE_e8f1e182-1ffc-4579-a03c-2d07e17e084a"
      unitRef="number">-0.190</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationMinorityInterestIncomeExpense
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzE0LTEtMS0xLTE_6993ef61-c2c7-4438-bc34-daa41d295359"
      unitRef="number">0</us-gaap:EffectiveIncomeTaxRateReconciliationMinorityInterestIncomeExpense>
    <us-gaap:EffectiveIncomeTaxRateReconciliationMinorityInterestIncomeExpense
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzE0LTMtMS0xLTE_548adc33-6457-4f03-b57a-52b703731d36"
      unitRef="number">-0.159</us-gaap:EffectiveIncomeTaxRateReconciliationMinorityInterestIncomeExpense>
    <us-gaap:EffectiveIncomeTaxRateReconciliationMinorityInterestIncomeExpense
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzE0LTUtMS0xLTE_3111ad4f-75f5-43b8-bf74-0d027f6f3da4"
      unitRef="number">0.400</us-gaap:EffectiveIncomeTaxRateReconciliationMinorityInterestIncomeExpense>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzE2LTEtMS0xLTE_3059af37-6c1f-40f0-ac69-354c332bd004"
      unitRef="number">0.001</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzE2LTMtMS0xLTE_a9de14a9-f2f4-427c-88a9-93f8837fc986"
      unitRef="number">-0.007</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTo5Y2MzMWVmOTNhZGM0NzdmOTcxMzdhMDVjZDk4NDg0OS90YWJsZXJhbmdlOjljYzMxZWY5M2FkYzQ3N2Y5NzEzN2EwNWNkOTg0ODQ5XzE2LTUtMS0xLTE_5e113afa-97c0-43d6-9bb0-fb2531d69330"
      unitRef="number">0.046</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90ZXh0cmVnaW9uOjVmYWQ5NDZiMzMzMTQ3N2I4NDc0ZTY5N2RiN2ZiYjY2XzQ2MzI_847e8c30-1cef-4bb9-a44b-a10ac455229e">&lt;div style="margin-top:12pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The tax effects of temporary differences that give rise to significant portions of the deferred tax assets and deferred tax liabilities on December&#160;31, 2021 and 2020 are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&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="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax assets:&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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable, principally due to allowance for doubtful accounts&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78&#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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Allowance for inventory obsolescence and amortization&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;315&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;398&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued liabilities not currently deductible&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,713&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,204&#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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock-based compensation&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,993&#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:'Times New Roman',sans-serif;font-size:10pt;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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued compensation&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;648&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,161&#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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred rent&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,813&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,387&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Section 163(j) interest limitation&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,394&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,534&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net operating loss carryforwards - federal&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,681&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,814&#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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net operating loss carryforwards - state&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,014&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,002&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;R&amp;amp;D credit&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,645&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,986&#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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total gross deferred tax assets&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,299&#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 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,870&#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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less valuation allowance&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(55,588)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(52,198)&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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred tax assets, net of valuation allowance&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,711&#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 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,672&#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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax liabilities:&lt;/span&gt;&lt;/td&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="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization and depreciation&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,434)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,471)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unbilled accounts receivable, deferred for tax purposes&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(853)&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="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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred tax liabilities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,434)&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 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,324)&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net deferred tax liabilities&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 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(723)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(652)&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:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzMtMS0xLTEtMQ_18f1021f-feba-4ed8-b5c1-da7d136dbf28"
      unitRef="usd">29000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzMtMy0xLTEtMQ_7f999598-4bfc-4edd-9bc4-dd995c2709a5"
      unitRef="usd">78000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzQtMS0xLTEtMQ_668eae23-41a1-493b-a984-9a88da8fb240"
      unitRef="usd">315000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzQtMy0xLTEtMQ_3cb434be-13fe-47d8-8d87-bb5fe13170c7"
      unitRef="usd">398000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzUtMS0xLTEtMQ_ce6803dc-b85b-4ba0-b305-d21b3620827c"
      unitRef="usd">1713000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzUtMy0xLTEtMQ_15584eb2-12d3-4087-9638-76237e86ad2f"
      unitRef="usd">2204000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzYtMS0xLTEtNTE4MDM_6c394069-fb4f-4053-9182-768856477d5a"
      unitRef="usd">7993000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzYtMy0xLTEtNTE4MDM_6e4b132d-7447-4c93-a027-0d4c159dfd5f"
      unitRef="usd">0</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzYtMS0xLTEtMQ_b7a65982-f746-47dd-9084-75242c98542d"
      unitRef="usd">648000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzYtMy0xLTEtMQ_061cf422-a464-421b-90f1-2168797bc839"
      unitRef="usd">1161000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzctMS0xLTEtMQ_e5192ae6-03ee-4cde-967d-ee16cc2eede1"
      unitRef="usd">3813000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzctMy0xLTEtMQ_d97a5614-1157-4285-8fa6-80c0c9139720"
      unitRef="usd">4387000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent>
    <tls:DeferredTaxAssetsInterestLimiitation
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzgtMS0xLTEtMQ_c25d4b69-c34e-420a-9430-a4b0808f490f"
      unitRef="usd">54000</tls:DeferredTaxAssetsInterestLimiitation>
    <tls:DeferredTaxAssetsInterestLimiitation
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzgtMy0xLTEtMQ_bae3616a-103d-43f6-8df9-05f6fa246983"
      unitRef="usd">306000</tls:DeferredTaxAssetsInterestLimiitation>
    <us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzktMS0xLTEtMQ_ffb6ecd6-3a62-49ba-84da-068b9aca6408"
      unitRef="usd">37394000</us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets>
    <us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzktMy0xLTEtMQ_1e8ce795-5255-403c-a648-0e6f9b88cbcb"
      unitRef="usd">41534000</us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzEwLTEtMS0xLTE_a45b7657-e87e-44c1-9041-90812e5f1363"
      unitRef="usd">5681000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzEwLTMtMS0xLTE_43dd5104-69b7-427b-8cba-284b7a6f1ede"
      unitRef="usd">3814000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzExLTEtMS0xLTE_59b9d8b1-7a74-42be-a9a2-020292bc10f6"
      unitRef="usd">1014000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzExLTMtMS0xLTE_e52020f1-aa89-48d9-ad68-1f30a2c9da82"
      unitRef="usd">1002000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwards
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzEyLTEtMS0xLTE_13804275-1421-47ed-aefc-da5d1de8fb3e"
      unitRef="usd">2645000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwards
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzEyLTMtMS0xLTE_6e8d5ebc-11a2-4e79-a731-2a4c1eadc87c"
      unitRef="usd">1986000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwards>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzEzLTEtMS0xLTE_234fa2f2-8fd6-47c9-b4b1-474217091b2b"
      unitRef="usd">61299000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzEzLTMtMS0xLTE_26824db2-7236-4f5c-9f4f-f2463dc08113"
      unitRef="usd">56870000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzE0LTEtMS0xLTE_e2ec1c54-87ed-4a35-8c1c-780b4d503dfd"
      unitRef="usd">55588000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzE0LTMtMS0xLTE_5fa8f268-0323-46b4-b08f-3a7ae86f88ca"
      unitRef="usd">52198000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzE1LTEtMS0xLTE_28243d2e-8064-4c69-bfad-66deb80d19c4"
      unitRef="usd">5711000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzE1LTMtMS0xLTE_6a4984e2-7f6d-4d82-a9bf-617c5f2b9274"
      unitRef="usd">4672000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzE3LTEtMS0xLTE_9c34a1c8-a612-4a7f-b9b1-d3f4e46599cd"
      unitRef="usd">6434000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzE3LTMtMS0xLTE_9f4e9c1c-1b73-4242-9c93-e5baf99fd5a1"
      unitRef="usd">4471000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <tls:DeferredTaxLiabilitiesUnbilledAccountsReceivableDeferredForTaxPurposes
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzE4LTEtMS0xLTE_51a5f6fa-f8cd-4d63-9de2-3e9badad2e76"
      unitRef="usd">0</tls:DeferredTaxLiabilitiesUnbilledAccountsReceivableDeferredForTaxPurposes>
    <tls:DeferredTaxLiabilitiesUnbilledAccountsReceivableDeferredForTaxPurposes
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzE4LTMtMS0xLTE_9f39482c-0495-4582-910d-f41c3be6eb95"
      unitRef="usd">853000</tls:DeferredTaxLiabilitiesUnbilledAccountsReceivableDeferredForTaxPurposes>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzIxLTEtMS0xLTE_0b85ff82-8d96-4049-b68c-fc706c667612"
      unitRef="usd">6434000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzIxLTMtMS0xLTE_018bf79e-e0c5-4935-b8fa-7d7a88e66637"
      unitRef="usd">5324000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzIyLTEtMS0xLTE_10b4cb70-359f-4ee5-b49b-ab732e6a8a36"
      unitRef="usd">723000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZToxNDk2YzhlOGEzMzg0ZTAwYjg3NWY1OTExMTBjZDc4Yy90YWJsZXJhbmdlOjE0OTZjOGU4YTMzODRlMDBiODc1ZjU5MTExMGNkNzhjXzIyLTMtMS0xLTE_ef2f7c2c-fb6d-4017-90c3-32558d9c916c"
      unitRef="usd">652000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:SummaryOfValuationAllowanceTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90ZXh0cmVnaW9uOjVmYWQ5NDZiMzMzMTQ3N2I4NDc0ZTY5N2RiN2ZiYjY2XzQ2MzM_c9a6e99c-24db-4efe-9bf1-078211146ba2">&lt;div style="margin-top:12pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of the valuation allowance are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.076%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:44.231%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.002%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.553%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.002%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.553%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.002%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.553%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.004%"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Balance Beginning of&lt;br/&gt;Period&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Additions&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Recoveries&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Balance &lt;br/&gt;End of &lt;br/&gt;Period&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;52,198&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3,390&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;55,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 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;7,206&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;44,992&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;52,198&#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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;December 31, 2019&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;6,652&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;554&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;7,206&#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;/table&gt;&lt;/div&gt;</us-gaap:SummaryOfValuationAllowanceTextBlock>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpmN2MzYjk4NGE0Mzk0MmQzYTA4MWU2YWM2NjliZjA3YS90YWJsZXJhbmdlOmY3YzNiOTg0YTQzOTQyZDNhMDgxZTZhYzY2OWJmMDdhXzItMS0xLTEtMQ_7ac54fd7-3c7b-483e-8cea-431cf96dccdb"
      unitRef="usd">52198000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <tls:DeferredTaxAssetsValuationAllowanceAdditions
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpmN2MzYjk4NGE0Mzk0MmQzYTA4MWU2YWM2NjliZjA3YS90YWJsZXJhbmdlOmY3YzNiOTg0YTQzOTQyZDNhMDgxZTZhYzY2OWJmMDdhXzItMy0xLTEtMQ_363b6027-e594-458e-ac97-416b0967a327"
      unitRef="usd">3390000</tls:DeferredTaxAssetsValuationAllowanceAdditions>
    <tls:DeferredTaxAssetsValuationAllowanceRecoveries
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpmN2MzYjk4NGE0Mzk0MmQzYTA4MWU2YWM2NjliZjA3YS90YWJsZXJhbmdlOmY3YzNiOTg0YTQzOTQyZDNhMDgxZTZhYzY2OWJmMDdhXzItNS0xLTEtMQ_2c809b7f-01fa-4734-9790-6c00f2ed8e8d"
      unitRef="usd">0</tls:DeferredTaxAssetsValuationAllowanceRecoveries>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpmN2MzYjk4NGE0Mzk0MmQzYTA4MWU2YWM2NjliZjA3YS90YWJsZXJhbmdlOmY3YzNiOTg0YTQzOTQyZDNhMDgxZTZhYzY2OWJmMDdhXzItNy0xLTEtMQ_f7c0cc02-3b99-483a-a7da-4aae1c2a9b9e"
      unitRef="usd">55588000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="ibd17c1a727e14c3eb048e13fd9d1c173_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpmN2MzYjk4NGE0Mzk0MmQzYTA4MWU2YWM2NjliZjA3YS90YWJsZXJhbmdlOmY3YzNiOTg0YTQzOTQyZDNhMDgxZTZhYzY2OWJmMDdhXzMtMS0xLTEtMQ_a3aefd2b-c609-4afe-be36-189f4743cdfc"
      unitRef="usd">7206000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <tls:DeferredTaxAssetsValuationAllowanceAdditions
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpmN2MzYjk4NGE0Mzk0MmQzYTA4MWU2YWM2NjliZjA3YS90YWJsZXJhbmdlOmY3YzNiOTg0YTQzOTQyZDNhMDgxZTZhYzY2OWJmMDdhXzMtMy0xLTEtMQ_8e59c955-db58-4795-92af-37a92d848884"
      unitRef="usd">44992000</tls:DeferredTaxAssetsValuationAllowanceAdditions>
    <tls:DeferredTaxAssetsValuationAllowanceRecoveries
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpmN2MzYjk4NGE0Mzk0MmQzYTA4MWU2YWM2NjliZjA3YS90YWJsZXJhbmdlOmY3YzNiOTg0YTQzOTQyZDNhMDgxZTZhYzY2OWJmMDdhXzMtNS0xLTEtMQ_5781804c-85bb-4903-a6ef-bbabd11a2051"
      unitRef="usd">0</tls:DeferredTaxAssetsValuationAllowanceRecoveries>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpmN2MzYjk4NGE0Mzk0MmQzYTA4MWU2YWM2NjliZjA3YS90YWJsZXJhbmdlOmY3YzNiOTg0YTQzOTQyZDNhMDgxZTZhYzY2OWJmMDdhXzMtNy0xLTEtMQ_ac849126-1ba2-448a-8dac-00a1c98c6d97"
      unitRef="usd">52198000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="iadf4b09fd00b4cc28962e99c48301a62_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpmN2MzYjk4NGE0Mzk0MmQzYTA4MWU2YWM2NjliZjA3YS90YWJsZXJhbmdlOmY3YzNiOTg0YTQzOTQyZDNhMDgxZTZhYzY2OWJmMDdhXzQtMS0xLTEtMQ_4cee7cbf-77b0-497a-a149-239e946f8de1"
      unitRef="usd">6652000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <tls:DeferredTaxAssetsValuationAllowanceAdditions
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpmN2MzYjk4NGE0Mzk0MmQzYTA4MWU2YWM2NjliZjA3YS90YWJsZXJhbmdlOmY3YzNiOTg0YTQzOTQyZDNhMDgxZTZhYzY2OWJmMDdhXzQtMy0xLTEtMQ_ec0a65f9-191c-43e6-8b66-c2d1d7ac0065"
      unitRef="usd">554000</tls:DeferredTaxAssetsValuationAllowanceAdditions>
    <tls:DeferredTaxAssetsValuationAllowanceRecoveries
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpmN2MzYjk4NGE0Mzk0MmQzYTA4MWU2YWM2NjliZjA3YS90YWJsZXJhbmdlOmY3YzNiOTg0YTQzOTQyZDNhMDgxZTZhYzY2OWJmMDdhXzQtNS0xLTEtMQ_46c9628a-6a50-4d86-aec4-fc7bfa53228c"
      unitRef="usd">0</tls:DeferredTaxAssetsValuationAllowanceRecoveries>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="ibd17c1a727e14c3eb048e13fd9d1c173_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpmN2MzYjk4NGE0Mzk0MmQzYTA4MWU2YWM2NjliZjA3YS90YWJsZXJhbmdlOmY3YzNiOTg0YTQzOTQyZDNhMDgxZTZhYzY2OWJmMDdhXzQtNy0xLTEtMQ_8cee423b-a9b6-4eef-a49e-c25c34ffd417"
      unitRef="usd">7206000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <tls:AdditionalPercentageOfOwnershipAcquired
      contextRef="icf6959d494a841b9b1b40429a52cac89_D20201201-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90ZXh0cmVnaW9uOjVmYWQ5NDZiMzMzMTQ3N2I4NDc0ZTY5N2RiN2ZiYjY2XzEwOTk1MTE2NDE0Mjc_2888da21-049f-480c-a35c-ee9951827596"
      unitRef="number">0.50</tls:AdditionalPercentageOfOwnershipAcquired>
    <tls:DeferredTaxAssetsTaxDeductibleGoodwill
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90ZXh0cmVnaW9uOjVmYWQ5NDZiMzMzMTQ3N2I4NDc0ZTY5N2RiN2ZiYjY2XzEwOTk1MTE2NDE0MzE_9e5b60e2-cb5e-495f-bc5a-eee67ca53d46"
      unitRef="usd">43800000</tls:DeferredTaxAssetsTaxDeductibleGoodwill>
    <us-gaap:OperatingLossCarryforwards
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90ZXh0cmVnaW9uOjVmYWQ5NDZiMzMzMTQ3N2I4NDc0ZTY5N2RiN2ZiYjY2XzI2MjI_da791d53-3fc5-4879-84ce-81f5395673e1"
      unitRef="usd">27100000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90ZXh0cmVnaW9uOjVmYWQ5NDZiMzMzMTQ3N2I4NDc0ZTY5N2RiN2ZiYjY2XzI3MjM_b8a2bfea-6497-4875-bb9e-c341d2ba3dd1"
      unitRef="usd">10600000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90ZXh0cmVnaW9uOjVmYWQ5NDZiMzMzMTQ3N2I4NDc0ZTY5N2RiN2ZiYjY2XzI4ODQ_43eb7417-3dc1-42e5-a9da-779dae27eabb"
      unitRef="usd">3500000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90ZXh0cmVnaW9uOjVmYWQ5NDZiMzMzMTQ3N2I4NDc0ZTY5N2RiN2ZiYjY2XzM1MDM_d20723bf-38be-46b6-9efc-530dc9f6f892"
      unitRef="usd">1056000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90ZXh0cmVnaW9uOjVmYWQ5NDZiMzMzMTQ3N2I4NDc0ZTY5N2RiN2ZiYjY2XzM1MDc_86a7ae6a-c3af-4d07-9445-d1dfef7dfb3a"
      unitRef="usd">763000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="ibd17c1a727e14c3eb048e13fd9d1c173_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90ZXh0cmVnaW9uOjVmYWQ5NDZiMzMzMTQ3N2I4NDc0ZTY5N2RiN2ZiYjY2XzM1MTU_c23c0f07-2a3e-42b4-929a-e1018a5d02aa"
      unitRef="usd">714000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90ZXh0cmVnaW9uOjVmYWQ5NDZiMzMzMTQ3N2I4NDc0ZTY5N2RiN2ZiYjY2XzM2NjI_5c4cc0d4-7c40-436d-aba2-0b8237bed7f9"
      unitRef="usd">174000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90ZXh0cmVnaW9uOjVmYWQ5NDZiMzMzMTQ3N2I4NDc0ZTY5N2RiN2ZiYjY2XzM2NjY_62511200-6453-4296-baed-7a133a9a13e8"
      unitRef="usd">278000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
      contextRef="ibd17c1a727e14c3eb048e13fd9d1c173_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90ZXh0cmVnaW9uOjVmYWQ5NDZiMzMzMTQ3N2I4NDc0ZTY5N2RiN2ZiYjY2XzM2NzQ_1009b97e-3d77-4014-b723-1e7bd271779b"
      unitRef="usd">369000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <tls:UnrecognizedTaxBenefitsThatWouldNotImpactEffectiveTaxRate
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90ZXh0cmVnaW9uOjVmYWQ5NDZiMzMzMTQ3N2I4NDc0ZTY5N2RiN2ZiYjY2XzM4NTA_d13dc0fc-38a8-4368-afb9-31abe13ebb11"
      unitRef="usd">882000</tls:UnrecognizedTaxBenefitsThatWouldNotImpactEffectiveTaxRate>
    <tls:UnrecognizedTaxBenefitsThatWouldNotImpactEffectiveTaxRate
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90ZXh0cmVnaW9uOjVmYWQ5NDZiMzMzMTQ3N2I4NDc0ZTY5N2RiN2ZiYjY2XzM4NTQ_e92c36e9-f73e-44c9-8b65-acc2c99d1984"
      unitRef="usd">485000</tls:UnrecognizedTaxBenefitsThatWouldNotImpactEffectiveTaxRate>
    <tls:UnrecognizedTaxBenefitsThatWouldNotImpactEffectiveTaxRate
      contextRef="ibd17c1a727e14c3eb048e13fd9d1c173_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90ZXh0cmVnaW9uOjVmYWQ5NDZiMzMzMTQ3N2I4NDc0ZTY5N2RiN2ZiYjY2XzM4NjI_ea9bb0f7-0539-4a61-bebd-c831dea1c848"
      unitRef="usd">345000</tls:UnrecognizedTaxBenefitsThatWouldNotImpactEffectiveTaxRate>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90ZXh0cmVnaW9uOjVmYWQ5NDZiMzMzMTQ3N2I4NDc0ZTY5N2RiN2ZiYjY2XzQwOTI_d6a56fd6-f8c1-4e3d-802a-68f17c219c15"
      unitRef="usd">170000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90ZXh0cmVnaW9uOjVmYWQ5NDZiMzMzMTQ3N2I4NDc0ZTY5N2RiN2ZiYjY2XzQwOTk_e7fbdfa1-8299-40c4-8137-0e6366367e20"
      unitRef="usd">241000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90ZXh0cmVnaW9uOjVmYWQ5NDZiMzMzMTQ3N2I4NDc0ZTY5N2RiN2ZiYjY2XzQ2Mjg_447e29a7-f09d-4ef9-8570-3bc3a65a6146">&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A reconciliation of the beginning and ending amount of gross unrecognized tax benefits is as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.222%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.640%"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2020&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Unrecognized tax benefits, beginning of period&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;763&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;714&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;649&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Increase (decrease) in prior year tax positions&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;90&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(104)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Increase related to current year tax positions&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;273&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;213&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;101&#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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Decrease related to lapse of statutes&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(70)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(60)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(37)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Unrecognized tax benefits, end of period&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 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,056&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;763&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;714&#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:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpiNzljYjU3NTNiNjU0Yzk2ODJlODMxODNiM2E5NWZhMy90YWJsZXJhbmdlOmI3OWNiNTc1M2I2NTRjOTY4MmU4MzE4M2IzYTk1ZmEzXzEtMS0xLTEtMQ_7308de54-cd46-4294-8a36-461be1519be9"
      unitRef="usd">763000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="ibd17c1a727e14c3eb048e13fd9d1c173_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpiNzljYjU3NTNiNjU0Yzk2ODJlODMxODNiM2E5NWZhMy90YWJsZXJhbmdlOmI3OWNiNTc1M2I2NTRjOTY4MmU4MzE4M2IzYTk1ZmEzXzEtMy0xLTEtMQ_57bcce57-b9ea-4eec-9ef0-d9bab8e9a86b"
      unitRef="usd">714000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="iadf4b09fd00b4cc28962e99c48301a62_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpiNzljYjU3NTNiNjU0Yzk2ODJlODMxODNiM2E5NWZhMy90YWJsZXJhbmdlOmI3OWNiNTc1M2I2NTRjOTY4MmU4MzE4M2IzYTk1ZmEzXzEtNS0xLTEtMQ_182ce000-188e-45e0-900f-81ce89091827"
      unitRef="usd">649000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpiNzljYjU3NTNiNjU0Yzk2ODJlODMxODNiM2E5NWZhMy90YWJsZXJhbmdlOmI3OWNiNTc1M2I2NTRjOTY4MmU4MzE4M2IzYTk1ZmEzXzItMS0xLTEtMQ_074a1601-8d8b-4ca2-9a02-316c380e274a"
      unitRef="usd">90000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpiNzljYjU3NTNiNjU0Yzk2ODJlODMxODNiM2E5NWZhMy90YWJsZXJhbmdlOmI3OWNiNTc1M2I2NTRjOTY4MmU4MzE4M2IzYTk1ZmEzXzItMy0xLTEtMQ_46e30719-5c52-43cd-a8af-3e8646e5c764"
      unitRef="usd">104000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpiNzljYjU3NTNiNjU0Yzk2ODJlODMxODNiM2E5NWZhMy90YWJsZXJhbmdlOmI3OWNiNTc1M2I2NTRjOTY4MmU4MzE4M2IzYTk1ZmEzXzItNS0xLTEtMQ_18278fcf-33fe-4962-b6e3-c51848c43ed1"
      unitRef="usd">1000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpiNzljYjU3NTNiNjU0Yzk2ODJlODMxODNiM2E5NWZhMy90YWJsZXJhbmdlOmI3OWNiNTc1M2I2NTRjOTY4MmU4MzE4M2IzYTk1ZmEzXzMtMS0xLTEtMQ_2ceafbaa-c746-4b37-9946-e4ea03dd87e0"
      unitRef="usd">273000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpiNzljYjU3NTNiNjU0Yzk2ODJlODMxODNiM2E5NWZhMy90YWJsZXJhbmdlOmI3OWNiNTc1M2I2NTRjOTY4MmU4MzE4M2IzYTk1ZmEzXzMtMy0xLTEtMQ_b914be15-a66d-4dfe-971a-5defa6299c0d"
      unitRef="usd">213000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpiNzljYjU3NTNiNjU0Yzk2ODJlODMxODNiM2E5NWZhMy90YWJsZXJhbmdlOmI3OWNiNTc1M2I2NTRjOTY4MmU4MzE4M2IzYTk1ZmEzXzMtNS0xLTEtMQ_bee844d3-0e20-445f-9b0b-ec087184a390"
      unitRef="usd">101000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpiNzljYjU3NTNiNjU0Yzk2ODJlODMxODNiM2E5NWZhMy90YWJsZXJhbmdlOmI3OWNiNTc1M2I2NTRjOTY4MmU4MzE4M2IzYTk1ZmEzXzQtMS0xLTEtMQ_388d98fc-a822-4406-8942-cc6c9aa9f791"
      unitRef="usd">70000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpiNzljYjU3NTNiNjU0Yzk2ODJlODMxODNiM2E5NWZhMy90YWJsZXJhbmdlOmI3OWNiNTc1M2I2NTRjOTY4MmU4MzE4M2IzYTk1ZmEzXzQtMy0xLTEtMQ_62db33d2-63cf-4c28-aa9f-dbbe69ab38a0"
      unitRef="usd">60000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpiNzljYjU3NTNiNjU0Yzk2ODJlODMxODNiM2E5NWZhMy90YWJsZXJhbmdlOmI3OWNiNTc1M2I2NTRjOTY4MmU4MzE4M2IzYTk1ZmEzXzQtNS0xLTEtMQ_b2a6c4ab-0658-4cd0-a1ab-0db4467ce74b"
      unitRef="usd">37000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpiNzljYjU3NTNiNjU0Yzk2ODJlODMxODNiM2E5NWZhMy90YWJsZXJhbmdlOmI3OWNiNTc1M2I2NTRjOTY4MmU4MzE4M2IzYTk1ZmEzXzUtMS0xLTEtMQ_a7702ac9-7a2b-459f-995e-a3319c511f54"
      unitRef="usd">1056000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpiNzljYjU3NTNiNjU0Yzk2ODJlODMxODNiM2E5NWZhMy90YWJsZXJhbmdlOmI3OWNiNTc1M2I2NTRjOTY4MmU4MzE4M2IzYTk1ZmEzXzUtMy0xLTEtMQ_11204752-a866-449d-aad7-f55c3ea7a82a"
      unitRef="usd">763000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="ibd17c1a727e14c3eb048e13fd9d1c173_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTQvZnJhZzo1ZmFkOTQ2YjMzMzE0NzdiODQ3NGU2OTdkYjdmYmI2Ni90YWJsZTpiNzljYjU3NTNiNjU0Yzk2ODJlODMxODNiM2E5NWZhMy90YWJsZXJhbmdlOmI3OWNiNTc1M2I2NTRjOTY4MmU4MzE4M2IzYTk1ZmEzXzUtNS0xLTEtMQ_7f8f708f-ba13-4efa-b1ea-611c257f5f7f"
      unitRef="usd">714000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:LesseeFinanceLeasesTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90ZXh0cmVnaW9uOjlhNTkwZjlhNDY2NTQ2MzViNGQ4ODMyYTIxNzJiODRiXzU4MTI_65dc5493-0484-4e23-b5cf-babed0f81aac">Leases&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We lease office space and equipment under noncancelable operating and finance leases with various expiration dates, some of which contain renewal options.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Operating Leases&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We determine if an arrangement is a lease and we account for leases in accordance with ASC Topic 842, &#x201c;Leases,&#x201d; which requires lessees to recognize a right-of-use (&#x201c;ROU&#x201d;) asset and lease liability on the consolidated balance sheets and expands disclosures about leasing arrangements for both lessees and lessors, among other items, for most lease arrangements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In accordance with the adoption of ASC 842 on January 1, 2019, we recorded operating lease ROU assets, which represent our right to use an underlying asset for the lease term, and operating lease liabilities which represent our obligation to make lease payments. Generally, we enter into operating lease agreements for facilities. The amount of operating lease liabilities due within 12 months are recorded in other current liabilities, with the remaining operating lease liabilities recorded as non-current liabilities in our consolidated balance sheets based on their contractual due dates. The operating lease ROU assets and liabilities are recognized as of the lease commencement date at the present value of the lease payments over the lease term. Most of our leases do not provide an implicit rate that can readily be determined. Therefore, we use a discount rate based on our incremental borrowing rate, which was 5.75% for all operating leases. Our operating lease agreements may include options to extend the lease term or terminate it early. We have included options to extend in the operating lease ROU assets and liabilities when we are reasonably certain that we will exercise such options. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating lease expense is recognized as rent expense on a straight-line basis over the lease term. Some of our operating leases contain lease and non-lease components, which we account for as a single component. We evaluate ROU assets for impairment consistent with our property and equipment policy disclosure included in &lt;/span&gt;&lt;span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;&lt;a href="#i8e34b731fff54b69b9e274b8895e4a4f_109" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Note 1&lt;/a&gt;&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; &#x2013; Overview and Summary of Significant Accounting Policies.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Finance Leases&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March&#160;1, 1996, we entered into a 20-year capital lease for a building in Ashburn, Virginia that serves as our corporate headquarters. We had accounted for this transaction as a capital lease and had accordingly recorded assets and a corresponding liability of approximately $12.3 million. Effective November&#160;1, 2013, this lease was terminated and we entered into a 13-year lease (the &#x201c;2013 lease&#x201d;) that would have expired in October 31, 2026. The 2013 lease was treated as a modification in accordance with ASC 840, &#x201c;Leases&#x201d;. As a result of the 2013 lease, the corresponding capital asset and liability increased by $11.7 million, resulting in a net book value of the capital asset of $13.1 million, and capital obligation of $15.5 million. The 2013 lease included an option to purchase, assign to, or designate a purchaser on June 1, 2014, which required notice of intent to exercise the option by not later than March 31, 2014.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March&#160;28, 2014, we entered into a definitive agreement with an unrelated third party to assign the purchase option to that third party in return for cash consideration of $1.7 million, payable upon the closing of the purchase transaction, and certain obligations under the agreement, including entering into a new 15-year lease with the third party upon the third party&#x2019;s exercise of the purchase option and purchase of the building from the prior landlord. On March&#160;28, 2014, we provided the prior landlord notice of our assignment and exercise of the purchase option. On May 28, 2014, the third party completed the purchase transaction and the 2013 lease was terminated, with no ongoing obligations, by mutual agreement between the prior landlord and the Company. On the same day we entered into a new lease (the &#x201c;2014 lease&#x201d;) with the third party that expires on May 31, 2029. The 2014 lease was treated as a modification of the prior lease on the property in accordance with ASC 840, and determined to be a capital lease. As a result of the 2014 lease, the corresponding capital asset increased by $5.7 million, resulting in a net book value of the capital asset of $18.3 million and the liability increased by $6.7 million, resulting in a capital obligation of $22.0 million. In accordance with the 2014 Lease, the basic rent increases by a fixed 2.5% escalation annually. The adoption of ASC 842 on January 1, 2019 did not have a material impact on the existing finance leases.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted average remaining lease terms and discount rates were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;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 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.598%"/&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="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average remaining lease term (in years):&lt;/span&gt;&lt;/td&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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.3 years&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.3 years&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.7 years&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.5 years&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average discount rate:&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: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.04&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.04&#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:'Times New Roman',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 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.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;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.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;span style="color:#000000;font-family:'Times New Roman',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 style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease commitments at December&#160;31, 2021 were as follows (in&#160;thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Operating 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Finance Leases&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2022&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;602&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,149&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2023&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;373&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,202&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2024&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;28&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,258&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2025&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,314&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2026&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,372&#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 style="padding-left:11.25pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;After 2026&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5,972&#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 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total minimum lease payments&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,003&#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="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;17,267&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Less imputed interest&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(51)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,966)&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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net present value of minimum lease payments&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;952&#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="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14,301&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Less current portion&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(564)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,461)&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 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-term lease obligations at December 31, 2021&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 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;388&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;12,840&#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;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of lease expense were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" rowspan="2" 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating lease cost&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;713&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;724&#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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Short-term lease cost &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;13&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;93&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Finance lease cost&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortization of finance lease assets&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Interest on finance lease liabilities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;758&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;822&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total finance lease cost&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,979&#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 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,043&#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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total lease costs&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 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,705&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,860&#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:45pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.43pt"&gt;Leases that have terms of 12 months or less.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow information related to leases was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&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="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash paid for amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&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="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash flows from operating activities - operating leases&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;768&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;745&#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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash flows from operating activities - finance leases&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;758&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;820&#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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash flows from financing activities - finance leases&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,339&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Rent expense charged to operations totaled $0.8 million, $1.9 million, and $1.8 million for 2021, 2020, and 2019, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeFinanceLeasesTextBlock>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90ZXh0cmVnaW9uOjlhNTkwZjlhNDY2NTQ2MzViNGQ4ODMyYTIxNzJiODRiXzU4MTI_85d21ced-8e9a-4088-9f64-7764fc855fed">Leases&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We lease office space and equipment under noncancelable operating and finance leases with various expiration dates, some of which contain renewal options.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Operating Leases&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We determine if an arrangement is a lease and we account for leases in accordance with ASC Topic 842, &#x201c;Leases,&#x201d; which requires lessees to recognize a right-of-use (&#x201c;ROU&#x201d;) asset and lease liability on the consolidated balance sheets and expands disclosures about leasing arrangements for both lessees and lessors, among other items, for most lease arrangements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In accordance with the adoption of ASC 842 on January 1, 2019, we recorded operating lease ROU assets, which represent our right to use an underlying asset for the lease term, and operating lease liabilities which represent our obligation to make lease payments. Generally, we enter into operating lease agreements for facilities. The amount of operating lease liabilities due within 12 months are recorded in other current liabilities, with the remaining operating lease liabilities recorded as non-current liabilities in our consolidated balance sheets based on their contractual due dates. The operating lease ROU assets and liabilities are recognized as of the lease commencement date at the present value of the lease payments over the lease term. Most of our leases do not provide an implicit rate that can readily be determined. Therefore, we use a discount rate based on our incremental borrowing rate, which was 5.75% for all operating leases. Our operating lease agreements may include options to extend the lease term or terminate it early. We have included options to extend in the operating lease ROU assets and liabilities when we are reasonably certain that we will exercise such options. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating lease expense is recognized as rent expense on a straight-line basis over the lease term. Some of our operating leases contain lease and non-lease components, which we account for as a single component. We evaluate ROU assets for impairment consistent with our property and equipment policy disclosure included in &lt;/span&gt;&lt;span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;&lt;a href="#i8e34b731fff54b69b9e274b8895e4a4f_109" style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Note 1&lt;/a&gt;&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; &#x2013; Overview and Summary of Significant Accounting Policies.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Finance Leases&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March&#160;1, 1996, we entered into a 20-year capital lease for a building in Ashburn, Virginia that serves as our corporate headquarters. We had accounted for this transaction as a capital lease and had accordingly recorded assets and a corresponding liability of approximately $12.3 million. Effective November&#160;1, 2013, this lease was terminated and we entered into a 13-year lease (the &#x201c;2013 lease&#x201d;) that would have expired in October 31, 2026. The 2013 lease was treated as a modification in accordance with ASC 840, &#x201c;Leases&#x201d;. As a result of the 2013 lease, the corresponding capital asset and liability increased by $11.7 million, resulting in a net book value of the capital asset of $13.1 million, and capital obligation of $15.5 million. The 2013 lease included an option to purchase, assign to, or designate a purchaser on June 1, 2014, which required notice of intent to exercise the option by not later than March 31, 2014.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March&#160;28, 2014, we entered into a definitive agreement with an unrelated third party to assign the purchase option to that third party in return for cash consideration of $1.7 million, payable upon the closing of the purchase transaction, and certain obligations under the agreement, including entering into a new 15-year lease with the third party upon the third party&#x2019;s exercise of the purchase option and purchase of the building from the prior landlord. On March&#160;28, 2014, we provided the prior landlord notice of our assignment and exercise of the purchase option. On May 28, 2014, the third party completed the purchase transaction and the 2013 lease was terminated, with no ongoing obligations, by mutual agreement between the prior landlord and the Company. On the same day we entered into a new lease (the &#x201c;2014 lease&#x201d;) with the third party that expires on May 31, 2029. The 2014 lease was treated as a modification of the prior lease on the property in accordance with ASC 840, and determined to be a capital lease. As a result of the 2014 lease, the corresponding capital asset increased by $5.7 million, resulting in a net book value of the capital asset of $18.3 million and the liability increased by $6.7 million, resulting in a capital obligation of $22.0 million. In accordance with the 2014 Lease, the basic rent increases by a fixed 2.5% escalation annually. The adoption of ASC 842 on January 1, 2019 did not have a material impact on the existing finance leases.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted average remaining lease terms and discount rates were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;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 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.598%"/&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="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average remaining lease term (in years):&lt;/span&gt;&lt;/td&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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.3 years&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.3 years&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.7 years&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.5 years&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average discount rate:&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: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.04&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.04&#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:'Times New Roman',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 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.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;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.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;span style="color:#000000;font-family:'Times New Roman',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 style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease commitments at December&#160;31, 2021 were as follows (in&#160;thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Operating 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Finance Leases&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2022&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;602&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,149&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2023&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;373&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,202&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2024&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;28&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,258&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2025&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,314&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2026&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,372&#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 style="padding-left:11.25pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;After 2026&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5,972&#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 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total minimum lease payments&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,003&#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="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;17,267&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Less imputed interest&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(51)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,966)&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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net present value of minimum lease payments&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;952&#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="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14,301&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Less current portion&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(564)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,461)&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 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-term lease obligations at December 31, 2021&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 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;388&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;12,840&#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;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of lease expense were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" rowspan="2" 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating lease cost&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;713&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;724&#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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Short-term lease cost &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;13&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;93&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Finance lease cost&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortization of finance lease assets&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Interest on finance lease liabilities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;758&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;822&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total finance lease cost&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,979&#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 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,043&#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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total lease costs&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 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,705&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,860&#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:45pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.43pt"&gt;Leases that have terms of 12 months or less.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow information related to leases was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&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="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash paid for amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&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="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash flows from operating activities - operating leases&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;768&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;745&#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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash flows from operating activities - finance leases&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;758&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;820&#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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash flows from financing activities - finance leases&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,339&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Rent expense charged to operations totaled $0.8 million, $1.9 million, and $1.8 million for 2021, 2020, and 2019, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90ZXh0cmVnaW9uOjlhNTkwZjlhNDY2NTQ2MzViNGQ4ODMyYTIxNzJiODRiXzE0MzM_a155bf57-a85c-4942-92dc-68921b58801a"
      unitRef="number">0.0575</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <tls:TermOfLease
      contextRef="i47c223fa22044b5eb0307671a5a3d115_D19960101-19961231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90ZXh0cmVnaW9uOjlhNTkwZjlhNDY2NTQ2MzViNGQ4ODMyYTIxNzJiODRiXzI0NTE_749dd211-7319-43d3-b770-c83e2a76d11c">P20Y</tls:TermOfLease>
    <us-gaap:CapitalLeasedAssetsGross
      contextRef="i8d8665d804e8467abcbc813155fe073b_I19961231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90ZXh0cmVnaW9uOjlhNTkwZjlhNDY2NTQ2MzViNGQ4ODMyYTIxNzJiODRiXzI2OTI_84c671ae-60b2-4b5f-a9bb-8e2e2e7e299a"
      unitRef="usd">12300000</us-gaap:CapitalLeasedAssetsGross>
    <tls:TermOfLease
      contextRef="i8177341453b844fb8be9b076290e3692_D20130101-20131231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90ZXh0cmVnaW9uOjlhNTkwZjlhNDY2NTQ2MzViNGQ4ODMyYTIxNzJiODRiXzI3NTg_4f72334b-41df-4655-9b10-44498ef61a83">P13Y</tls:TermOfLease>
    <tls:IncreaseInCapitalLeasedProperty
      contextRef="i8177341453b844fb8be9b076290e3692_D20130101-20131231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90ZXh0cmVnaW9uOjlhNTkwZjlhNDY2NTQ2MzViNGQ4ODMyYTIxNzJiODRiXzMwMDc_08c2b3b2-5502-4a61-8ec2-c7d41ce33848"
      unitRef="usd">11700000</tls:IncreaseInCapitalLeasedProperty>
    <tls:NetBookValueOfCapitalAsset
      contextRef="if98db18166ff4e9db71afcb555f97dbf_I20131231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90ZXh0cmVnaW9uOjlhNTkwZjlhNDY2NTQ2MzViNGQ4ODMyYTIxNzJiODRiXzMwNjU_f8dec661-0088-4491-b84e-0a337acadea7"
      unitRef="usd">13100000</tls:NetBookValueOfCapitalAsset>
    <us-gaap:CapitalLeaseObligations
      contextRef="if98db18166ff4e9db71afcb555f97dbf_I20131231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90ZXh0cmVnaW9uOjlhNTkwZjlhNDY2NTQ2MzViNGQ4ODMyYTIxNzJiODRiXzMwOTU_03ef4903-b8a5-49f0-bdda-172d42949025"
      unitRef="usd">15500000</us-gaap:CapitalLeaseObligations>
    <tls:ProceedsFromAssignmentOfPurchaseOptionUnderLease
      contextRef="i1650e16397e5432e998292dfed4d7356_D20140101-20141231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90ZXh0cmVnaW9uOjlhNTkwZjlhNDY2NTQ2MzViNGQ4ODMyYTIxNzJiODRiXzM0NTA_3d28476a-d7ca-4e35-b3c9-d87f65b8a50b"
      unitRef="usd">1700000</tls:ProceedsFromAssignmentOfPurchaseOptionUnderLease>
    <tls:TermOfLease
      contextRef="i1650e16397e5432e998292dfed4d7356_D20140101-20141231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90ZXh0cmVnaW9uOjlhNTkwZjlhNDY2NTQ2MzViNGQ4ODMyYTIxNzJiODRiXzM1ODM_b2a8ae6d-a520-40d0-a5b3-154f738d49de">P15Y</tls:TermOfLease>
    <tls:IncreaseInCapitalLeasedProperty
      contextRef="i1650e16397e5432e998292dfed4d7356_D20140101-20141231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90ZXh0cmVnaW9uOjlhNTkwZjlhNDY2NTQ2MzViNGQ4ODMyYTIxNzJiODRiXzQzNDg_431959ad-7aeb-46d8-be2f-44ead4d7eb0b"
      unitRef="usd">5700000</tls:IncreaseInCapitalLeasedProperty>
    <tls:NetBookValueOfCapitalAsset
      contextRef="i574499b936c24d8bb681a4465b4cc8c8_I20141231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90ZXh0cmVnaW9uOjlhNTkwZjlhNDY2NTQ2MzViNGQ4ODMyYTIxNzJiODRiXzQ0MDY_3a0b33b2-f62e-4913-9372-6c07aab82cef"
      unitRef="usd">18300000</tls:NetBookValueOfCapitalAsset>
    <tls:IncreaseInCapitalLeaseObligations
      contextRef="i1650e16397e5432e998292dfed4d7356_D20140101-20141231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90ZXh0cmVnaW9uOjlhNTkwZjlhNDY2NTQ2MzViNGQ4ODMyYTIxNzJiODRiXzQ0NDA_46cc24bc-ae1a-4193-9de7-be8f0bc4eff2"
      unitRef="usd">6700000</tls:IncreaseInCapitalLeaseObligations>
    <us-gaap:CapitalLeaseObligations
      contextRef="i574499b936c24d8bb681a4465b4cc8c8_I20141231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90ZXh0cmVnaW9uOjlhNTkwZjlhNDY2NTQ2MzViNGQ4ODMyYTIxNzJiODRiXzQ0ODE_21fed237-ea9c-40ff-a61a-d554db463ab9"
      unitRef="usd">22000000</us-gaap:CapitalLeaseObligations>
    <tls:AnnualRentIncreasePercentage
      contextRef="ie85666983d9148dcb937e8b410716f9c_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90ZXh0cmVnaW9uOjlhNTkwZjlhNDY2NTQ2MzViNGQ4ODMyYTIxNzJiODRiXzQ3NDE_c2e95490-a870-417b-abd5-9d565e076f39"
      unitRef="number">0.025</tls:AnnualRentIncreasePercentage>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90ZXh0cmVnaW9uOjlhNTkwZjlhNDY2NTQ2MzViNGQ4ODMyYTIxNzJiODRiXzMyOTg1MzQ4OTU4OTU_f4e9a392-7d05-4ef6-80b7-b76591d1a73c">&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted average remaining lease terms and discount rates were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;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 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.598%"/&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="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average remaining lease term (in years):&lt;/span&gt;&lt;/td&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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.3 years&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.3 years&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.7 years&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.5 years&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average discount rate:&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: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.04&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.04&#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:'Times New Roman',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 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.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;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.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;span style="color:#000000;font-family:'Times New Roman',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 style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of lease expense were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" rowspan="2" 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Years Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating lease cost&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;713&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;724&#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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Short-term lease cost &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;13&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;93&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Finance lease cost&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortization of finance lease assets&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Interest on finance lease liabilities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;758&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;822&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total finance lease cost&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,979&#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 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,043&#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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total lease costs&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 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,705&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,860&#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:45pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.43pt"&gt;Leases that have terms of 12 months or less.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow information related to leases was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&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="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2021&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash paid for amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&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="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash flows from operating activities - operating leases&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;768&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;745&#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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash flows from operating activities - finance leases&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;758&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;820&#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 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash flows from financing activities - finance leases&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,339&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,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;/table&gt;&lt;/div&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTpiNWQ5MjYwNjFmZTg0NTM5OTdlYjQ5YzQ4ZWFjNjkzYi90YWJsZXJhbmdlOmI1ZDkyNjA2MWZlODQ1Mzk5N2ViNDljNDhlYWM2OTNiXzMtMS0xLTEtMjg3MzY_8ad9b8cf-eb8f-4ad5-ab07-6e1ee0f2fb38">P7Y3M18D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTpiNWQ5MjYwNjFmZTg0NTM5OTdlYjQ5YzQ4ZWFjNjkzYi90YWJsZXJhbmdlOmI1ZDkyNjA2MWZlODQ1Mzk5N2ViNDljNDhlYWM2OTNiXzMtMy0xLTEtMjg3MzY_1b8bfa68-c908-43ef-9765-e5b33611832d">P8Y3M18D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTpiNWQ5MjYwNjFmZTg0NTM5OTdlYjQ5YzQ4ZWFjNjkzYi90YWJsZXJhbmdlOmI1ZDkyNjA2MWZlODQ1Mzk5N2ViNDljNDhlYWM2OTNiXzQtMS0xLTEtMjg3MzY_1d80a252-4312-46bb-a20a-08d1a09d4290">P1Y8M12D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTpiNWQ5MjYwNjFmZTg0NTM5OTdlYjQ5YzQ4ZWFjNjkzYi90YWJsZXJhbmdlOmI1ZDkyNjA2MWZlODQ1Mzk5N2ViNDljNDhlYWM2OTNiXzQtMy0xLTEtMjg3MzY_173a4ac7-df3c-46b4-901d-cd43cfcbf948">P2Y6M</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTpiNWQ5MjYwNjFmZTg0NTM5OTdlYjQ5YzQ4ZWFjNjkzYi90YWJsZXJhbmdlOmI1ZDkyNjA2MWZlODQ1Mzk5N2ViNDljNDhlYWM2OTNiXzYtMS0xLTEtMjg3MzY_5d0c608a-863d-4985-8cc4-7aeb73237df5"
      unitRef="number">0.0504</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTpiNWQ5MjYwNjFmZTg0NTM5OTdlYjQ5YzQ4ZWFjNjkzYi90YWJsZXJhbmdlOmI1ZDkyNjA2MWZlODQ1Mzk5N2ViNDljNDhlYWM2OTNiXzYtMy0xLTEtMjg3MzY_cfaf3214-88a8-407b-9e7a-c7f943d8cc5a"
      unitRef="number">0.0504</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTpiNWQ5MjYwNjFmZTg0NTM5OTdlYjQ5YzQ4ZWFjNjkzYi90YWJsZXJhbmdlOmI1ZDkyNjA2MWZlODQ1Mzk5N2ViNDljNDhlYWM2OTNiXzctMS0xLTEtMjg3MzY_638f01f3-5847-4c3f-b5e8-8d5f06797678"
      unitRef="number">0.0575</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTpiNWQ5MjYwNjFmZTg0NTM5OTdlYjQ5YzQ4ZWFjNjkzYi90YWJsZXJhbmdlOmI1ZDkyNjA2MWZlODQ1Mzk5N2ViNDljNDhlYWM2OTNiXzctMy0xLTEtMjg3MzY_65bc4d97-3caf-439c-b1e1-758f4f490c69"
      unitRef="number">0.0575</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90ZXh0cmVnaW9uOjlhNTkwZjlhNDY2NTQ2MzViNGQ4ODMyYTIxNzJiODRiXzU4MTM_7b53e16f-ace3-475c-bd30-4e67dc9f4b5e">&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease commitments at December&#160;31, 2021 were as follows (in&#160;thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Operating 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Finance Leases&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2022&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;602&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,149&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2023&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;373&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,202&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2024&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;28&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,258&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2025&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,314&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2026&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,372&#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 style="padding-left:11.25pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;After 2026&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5,972&#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 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total minimum lease payments&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,003&#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="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;17,267&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Less imputed interest&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(51)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,966)&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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net present value of minimum lease payments&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;952&#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="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14,301&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Less current portion&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(564)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,461)&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 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-term lease obligations at December 31, 2021&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 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;388&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;12,840&#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:FinanceLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90ZXh0cmVnaW9uOjlhNTkwZjlhNDY2NTQ2MzViNGQ4ODMyYTIxNzJiODRiXzU4MTM_8f38f233-787a-40d1-8515-27b4f460108d">&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease commitments at December&#160;31, 2021 were as follows (in&#160;thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Operating 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Finance Leases&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2022&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;602&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,149&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2023&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;373&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,202&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2024&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;28&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,258&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2025&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,314&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2026&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2,372&#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 style="padding-left:11.25pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;After 2026&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5,972&#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 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total minimum lease payments&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,003&#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="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;17,267&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Less imputed interest&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(51)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2,966)&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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net present value of minimum lease payments&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;952&#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="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;14,301&#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 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Less current portion&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(564)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1,461)&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 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-term lease obligations at December 31, 2021&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 2px 1pt;text-align:left;vertical-align:bottom"&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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;388&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;12,840&#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:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTozZWEyYjQ4YmEyYjY0OWFhYmIwM2Y2ZDRjY2QzMTJhNC90YWJsZXJhbmdlOjNlYTJiNDhiYTJiNjQ5YWFiYjAzZjZkNGNjZDMxMmE0XzEtMS0xLTEtMQ_e134aeb4-e698-4196-ac99-437ab35573c1"
      unitRef="usd">602000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTozZWEyYjQ4YmEyYjY0OWFhYmIwM2Y2ZDRjY2QzMTJhNC90YWJsZXJhbmdlOjNlYTJiNDhiYTJiNjQ5YWFiYjAzZjZkNGNjZDMxMmE0XzEtMy0xLTEtMQ_f5c7ee67-ec8a-40ec-bf2c-afdc770a0a9f"
      unitRef="usd">2149000</us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTozZWEyYjQ4YmEyYjY0OWFhYmIwM2Y2ZDRjY2QzMTJhNC90YWJsZXJhbmdlOjNlYTJiNDhiYTJiNjQ5YWFiYjAzZjZkNGNjZDMxMmE0XzItMS0xLTEtMQ_9381b336-a92f-425d-9872-c597a1baddfb"
      unitRef="usd">373000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTozZWEyYjQ4YmEyYjY0OWFhYmIwM2Y2ZDRjY2QzMTJhNC90YWJsZXJhbmdlOjNlYTJiNDhiYTJiNjQ5YWFiYjAzZjZkNGNjZDMxMmE0XzItMy0xLTEtMQ_882d31c0-34cd-4c59-aca3-ec3a1551752c"
      unitRef="usd">2202000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTozZWEyYjQ4YmEyYjY0OWFhYmIwM2Y2ZDRjY2QzMTJhNC90YWJsZXJhbmdlOjNlYTJiNDhiYTJiNjQ5YWFiYjAzZjZkNGNjZDMxMmE0XzMtMS0xLTEtMQ_60372d8b-94d0-4f8b-be4f-ae0202fadb09"
      unitRef="usd">28000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTozZWEyYjQ4YmEyYjY0OWFhYmIwM2Y2ZDRjY2QzMTJhNC90YWJsZXJhbmdlOjNlYTJiNDhiYTJiNjQ5YWFiYjAzZjZkNGNjZDMxMmE0XzMtMy0xLTEtMQ_5dbeaa3f-7d78-4627-a4f2-866b210344ff"
      unitRef="usd">2258000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTozZWEyYjQ4YmEyYjY0OWFhYmIwM2Y2ZDRjY2QzMTJhNC90YWJsZXJhbmdlOjNlYTJiNDhiYTJiNjQ5YWFiYjAzZjZkNGNjZDMxMmE0XzQtMS0xLTEtMQ_9feac910-f445-49b6-80d7-370d56c0c96b"
      unitRef="usd">0</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTozZWEyYjQ4YmEyYjY0OWFhYmIwM2Y2ZDRjY2QzMTJhNC90YWJsZXJhbmdlOjNlYTJiNDhiYTJiNjQ5YWFiYjAzZjZkNGNjZDMxMmE0XzQtMy0xLTEtMQ_70e38fd9-f09f-4f39-ac25-ed373d2c26b2"
      unitRef="usd">2314000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTozZWEyYjQ4YmEyYjY0OWFhYmIwM2Y2ZDRjY2QzMTJhNC90YWJsZXJhbmdlOjNlYTJiNDhiYTJiNjQ5YWFiYjAzZjZkNGNjZDMxMmE0XzUtMS0xLTEtMQ_07d3c606-065d-43b5-b6ab-2f8809480592"
      unitRef="usd">0</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTozZWEyYjQ4YmEyYjY0OWFhYmIwM2Y2ZDRjY2QzMTJhNC90YWJsZXJhbmdlOjNlYTJiNDhiYTJiNjQ5YWFiYjAzZjZkNGNjZDMxMmE0XzUtMy0xLTEtMQ_33c6ba65-b202-4186-9848-65a620905f76"
      unitRef="usd">2372000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTozZWEyYjQ4YmEyYjY0OWFhYmIwM2Y2ZDRjY2QzMTJhNC90YWJsZXJhbmdlOjNlYTJiNDhiYTJiNjQ5YWFiYjAzZjZkNGNjZDMxMmE0XzYtMS0xLTEtMQ_69a7a110-8f70-4267-a7b2-f1b1129b7403"
      unitRef="usd">0</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTozZWEyYjQ4YmEyYjY0OWFhYmIwM2Y2ZDRjY2QzMTJhNC90YWJsZXJhbmdlOjNlYTJiNDhiYTJiNjQ5YWFiYjAzZjZkNGNjZDMxMmE0XzYtMy0xLTEtMQ_c07628f3-c73a-41f0-b16d-a3aab8385a87"
      unitRef="usd">5972000</us-gaap:FinanceLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTozZWEyYjQ4YmEyYjY0OWFhYmIwM2Y2ZDRjY2QzMTJhNC90YWJsZXJhbmdlOjNlYTJiNDhiYTJiNjQ5YWFiYjAzZjZkNGNjZDMxMmE0XzctMS0xLTEtMQ_23e51900-74a4-4321-919b-561ab61a851d"
      unitRef="usd">1003000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:FinanceLeaseLiabilityPaymentsDue
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTozZWEyYjQ4YmEyYjY0OWFhYmIwM2Y2ZDRjY2QzMTJhNC90YWJsZXJhbmdlOjNlYTJiNDhiYTJiNjQ5YWFiYjAzZjZkNGNjZDMxMmE0XzctMy0xLTEtMQ_78710673-bd84-4beb-8ffc-d7a2f4183f82"
      unitRef="usd">17267000</us-gaap:FinanceLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTozZWEyYjQ4YmEyYjY0OWFhYmIwM2Y2ZDRjY2QzMTJhNC90YWJsZXJhbmdlOjNlYTJiNDhiYTJiNjQ5YWFiYjAzZjZkNGNjZDMxMmE0XzgtMS0xLTEtMQ_72fa2651-b00c-426b-8fea-b14465af0912"
      unitRef="usd">51000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTozZWEyYjQ4YmEyYjY0OWFhYmIwM2Y2ZDRjY2QzMTJhNC90YWJsZXJhbmdlOjNlYTJiNDhiYTJiNjQ5YWFiYjAzZjZkNGNjZDMxMmE0XzgtMy0xLTEtMQ_dc7b04d9-af94-4113-91df-da0b4e02ee38"
      unitRef="usd">2966000</us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTozZWEyYjQ4YmEyYjY0OWFhYmIwM2Y2ZDRjY2QzMTJhNC90YWJsZXJhbmdlOjNlYTJiNDhiYTJiNjQ5YWFiYjAzZjZkNGNjZDMxMmE0XzktMS0xLTEtMQ_f691bd16-0f85-48b2-8e44-ad6b95efa8f0"
      unitRef="usd">952000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTozZWEyYjQ4YmEyYjY0OWFhYmIwM2Y2ZDRjY2QzMTJhNC90YWJsZXJhbmdlOjNlYTJiNDhiYTJiNjQ5YWFiYjAzZjZkNGNjZDMxMmE0XzktMy0xLTEtMQ_e902fb61-06ec-48d9-a4d4-670053ece3e0"
      unitRef="usd">14301000</us-gaap:FinanceLeaseLiability>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTozZWEyYjQ4YmEyYjY0OWFhYmIwM2Y2ZDRjY2QzMTJhNC90YWJsZXJhbmdlOjNlYTJiNDhiYTJiNjQ5YWFiYjAzZjZkNGNjZDMxMmE0XzEwLTEtMS0xLTE_434f9d5a-1c68-4901-b1bc-90a8a75dd6a4"
      unitRef="usd">564000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTozZWEyYjQ4YmEyYjY0OWFhYmIwM2Y2ZDRjY2QzMTJhNC90YWJsZXJhbmdlOjNlYTJiNDhiYTJiNjQ5YWFiYjAzZjZkNGNjZDMxMmE0XzEwLTMtMS0xLTE_481e8a2e-def4-4cbe-a118-61908467193a"
      unitRef="usd">1461000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTozZWEyYjQ4YmEyYjY0OWFhYmIwM2Y2ZDRjY2QzMTJhNC90YWJsZXJhbmdlOjNlYTJiNDhiYTJiNjQ5YWFiYjAzZjZkNGNjZDMxMmE0XzExLTEtMS0xLTE_0caf33b5-a642-4ef8-99b7-3a9236a13dda"
      unitRef="usd">388000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTozZWEyYjQ4YmEyYjY0OWFhYmIwM2Y2ZDRjY2QzMTJhNC90YWJsZXJhbmdlOjNlYTJiNDhiYTJiNjQ5YWFiYjAzZjZkNGNjZDMxMmE0XzExLTMtMS0xLTE_de2b7370-7b04-40b5-9de2-ed1f07482c9b"
      unitRef="usd">12840000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseCost
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTpmZTY4MDFmMGI2Mzc0YmMwOTYzM2I4N2I1ODczYTI1Yy90YWJsZXJhbmdlOmZlNjgwMWYwYjYzNzRiYzA5NjMzYjg3YjU4NzNhMjVjXzItMS0xLTEtMQ_40c262e1-ffe1-4819-9526-0d74f86b442e"
      unitRef="usd">713000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTpmZTY4MDFmMGI2Mzc0YmMwOTYzM2I4N2I1ODczYTI1Yy90YWJsZXJhbmdlOmZlNjgwMWYwYjYzNzRiYzA5NjMzYjg3YjU4NzNhMjVjXzItMy0xLTEtMQ_77384ccc-fe50-4483-87ab-e8681bf7fbec"
      unitRef="usd">724000</us-gaap:OperatingLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTpmZTY4MDFmMGI2Mzc0YmMwOTYzM2I4N2I1ODczYTI1Yy90YWJsZXJhbmdlOmZlNjgwMWYwYjYzNzRiYzA5NjMzYjg3YjU4NzNhMjVjXzMtMS0xLTEtMQ_ac3289ca-eede-4e6a-a32e-8bd0b1ffe7d3"
      unitRef="usd">13000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTpmZTY4MDFmMGI2Mzc0YmMwOTYzM2I4N2I1ODczYTI1Yy90YWJsZXJhbmdlOmZlNjgwMWYwYjYzNzRiYzA5NjMzYjg3YjU4NzNhMjVjXzMtMy0xLTEtMQ_384a6a89-ed8d-46e9-be81-bf69469c9ded"
      unitRef="usd">93000</us-gaap:ShortTermLeaseCost>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTpmZTY4MDFmMGI2Mzc0YmMwOTYzM2I4N2I1ODczYTI1Yy90YWJsZXJhbmdlOmZlNjgwMWYwYjYzNzRiYzA5NjMzYjg3YjU4NzNhMjVjXzUtMS0xLTEtMQ_c2d2d710-48a5-4653-9bd5-38914c9db732"
      unitRef="usd">1221000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTpmZTY4MDFmMGI2Mzc0YmMwOTYzM2I4N2I1ODczYTI1Yy90YWJsZXJhbmdlOmZlNjgwMWYwYjYzNzRiYzA5NjMzYjg3YjU4NzNhMjVjXzUtMy0xLTEtMQ_5ca015ce-3b11-4bc6-ab6b-e6edd3aa4a15"
      unitRef="usd">1221000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTpmZTY4MDFmMGI2Mzc0YmMwOTYzM2I4N2I1ODczYTI1Yy90YWJsZXJhbmdlOmZlNjgwMWYwYjYzNzRiYzA5NjMzYjg3YjU4NzNhMjVjXzYtMS0xLTEtMQ_72803180-71db-4332-b98e-36a0f4a535f3"
      unitRef="usd">758000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTpmZTY4MDFmMGI2Mzc0YmMwOTYzM2I4N2I1ODczYTI1Yy90YWJsZXJhbmdlOmZlNjgwMWYwYjYzNzRiYzA5NjMzYjg3YjU4NzNhMjVjXzYtMy0xLTEtMQ_af35ad04-f68a-436a-b67b-3073faf10960"
      unitRef="usd">822000</us-gaap:FinanceLeaseInterestExpense>
    <tls:FinanceLeaseCost
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTpmZTY4MDFmMGI2Mzc0YmMwOTYzM2I4N2I1ODczYTI1Yy90YWJsZXJhbmdlOmZlNjgwMWYwYjYzNzRiYzA5NjMzYjg3YjU4NzNhMjVjXzctMS0xLTEtMQ_ac19fe02-e922-4efb-87b0-e2660331592b"
      unitRef="usd">1979000</tls:FinanceLeaseCost>
    <tls:FinanceLeaseCost
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTpmZTY4MDFmMGI2Mzc0YmMwOTYzM2I4N2I1ODczYTI1Yy90YWJsZXJhbmdlOmZlNjgwMWYwYjYzNzRiYzA5NjMzYjg3YjU4NzNhMjVjXzctMy0xLTEtMQ_73183ee3-e9c5-4f82-b59d-cb9eae3c6a1b"
      unitRef="usd">2043000</tls:FinanceLeaseCost>
    <us-gaap:LeaseCost
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTpmZTY4MDFmMGI2Mzc0YmMwOTYzM2I4N2I1ODczYTI1Yy90YWJsZXJhbmdlOmZlNjgwMWYwYjYzNzRiYzA5NjMzYjg3YjU4NzNhMjVjXzgtMS0xLTEtMQ_1211a843-27b2-4843-b2fa-c63ff6f30eff"
      unitRef="usd">2705000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZTpmZTY4MDFmMGI2Mzc0YmMwOTYzM2I4N2I1ODczYTI1Yy90YWJsZXJhbmdlOmZlNjgwMWYwYjYzNzRiYzA5NjMzYjg3YjU4NzNhMjVjXzgtMy0xLTEtMQ_b9170bf6-1464-4975-87b2-1a3691df6c23"
      unitRef="usd">2860000</us-gaap:LeaseCost>
    <us-gaap:OperatingLeasePayments
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZToyMmIyMDQ2NWY2ZGM0ZDg0YTFiOTE3NzNjYjU4N2FmZS90YWJsZXJhbmdlOjIyYjIwNDY1ZjZkYzRkODRhMWI5MTc3M2NiNTg3YWZlXzMtMS0xLTEtMQ_ed8b3acd-1d41-44bd-ae69-e9bf752a903b"
      unitRef="usd">768000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZToyMmIyMDQ2NWY2ZGM0ZDg0YTFiOTE3NzNjYjU4N2FmZS90YWJsZXJhbmdlOjIyYjIwNDY1ZjZkYzRkODRhMWI5MTc3M2NiNTg3YWZlXzMtMy0xLTEtMQ_eee3a264-577b-4045-a4e7-901b514d788c"
      unitRef="usd">745000</us-gaap:OperatingLeasePayments>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZToyMmIyMDQ2NWY2ZGM0ZDg0YTFiOTE3NzNjYjU4N2FmZS90YWJsZXJhbmdlOjIyYjIwNDY1ZjZkYzRkODRhMWI5MTc3M2NiNTg3YWZlXzQtMS0xLTEtMQ_cf5ae468-013e-4079-b912-6c5dde70072d"
      unitRef="usd">758000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZToyMmIyMDQ2NWY2ZGM0ZDg0YTFiOTE3NzNjYjU4N2FmZS90YWJsZXJhbmdlOjIyYjIwNDY1ZjZkYzRkODRhMWI5MTc3M2NiNTg3YWZlXzQtMy0xLTEtMQ_af50676c-0944-4600-872e-6f2ee3c130a8"
      unitRef="usd">820000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZToyMmIyMDQ2NWY2ZGM0ZDg0YTFiOTE3NzNjYjU4N2FmZS90YWJsZXJhbmdlOjIyYjIwNDY1ZjZkYzRkODRhMWI5MTc3M2NiNTg3YWZlXzUtMS0xLTEtMQ_8746f79a-84b1-473f-859b-37b8ce2d3f32"
      unitRef="usd">1339000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90YWJsZToyMmIyMDQ2NWY2ZGM0ZDg0YTFiOTE3NzNjYjU4N2FmZS90YWJsZXJhbmdlOjIyYjIwNDY1ZjZkYzRkODRhMWI5MTc3M2NiNTg3YWZlXzUtMy0xLTEtMQ_82d5ac20-d9ba-4802-a49f-38f1665336ab"
      unitRef="usd">1225000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:OperatingLeaseExpense
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90ZXh0cmVnaW9uOjlhNTkwZjlhNDY2NTQ2MzViNGQ4ODMyYTIxNzJiODRiXzUwNzI_4d885136-cd9e-43e9-b2d8-35b5128b7d23"
      unitRef="usd">800000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90ZXh0cmVnaW9uOjlhNTkwZjlhNDY2NTQ2MzViNGQ4ODMyYTIxNzJiODRiXzUwNzY_76d152ce-80e6-4f81-927b-77094aee6e15"
      unitRef="usd">1900000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNTcvZnJhZzo5YTU5MGY5YTQ2NjU0NjM1YjRkODgzMmEyMTcyYjg0Yi90ZXh0cmVnaW9uOjlhNTkwZjlhNDY2NTQ2MzViNGQ4ODMyYTIxNzJiODRiXzUwODQ_9c69c9da-e097-44ce-9fdb-804680169aec"
      unitRef="usd">1800000</us-gaap:OperatingLeaseExpense>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xMjcvZnJhZzpiOWFkNmEwNzhiMzk0ZmZmYTc0MDNiMTcwZjMwNTgyNi90ZXh0cmVnaW9uOmI5YWQ2YTA3OGIzOTRmZmZhNzQwM2IxNzBmMzA1ODI2XzE1NTE_a76d0b40-61f0-4f1b-b5f5-f56f1ab1eac5">Fair Value Measurements&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accounting standard for fair value measurements provides a framework for measuring fair value and expands disclosures about fair value measurements. The framework requires the valuation of investments using a three-tiered approach. The statement requires fair value measurement to be classified and disclosed in one of the following categories:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level 1: Unadjusted quoted prices in active markets that are accessible at the measurement date for identical, unrestricted assets and liabilities;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level 2: Quoted prices in markets that are not active, or inputs which are observable, either directly or indirectly, for substantially the full term of the asset or liability; or&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level 3: Prices or valuation techniques that require inputs that are both significant to the fair value measurement and unobservable (i.e. supported by little or no market activity).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2021 and 2020, we did not have any financial instruments with significant Level 3 inputs and we did not have any financial instruments that are measured at fair value on a recurring basis.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For certain of our non-derivative financial instruments, including receivables, accounts payable and other accrued liabilities, the carrying amount approximates fair value due to the short-term maturities of these instruments.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNjMvZnJhZzo2MjQ1MjkzOWM5YWY0NmJhYmQ4MWQyYWFmMzNlYTc3YS90ZXh0cmVnaW9uOjYyNDUyOTM5YzlhZjQ2YmFiZDgxZDJhYWYzM2VhNzdhXzIwOTY_67ed6ca7-01d0-41af-902a-68e6ae59cc7b">Certain Relationships and Related Transactions&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Information concerning certain relationships and related party transactions between us and certain of our current shareholders and officers is set forth below.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Emmett J. Wood, the brother of our Chairman and CEO, has been an employee of ours since 1996 and currently serves as executive officer. The amounts paid to this individual as compensation for 2021, 2020, and 2019 were $492,000, $1,238,000, and $529,000, respectively.&#160; Additionally, Mr. Wood owned 73,562 and 682,502 shares of the Company&#x2019;s common stock as of December&#160;31, 2021 and 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March&#160;31, 2015, the Company entered into the Porter Notes. Mr. Porter and Toxford Corporation, of which Mr. Porter was the sole shareholder, owned 35.0% of our Class A Common Stock. Under the terms of the Porter Notes, Porter lent the Company $2.5 million on or about March&#160;31, 2015. According to the terms of the Porter Notes, the outstanding principal sum bore interest at the fixed rate of twelve percent (12%) per annum, which would be payable in arrears in cash on the 20th day of each May, August, November and February, with the first interest payment date due on August&#160;20, 2015.&#160;The Porter Notes did not call for amortization payments and were unsecured. The Porter Notes, in whole or in part, may be repaid at any time without premium or penalty. The unpaid principal, together with interest, was originally due and payable in full on July&#160;1, 2017.&#160;On April&#160;18, 2017, we amended and restated the Porter Notes to reduce the interest rate from twelve percent (12%) to six percent (6%) per annum, to be accrued, and extended the maturity date from July&#160;1, 2017 to July&#160;25, 2022. Telos also entered into Intercreditor Agreements with Porter and EnCap, in which the Porter Notes were fully subordinated to the Credit Agreement and any subsequent senior lenders (including Action Capital), and payments under the Porter Notes were permitted only if certain conditions were met. All other terms remained in full force and effect. We incurred interest expense in the amount of $319,000 and $330,000 for the years ended December&#160;31, 2020 and 2019, respectively, on the Porter Notes. On November 23, 2020, upon the closing of the IPO, the Porter Notes were paid in full.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;One of the Company's directors serves as a consultant. The amount paid for his consultancy services were $282,000, $270,000 and $270,000 for 2021, 2020 and 2019, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On February 8, 2021, we hired Ms. Donna Hill, as Director of Human Resources, reporting directly to Ms. Nakazawa, EVP of the Company. Ms. Hill is the sister of Mr. Edward Williams, former COO of the Company.&lt;/span&gt;&lt;/div&gt;</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="ica958ef8ed3741f8bad8c559161c90eb_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNjMvZnJhZzo2MjQ1MjkzOWM5YWY0NmJhYmQ4MWQyYWFmMzNlYTc3YS90ZXh0cmVnaW9uOjYyNDUyOTM5YzlhZjQ2YmFiZDgxZDJhYWYzM2VhNzdhXzM5Mg_fa676b71-1365-45bb-afeb-028fd94b9290"
      unitRef="usd">492000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="if8f0637f091d4721867bf8e748cf365e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNjMvZnJhZzo2MjQ1MjkzOWM5YWY0NmJhYmQ4MWQyYWFmMzNlYTc3YS90ZXh0cmVnaW9uOjYyNDUyOTM5YzlhZjQ2YmFiZDgxZDJhYWYzM2VhNzdhXzM5Ng_16e5c9f0-0a2d-4127-8f8e-824980c4fba6"
      unitRef="usd">1238000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="i84aece213bb142e89af104df1af9b06d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNjMvZnJhZzo2MjQ1MjkzOWM5YWY0NmJhYmQ4MWQyYWFmMzNlYTc3YS90ZXh0cmVnaW9uOjYyNDUyOTM5YzlhZjQ2YmFiZDgxZDJhYWYzM2VhNzdhXzQwNA_29f71098-b283-4665-8279-0bb94d8595c9"
      unitRef="usd">529000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <tls:NumberOfSharesHeldByRelatedParty
      contextRef="i518164becf0a4538a7e1aa5b4f1e64d7_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNjMvZnJhZzo2MjQ1MjkzOWM5YWY0NmJhYmQ4MWQyYWFmMzNlYTc3YS90ZXh0cmVnaW9uOjYyNDUyOTM5YzlhZjQ2YmFiZDgxZDJhYWYzM2VhNzdhXzI3NDg3NzkwNzIwNzg_7b935be0-d499-4057-a3f1-ad74bc5ea1a1"
      unitRef="shares">73562</tls:NumberOfSharesHeldByRelatedParty>
    <tls:NumberOfSharesHeldByRelatedParty
      contextRef="i27203b9fc4154782b3cc2d8fbcddddbf_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNjMvZnJhZzo2MjQ1MjkzOWM5YWY0NmJhYmQ4MWQyYWFmMzNlYTc3YS90ZXh0cmVnaW9uOjYyNDUyOTM5YzlhZjQ2YmFiZDgxZDJhYWYzM2VhNzdhXzI3NDg3NzkwNzIwODI_76a3d5d9-449d-4919-be78-6d6d51ae1164"
      unitRef="shares">682502</tls:NumberOfSharesHeldByRelatedParty>
    <us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners
      contextRef="i8f7b0df8dd8643749272c5e0f3c6ccf8_I20150331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNjMvZnJhZzo2MjQ1MjkzOWM5YWY0NmJhYmQ4MWQyYWFmMzNlYTc3YS90ZXh0cmVnaW9uOjYyNDUyOTM5YzlhZjQ2YmFiZDgxZDJhYWYzM2VhNzdhXzY0Ng_fa7945e2-7818-4613-a591-a9cb42dc304a"
      unitRef="number">0.350</us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners>
    <us-gaap:ProceedsFromRelatedPartyDebt
      contextRef="ic24dfd04357f49f68cc538b9e72ea2b7_D20150331-20150331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNjMvZnJhZzo2MjQ1MjkzOWM5YWY0NmJhYmQ4MWQyYWFmMzNlYTc3YS90ZXh0cmVnaW9uOjYyNDUyOTM5YzlhZjQ2YmFiZDgxZDJhYWYzM2VhNzdhXzczOQ_585d0527-5bb5-48b3-a2a8-68a0e6e33b5a"
      unitRef="usd">2500000</us-gaap:ProceedsFromRelatedPartyDebt>
    <us-gaap:RelatedPartyTransactionRate
      contextRef="ic24dfd04357f49f68cc538b9e72ea2b7_D20150331-20150331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNjMvZnJhZzo2MjQ1MjkzOWM5YWY0NmJhYmQ4MWQyYWFmMzNlYTc3YS90ZXh0cmVnaW9uOjYyNDUyOTM5YzlhZjQ2YmFiZDgxZDJhYWYzM2VhNzdhXzg4Mw_7d2d5641-eaf1-47f7-8924-d002aa520061"
      unitRef="number">0.12</us-gaap:RelatedPartyTransactionRate>
    <us-gaap:RelatedPartyTransactionRate
      contextRef="ic24dfd04357f49f68cc538b9e72ea2b7_D20150331-20150331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNjMvZnJhZzo2MjQ1MjkzOWM5YWY0NmJhYmQ4MWQyYWFmMzNlYTc3YS90ZXh0cmVnaW9uOjYyNDUyOTM5YzlhZjQ2YmFiZDgxZDJhYWYzM2VhNzdhXzE0MTU_4fdf59cc-518e-4d92-bc2e-5cbd93153c1a"
      unitRef="number">0.12</us-gaap:RelatedPartyTransactionRate>
    <us-gaap:RelatedPartyTransactionRate
      contextRef="i9e485acf9154408487b01f07bcba59f4_D20170418-20170418"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNjMvZnJhZzo2MjQ1MjkzOWM5YWY0NmJhYmQ4MWQyYWFmMzNlYTc3YS90ZXh0cmVnaW9uOjYyNDUyOTM5YzlhZjQ2YmFiZDgxZDJhYWYzM2VhNzdhXzE0MzU_8784228e-cd69-4cc4-9bfe-1cb40fffe977"
      unitRef="number">0.06</us-gaap:RelatedPartyTransactionRate>
    <us-gaap:InterestExpenseRelatedParty
      contextRef="ia4dac1d31b0448cab992d8014427b905_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNjMvZnJhZzo2MjQ1MjkzOWM5YWY0NmJhYmQ4MWQyYWFmMzNlYTc3YS90ZXh0cmVnaW9uOjYyNDUyOTM5YzlhZjQ2YmFiZDgxZDJhYWYzM2VhNzdhXzE5Mjk_ce52794c-f971-4a43-bbf3-9d2134988a79"
      unitRef="usd">319000</us-gaap:InterestExpenseRelatedParty>
    <us-gaap:InterestExpenseRelatedParty
      contextRef="i943c3ca487c94abe8e0c86ed81564442_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNjMvZnJhZzo2MjQ1MjkzOWM5YWY0NmJhYmQ4MWQyYWFmMzNlYTc3YS90ZXh0cmVnaW9uOjYyNDUyOTM5YzlhZjQ2YmFiZDgxZDJhYWYzM2VhNzdhXzE5Mzc_ffa063c1-5896-463f-9e21-81d77be2a02b"
      unitRef="usd">330000</us-gaap:InterestExpenseRelatedParty>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="i4d6662db75a444bb86ca257029144625_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNjMvZnJhZzo2MjQ1MjkzOWM5YWY0NmJhYmQ4MWQyYWFmMzNlYTc3YS90ZXh0cmVnaW9uOjYyNDUyOTM5YzlhZjQ2YmFiZDgxZDJhYWYzM2VhNzdhXzEwOTk1MTE2MzI3MzI_7d6c9be7-d459-4e30-bcf5-3385f17e59c5"
      unitRef="usd">282000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="ic136058caf3545a9808b3e461742ec25_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNjMvZnJhZzo2MjQ1MjkzOWM5YWY0NmJhYmQ4MWQyYWFmMzNlYTc3YS90ZXh0cmVnaW9uOjYyNDUyOTM5YzlhZjQ2YmFiZDgxZDJhYWYzM2VhNzdhXzEwOTk1MTE2MzI3Mzk_68e6508f-b27e-46a3-b3e8-679342181f73"
      unitRef="usd">270000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="i7b9dc9bf05a349edab5271728d5364ed_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNjMvZnJhZzo2MjQ1MjkzOWM5YWY0NmJhYmQ4MWQyYWFmMzNlYTc3YS90ZXh0cmVnaW9uOjYyNDUyOTM5YzlhZjQ2YmFiZDgxZDJhYWYzM2VhNzdhXzEwOTk1MTE2MzI3NDY_b703631b-db89-4de8-8302-951df5beba53"
      unitRef="usd">270000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTc1L2ZyYWc6NDg2MzdmNzAyOTk0NDE5NjhmNDZlY2NiY2JmODEwNTYvdGV4dHJlZ2lvbjo0ODYzN2Y3MDI5OTQ0MTk2OGY0NmVjY2JjYmY4MTA1Nl8zMjk4NTM0OTA5NzYy_4949ef78-f924-4205-a7ad-39e29bb90231">Segment InformationDuring the fourth quarter of 2021, as a result of the segment reorganization, our CODM began evaluating, overseeing and managing the financial performance of our operations through two operating segments: Security Solutions and Secure Networks. The segments enable the alignment of our strategies and objectives and provide a framework for timely and rational allocation of resources within the lines of business. We eliminate any inter-segment revenues and expenses upon consolidation.&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Security Solutions segment is primarily focused on cybersecurity, cloud and identity solutions through Xacta, Telos Ghost, AMHS and Telos ID offerings. We recognize revenue on contracts from providing various system platforms in cloud, on-premise and/or in hybrid cloud environment, and software sales or software-as-a-service. Revenue associated with the segment's custom solutions is recognized as work progresses or upon delivery of services. Fluctuation in revenue from period-to-period results from the volume of software sales, and progress or completion of cloud and/or cyber security solutions during the period. The majority of the operating costs relates to labor, material, and overhead costs. Software sales have immaterial operation costs associated with them, thus yielding higher margins. Gross profit and margin are a function of operational efficiency on security solutions and changes in the volume of software sales. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Secure Networks segment provides secure networking architectures and solutions to our customers through secure mobility solutions and network management and defense services. Revenue is recognized over time as the work progresses on contracts related to managing network services and information delivery. Contract costs include labor, material and overhead costs. Variances in costs recognized from period to period reflect primarily increases and decreases in activity level on individual contracts. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes business segment information for the periods presented, and a reconciliation of those results to the statement of operations for the relevant periods. Prior period segment information was recast to conform to the current year's presentation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:18pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.614%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:35.750%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.236%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.236%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.238%"/&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&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-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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="padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(in thousands)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenues&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Security Solutions&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;123,534&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;127,667&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111,843&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Secure Networks&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,899&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,627&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,295&#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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inter-segment elimination&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,377)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,920)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Consolidated revenue&lt;/span&gt;&lt;/td&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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;242,433&#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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;179,917&#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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;159,218&#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 style="height:15pt"&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;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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross profit&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Security Solutions&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,904&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,458&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,056&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Secure Networks&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,125&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,962&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,288&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total gross profit&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86,029&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #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:1pt solid #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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,420&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #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:1pt solid #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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,344&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #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;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We measure each segment's profitability based on gross profit. We account for inter-segment sales and transfers as if the sales or transfers were to third parties, that is, at current market prices. Interest income, interest expense, other income and expense items and income taxes, as reported in the consolidated financial statements, are not part of the segment profitability measure, and are primarily recorded at the corporate level. Under U.S. government Cost Accounting Standards, indirect costs including depreciation and amortization expense are collected in numerous indirect cost pools which are then collectively allocated out to the Company&#x2019;s reportable segments based on a representative causal or beneficial relationship of the costs in the pool to the costs in the base. While depreciation and amortization expense is a component of the allocated costs, the allocation process precludes depreciation and amortization expense from being specifically identified by the Company&#x2019;s individual reportable and operating segments. For this reason, the non-cash items by reportable and operating segment have not been reported above.&lt;/span&gt;&lt;/div&gt;Management does not utilize total assets by segment to evaluate segment performance or allocate resources. As a result, assets are not tracked by segment and therefore, total assets by segment are not disclosed.</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTc1L2ZyYWc6NDg2MzdmNzAyOTk0NDE5NjhmNDZlY2NiY2JmODEwNTYvdGV4dHJlZ2lvbjo0ODYzN2Y3MDI5OTQ0MTk2OGY0NmVjY2JjYmY4MTA1Nl80Mzk4MDQ2NTM3NTk4_77892ea5-88b8-497c-84db-57a5a82574c3"
      unitRef="segment">2</us-gaap:NumberOfOperatingSegments>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTc1L2ZyYWc6NDg2MzdmNzAyOTk0NDE5NjhmNDZlY2NiY2JmODEwNTYvdGV4dHJlZ2lvbjo0ODYzN2Y3MDI5OTQ0MTk2OGY0NmVjY2JjYmY4MTA1Nl8zMjk4NTM0OTA5NzYz_f7097758-6824-4686-93c2-37814b3469d2">&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes business segment information for the periods presented, and a reconciliation of those results to the statement of operations for the relevant periods. Prior period segment information was recast to conform to the current year's presentation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify;text-indent:18pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.614%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:35.750%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.236%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.236%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.238%"/&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&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-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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="padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(in thousands)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenues&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Security Solutions&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;123,534&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;127,667&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111,843&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Secure Networks&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,899&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,627&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,295&#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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inter-segment elimination&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,377)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,920)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Consolidated revenue&lt;/span&gt;&lt;/td&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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;242,433&#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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;179,917&#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:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;159,218&#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 style="height:15pt"&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;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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross profit&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Security Solutions&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,904&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,458&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,056&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Secure Networks&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,125&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,962&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,288&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total gross profit&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86,029&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #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:1pt solid #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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,420&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #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:1pt solid #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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,344&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #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:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie17a313ec9524b0b9b25a961d94467ff_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTc1L2ZyYWc6NDg2MzdmNzAyOTk0NDE5NjhmNDZlY2NiY2JmODEwNTYvdGFibGU6NTkyMzFiYWU5YmYwNGE1ZmIwZGYwZDNjNTQzNTAyMTMvdGFibGVyYW5nZTo1OTIzMWJhZTliZjA0YTVmYjBkZjBkM2M1NDM1MDIxM180LTEtMS0xLTQzMjI0_99e76777-7755-4e8a-9b5d-0f7f722fa710"
      unitRef="usd">123534000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id6577bac6f31435392e10017b70fe0ad_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTc1L2ZyYWc6NDg2MzdmNzAyOTk0NDE5NjhmNDZlY2NiY2JmODEwNTYvdGFibGU6NTkyMzFiYWU5YmYwNGE1ZmIwZGYwZDNjNTQzNTAyMTMvdGFibGVyYW5nZTo1OTIzMWJhZTliZjA0YTVmYjBkZjBkM2M1NDM1MDIxM180LTMtMS0xLTQxMTQx_877d8726-75e7-4fbf-8345-e5233627fd72"
      unitRef="usd">127667000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icc4bd7cb54f74df29a6a16dd84b89a60_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTc1L2ZyYWc6NDg2MzdmNzAyOTk0NDE5NjhmNDZlY2NiY2JmODEwNTYvdGFibGU6NTkyMzFiYWU5YmYwNGE1ZmIwZGYwZDNjNTQzNTAyMTMvdGFibGVyYW5nZTo1OTIzMWJhZTliZjA0YTVmYjBkZjBkM2M1NDM1MDIxM180LTUtMS0xLTQxMTQx_ab01e69c-1128-4e4b-a2b3-d986e654d011"
      unitRef="usd">111843000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2e8aea1a88b6423f8ca649a80e7b2dac_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTc1L2ZyYWc6NDg2MzdmNzAyOTk0NDE5NjhmNDZlY2NiY2JmODEwNTYvdGFibGU6NTkyMzFiYWU5YmYwNGE1ZmIwZGYwZDNjNTQzNTAyMTMvdGFibGVyYW5nZTo1OTIzMWJhZTliZjA0YTVmYjBkZjBkM2M1NDM1MDIxM181LTEtMS0xLTQzMjI0_7a47a496-9572-455f-82a5-be26af4f8bae"
      unitRef="usd">118899000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i656a504735384f3e88d494f23ae16c28_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTc1L2ZyYWc6NDg2MzdmNzAyOTk0NDE5NjhmNDZlY2NiY2JmODEwNTYvdGFibGU6NTkyMzFiYWU5YmYwNGE1ZmIwZGYwZDNjNTQzNTAyMTMvdGFibGVyYW5nZTo1OTIzMWJhZTliZjA0YTVmYjBkZjBkM2M1NDM1MDIxM181LTMtMS0xLTQxMTQx_1f84badc-e345-469b-abc6-32acf7a30e6d"
      unitRef="usd">62627000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i99d54b91a4ce46299a3a7dc771a00723_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTc1L2ZyYWc6NDg2MzdmNzAyOTk0NDE5NjhmNDZlY2NiY2JmODEwNTYvdGFibGU6NTkyMzFiYWU5YmYwNGE1ZmIwZGYwZDNjNTQzNTAyMTMvdGFibGVyYW5nZTo1OTIzMWJhZTliZjA0YTVmYjBkZjBkM2M1NDM1MDIxM181LTUtMS0xLTQxMTQx_507bd02c-ac37-4168-b845-9e5a9cb38512"
      unitRef="usd">57295000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2aad13dd27844a8ea5b82d82d6d7e406_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTc1L2ZyYWc6NDg2MzdmNzAyOTk0NDE5NjhmNDZlY2NiY2JmODEwNTYvdGFibGU6NTkyMzFiYWU5YmYwNGE1ZmIwZGYwZDNjNTQzNTAyMTMvdGFibGVyYW5nZTo1OTIzMWJhZTliZjA0YTVmYjBkZjBkM2M1NDM1MDIxM182LTEtMS0xLTQzMjI0_ed80eb7d-cbd1-4413-aff7-a6f12e576ebc"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i93709ec5d6fa47d59051e69727889368_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTc1L2ZyYWc6NDg2MzdmNzAyOTk0NDE5NjhmNDZlY2NiY2JmODEwNTYvdGFibGU6NTkyMzFiYWU5YmYwNGE1ZmIwZGYwZDNjNTQzNTAyMTMvdGFibGVyYW5nZTo1OTIzMWJhZTliZjA0YTVmYjBkZjBkM2M1NDM1MDIxM182LTMtMS0xLTQxMTQx_4f40dc6b-62c9-43e4-9b02-0fa95cd429b0"
      unitRef="usd">-10377000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id666ee09833c4b58abc5ab49719bc5a2_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTc1L2ZyYWc6NDg2MzdmNzAyOTk0NDE5NjhmNDZlY2NiY2JmODEwNTYvdGFibGU6NTkyMzFiYWU5YmYwNGE1ZmIwZGYwZDNjNTQzNTAyMTMvdGFibGVyYW5nZTo1OTIzMWJhZTliZjA0YTVmYjBkZjBkM2M1NDM1MDIxM182LTUtMS0xLTQxMTQx_1f5c17c5-fb15-4483-9430-b6aa4c408158"
      unitRef="usd">-9920000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTc1L2ZyYWc6NDg2MzdmNzAyOTk0NDE5NjhmNDZlY2NiY2JmODEwNTYvdGFibGU6NTkyMzFiYWU5YmYwNGE1ZmIwZGYwZDNjNTQzNTAyMTMvdGFibGVyYW5nZTo1OTIzMWJhZTliZjA0YTVmYjBkZjBkM2M1NDM1MDIxM183LTEtMS0xLTQ4ODEw_9810471a-6d5c-44b6-9e02-0fff8aeda634"
      unitRef="usd">242433000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTc1L2ZyYWc6NDg2MzdmNzAyOTk0NDE5NjhmNDZlY2NiY2JmODEwNTYvdGFibGU6NTkyMzFiYWU5YmYwNGE1ZmIwZGYwZDNjNTQzNTAyMTMvdGFibGVyYW5nZTo1OTIzMWJhZTliZjA0YTVmYjBkZjBkM2M1NDM1MDIxM183LTMtMS0xLTQ4ODEw_cb568592-c641-4bb3-904b-39c7324d9688"
      unitRef="usd">179917000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTc1L2ZyYWc6NDg2MzdmNzAyOTk0NDE5NjhmNDZlY2NiY2JmODEwNTYvdGFibGU6NTkyMzFiYWU5YmYwNGE1ZmIwZGYwZDNjNTQzNTAyMTMvdGFibGVyYW5nZTo1OTIzMWJhZTliZjA0YTVmYjBkZjBkM2M1NDM1MDIxM183LTUtMS0xLTQ4ODEw_cdff4913-34ad-4084-89a9-200732fc061d"
      unitRef="usd">159218000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:GrossProfit
      contextRef="ie17a313ec9524b0b9b25a961d94467ff_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTc1L2ZyYWc6NDg2MzdmNzAyOTk0NDE5NjhmNDZlY2NiY2JmODEwNTYvdGFibGU6NTkyMzFiYWU5YmYwNGE1ZmIwZGYwZDNjNTQzNTAyMTMvdGFibGVyYW5nZTo1OTIzMWJhZTliZjA0YTVmYjBkZjBkM2M1NDM1MDIxM18xMC0xLTEtMS00MzIzMQ_bf680a7c-6da2-4e6b-b2da-9b4cbc07ebc4"
      unitRef="usd">64904000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="id6577bac6f31435392e10017b70fe0ad_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTc1L2ZyYWc6NDg2MzdmNzAyOTk0NDE5NjhmNDZlY2NiY2JmODEwNTYvdGFibGU6NTkyMzFiYWU5YmYwNGE1ZmIwZGYwZDNjNTQzNTAyMTMvdGFibGVyYW5nZTo1OTIzMWJhZTliZjA0YTVmYjBkZjBkM2M1NDM1MDIxM18xMC0zLTEtMS00MTE1Mw_ddd67ea7-2e18-42d3-882e-c58f37d69e1a"
      unitRef="usd">50458000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="icc4bd7cb54f74df29a6a16dd84b89a60_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTc1L2ZyYWc6NDg2MzdmNzAyOTk0NDE5NjhmNDZlY2NiY2JmODEwNTYvdGFibGU6NTkyMzFiYWU5YmYwNGE1ZmIwZGYwZDNjNTQzNTAyMTMvdGFibGVyYW5nZTo1OTIzMWJhZTliZjA0YTVmYjBkZjBkM2M1NDM1MDIxM18xMC01LTEtMS00MTE1Mw_3f9d1e9c-12ed-46b5-aca7-b99fba42e53f"
      unitRef="usd">42056000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i2e8aea1a88b6423f8ca649a80e7b2dac_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTc1L2ZyYWc6NDg2MzdmNzAyOTk0NDE5NjhmNDZlY2NiY2JmODEwNTYvdGFibGU6NTkyMzFiYWU5YmYwNGE1ZmIwZGYwZDNjNTQzNTAyMTMvdGFibGVyYW5nZTo1OTIzMWJhZTliZjA0YTVmYjBkZjBkM2M1NDM1MDIxM18xMS0xLTEtMS00MzIzMQ_bd01e7b0-4698-4ae9-898f-a2a4c0b9ff7d"
      unitRef="usd">21125000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i656a504735384f3e88d494f23ae16c28_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTc1L2ZyYWc6NDg2MzdmNzAyOTk0NDE5NjhmNDZlY2NiY2JmODEwNTYvdGFibGU6NTkyMzFiYWU5YmYwNGE1ZmIwZGYwZDNjNTQzNTAyMTMvdGFibGVyYW5nZTo1OTIzMWJhZTliZjA0YTVmYjBkZjBkM2M1NDM1MDIxM18xMS0zLTEtMS00MTE1Mw_6cb0c117-df25-4de9-8440-7200027f51b8"
      unitRef="usd">11962000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i99d54b91a4ce46299a3a7dc771a00723_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTc1L2ZyYWc6NDg2MzdmNzAyOTk0NDE5NjhmNDZlY2NiY2JmODEwNTYvdGFibGU6NTkyMzFiYWU5YmYwNGE1ZmIwZGYwZDNjNTQzNTAyMTMvdGFibGVyYW5nZTo1OTIzMWJhZTliZjA0YTVmYjBkZjBkM2M1NDM1MDIxM18xMS01LTEtMS00MTE1Mw_e36fd1e1-579f-420d-8028-cd2259330c65"
      unitRef="usd">10288000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTc1L2ZyYWc6NDg2MzdmNzAyOTk0NDE5NjhmNDZlY2NiY2JmODEwNTYvdGFibGU6NTkyMzFiYWU5YmYwNGE1ZmIwZGYwZDNjNTQzNTAyMTMvdGFibGVyYW5nZTo1OTIzMWJhZTliZjA0YTVmYjBkZjBkM2M1NDM1MDIxM18xMi0xLTEtMS00ODgxNA_e655204a-80a2-4989-9e37-b0d32dba9658"
      unitRef="usd">86029000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="ie9c23f6e24374986bd9859186aed1e3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTc1L2ZyYWc6NDg2MzdmNzAyOTk0NDE5NjhmNDZlY2NiY2JmODEwNTYvdGFibGU6NTkyMzFiYWU5YmYwNGE1ZmIwZGYwZDNjNTQzNTAyMTMvdGFibGVyYW5nZTo1OTIzMWJhZTliZjA0YTVmYjBkZjBkM2M1NDM1MDIxM18xMi0zLTEtMS00ODgxNA_7566a278-a4c6-4b90-9be0-2a49c85a2133"
      unitRef="usd">62420000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="ide854fffcd3c4140bdda6b48fa16b86f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTc1L2ZyYWc6NDg2MzdmNzAyOTk0NDE5NjhmNDZlY2NiY2JmODEwNTYvdGFibGU6NTkyMzFiYWU5YmYwNGE1ZmIwZGYwZDNjNTQzNTAyMTMvdGFibGVyYW5nZTo1OTIzMWJhZTliZjA0YTVmYjBkZjBkM2M1NDM1MDIxM18xMi01LTEtMS00ODgxNA_5e9f2394-3dac-4e97-b189-55dae2f7546a"
      unitRef="usd">52344000</us-gaap:GrossProfit>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xNzIvZnJhZzo2YmFhOGRkYzQwYTU0ODFhYTM0OTg2MDM2ZDIyMGE1MC90ZXh0cmVnaW9uOjZiYWE4ZGRjNDBhNTQ4MWFhMzQ5ODYwMzZkMjIwYTUwXzc0NjE_2ccc97f9-8a1d-4003-a57f-7f467fad3e1b">Commitments, Contingencies, and Subsequent Events&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Legal Proceedings&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We are involved in legal proceedings and investigations arising in the ordinary course of business, including those relating to employment matters, relationships with clients and contractors, intellectual property disputes, and other business matters. These legal proceedings seek various remedies, including claims for monetary damages in varying amounts, none of which are considered material, or are unspecified as to amount. Although the outcome of any such matter is inherently uncertain and may be materially adverse, based on current information, we do not expect any of the currently ongoing audits, reviews, investigations, or litigation to have a material adverse effect on our financial condition and results of operations. As of December 31, 2021, there were no material amounts accrued in the consolidated financial statements related to these proceedings.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Other - Government Contracts&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As a U.S. government contractor, we are subject to various audits and investigations by the U.S. government to determine whether our operations are being conducted in accordance with applicable regulatory requirements. U.S. government investigations of our operations, whether relating to government contracts or conducted for other reasons, could result in administrative, civil, or criminal liabilities, including repayments, fines or penalties being imposed upon us, suspension, proposed debarment, debarment from eligibility for future U.S. government contracting, or suspension of export privileges. Suspension or debarment could have a material adverse effect on us because of our dependence on contracts with the U.S. government. U.S. government investigations often take years to complete and many result in no adverse action against us. We also provide products and services to customers outside of the United States, which are subject to U.S. and foreign laws and regulations and foreign procurement policies and practices. Our compliance with local regulations or applicable U.S. government regulations also may be audited or investigated.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Subsequent Events&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On February 7, 2022, Telos and certain of its current and former officers were named as defendants in a lawsuit filed in the United States District Court for the Eastern District of Virginia. In the complaint, the plaintiffs, who purport to represent a class of purchasers of Telos common stock between November 19, 2020 and November 12, 2021,  allege that the defendants violated securities laws by failing to disclose delays relating to the launch of certain contracts between Telos and the Transportation Security Administration and the Centers for Medicare and Medicaid Services and to take into account those delays when providing a financial outlook of the Company&#x2019;s 2021 performance. The complaint seeks monetary damages in an unspecified amount.  We dispute the claims described in the complaint and intend to defend the lawsuit vigorously.&lt;/span&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <srt:CondensedFinancialStatementsTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTY5L2ZyYWc6OTU1ZWNjYmQ5NzkwNDkyNGI2ZDNkMjkzYmQ4NjQ1ZTQvdGV4dHJlZ2lvbjo5NTVlY2NiZDk3OTA0OTI0YjZkM2QyOTNiZDg2NDVlNF8zMjk4NTM0ODgzNzE3_8788f4a8-c0b7-432f-b42b-284bf3f8b452">Composition of Certain Financial Statement Captions&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;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 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.598%"/&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="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance Sheets&lt;/span&gt;&lt;/td&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;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts payable and other accrued 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;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts payable&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,248&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,662&#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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued liabilities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,300&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,237&#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: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:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,548&#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 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:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,899&#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;</srt:CondensedFinancialStatementsTextBlock>
    <srt:ScheduleOfCondensedBalanceSheetTableTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTY5L2ZyYWc6OTU1ZWNjYmQ5NzkwNDkyNGI2ZDNkMjkzYmQ4NjQ1ZTQvdGV4dHJlZ2lvbjo5NTVlY2NiZDk3OTA0OTI0YjZkM2QyOTNiZDg2NDVlNF8zMjk4NTM0ODgzNzE4_b3be508e-f061-47be-98ad-709fae3b2f7d">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;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 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.598%"/&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="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance Sheets&lt;/span&gt;&lt;/td&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;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts payable and other accrued 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;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts payable&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,248&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,662&#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 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued liabilities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,300&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,237&#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: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:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,548&#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 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:'Times New Roman',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 #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,899&#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;</srt:ScheduleOfCondensedBalanceSheetTableTextBlock>
    <us-gaap:AccountsPayableCurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTY5L2ZyYWc6OTU1ZWNjYmQ5NzkwNDkyNGI2ZDNkMjkzYmQ4NjQ1ZTQvdGFibGU6YmZmMzAyZmE5N2Q5NDZiZGE3MjJlMDA5YjM3ZTIwMDAvdGFibGVyYW5nZTpiZmYzMDJmYTk3ZDk0NmJkYTcyMmUwMDliMzdlMjAwMF84LTEtMS0xLTM1NTI0_869cce43-2730-4c78-ab65-0f685049c486"
      unitRef="usd">9248000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTY5L2ZyYWc6OTU1ZWNjYmQ5NzkwNDkyNGI2ZDNkMjkzYmQ4NjQ1ZTQvdGFibGU6YmZmMzAyZmE5N2Q5NDZiZGE3MjJlMDA5YjM3ZTIwMDAvdGFibGVyYW5nZTpiZmYzMDJmYTk3ZDk0NmJkYTcyMmUwMDliMzdlMjAwMF84LTMtMS0xLTM1NTMw_30f56f70-518e-496b-a616-739602dbbe15"
      unitRef="usd">14662000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTY5L2ZyYWc6OTU1ZWNjYmQ5NzkwNDkyNGI2ZDNkMjkzYmQ4NjQ1ZTQvdGFibGU6YmZmMzAyZmE5N2Q5NDZiZGE3MjJlMDA5YjM3ZTIwMDAvdGFibGVyYW5nZTpiZmYzMDJmYTk3ZDk0NmJkYTcyMmUwMDliMzdlMjAwMF85LTEtMS0xLTM1NTI0_5be44a93-215e-4439-8781-242048748c47"
      unitRef="usd">25300000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTY5L2ZyYWc6OTU1ZWNjYmQ5NzkwNDkyNGI2ZDNkMjkzYmQ4NjQ1ZTQvdGFibGU6YmZmMzAyZmE5N2Q5NDZiZGE3MjJlMDA5YjM3ZTIwMDAvdGFibGVyYW5nZTpiZmYzMDJmYTk3ZDk0NmJkYTcyMmUwMDliMzdlMjAwMF85LTMtMS0xLTM1NTMw_a9bd780c-a420-4da7-b7b0-7f1707473d48"
      unitRef="usd">6237000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent
      contextRef="i6b261579f4774b16906440fd5c2d54a9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTY5L2ZyYWc6OTU1ZWNjYmQ5NzkwNDkyNGI2ZDNkMjkzYmQ4NjQ1ZTQvdGFibGU6YmZmMzAyZmE5N2Q5NDZiZGE3MjJlMDA5YjM3ZTIwMDAvdGFibGVyYW5nZTpiZmYzMDJmYTk3ZDk0NmJkYTcyMmUwMDliMzdlMjAwMF8xMS0xLTEtMS0zNjc2OQ_6e8edb34-2cdd-47e9-9f27-53fd632a5204"
      unitRef="usd">34548000</us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent
      contextRef="i80792f44233941c890b75811627a7d6f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8xOTY5L2ZyYWc6OTU1ZWNjYmQ5NzkwNDkyNGI2ZDNkMjkzYmQ4NjQ1ZTQvdGFibGU6YmZmMzAyZmE5N2Q5NDZiZGE3MjJlMDA5YjM3ZTIwMDAvdGFibGVyYW5nZTpiZmYzMDJmYTk3ZDk0NmJkYTcyMmUwMDliMzdlMjAwMF8xMS0zLTEtMS0zNjc3Mg_c3a43548-7b02-4498-8b9d-055039939a05"
      unitRef="usd">20899000</us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent>
    <us-gaap:ErrorCorrectionTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGV4dHJlZ2lvbjozZGE2MjI1MTM3YTQ0ZWM1YjQ2YTllYmE3ODUxZDZjOF8zMjk4NTM0ODk4MzY4_f222e23f-6f42-41bc-861f-4450f4f03e8d">Revision of Interim Financial StatementsAs noted in Note 1 - Overview and Summary of Significant Accounting Policies, the Company recorded certain revisions related to previously issued unaudited condensed consolidated financial statements. The Company considered the errors identified in accordance with the SEC's Staff Accounting Bulletin No. 99 and determined the impact was immaterial to the previously issued consolidated interim financial statements. Nonetheless, the Company has revised the previously reported interim financial information for the quarterly periods ended March 31, 2021, June 30, 2021, and September 30, 2021.  There is no cumulative impact to the Company&#x2019;s full-year 2021 financial statements as a result of these revisions. The following is a comprehensive list of those errors which have all been recast to the correct periods in the table below:&lt;div style="margin-top:12pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Classification of Expense&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the third quarter of 2021, the Company identified that stock compensation for a single individual was incorrectly charged to cost of sales instead of general and administrative expense.  The total amount of stock compensation incorrectly charged to cost of sales was $0.3 million, of which $0.1 million related to the first quarter of 2021 and $0.2 million related to the second quarter of 2021. The Company initially corrected the error during the third quarter of 2021. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the third quarter of 2021, the Company identified that the allocation of stock compensation for two of the Company&#x2019;s overhead cost pools were incorrectly charged to cost of sales instead of general and administrative expense during the second quarter of 2021.  The total amount of stock compensation incorrectly charged to cost of sales was $0.7 million which the Company initially corrected during the third quarter of 2021. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the third quarter of 2021, the Company identified $1.1 million in revenue related to the stub period of a newly awarded contract that should have been recognized as income during the second quarter of 2021.  The Company initially corrected the error during the third quarter of 2021. Additionally, and related to this contract, in the fourth quarter of 2021 the Company identified $0.3 million of products revenue for the second quarter of 2021 and $0.4 million of products revenue for the third quarter of 2021 that should be classified in the Consolidated Statements of Operations as services revenue. The table below reflects the correction of the classification error previously reported during the second and third quarters of 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the third quarter of fiscal year 2021, the Company erroneously recorded an $0.9 million expense related to a contract that had not yet begun.  In the fourth quarter of 2021 the Company reversed the expense previously recorded and does not plan to record the expense until the start of the period of performance.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Software Capitalization&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the third quarter of fiscal year 2021, the Company erroneously recorded a $0.5 million expense related to a software project whose development milestones were achieved and therefore costs associated with the software should have been capitalized. The table below reflects the correction of the error previously reported during Q3 2021. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Cash Flow&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the first three quarters of fiscal year 2021, the Company erroneously presented the $2.4 million payment to fully acquire all membership interest of Telos ID as an operating activity on the statement of cash flow.  In the fourth quarter of 2021 the Company corrected the presentation to properly reflect the payment within financing activities on the statement of cash flows. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Stock Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the fourth quarter of fiscal year 2021, the Company identified that a third quarter RSU was awarded to an individual, but that award was erroneously excluded from its calculation of compensation expense causing compensation expense to be understated by $0.2 million in the third quarter of 2021.  The table below reflects the correction of the error previously reported during Q3 2021. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Valuation of Acquired Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the fourth quarter of fiscal year 2021, the Company identified a necessary update to a previously established assumption related to the valuation of its 2021 acquisition.  The change in assumption resulted in additional goodwill of $1.3 million and a reduction of the intangible asset for the same amount that should have been reported during Q3 2021.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The impact of the correction on the Company's previously issued quarterly consolidated financial statements was as follows (in thousands, except per share data):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.081%"/&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.384%"/&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.384%"/&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="18" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Adjustments to the period ended March 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:6pt"&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;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended March 31, 2021&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Condensed Consolidated Statement of Operations&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of sales - Services&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,602&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(112)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,490&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Costs and expenses&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,400&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(112)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,288&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,964&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;112&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,076&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,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;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;112&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,963&#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;/table&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.081%"/&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.384%"/&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.384%"/&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 style="height:15pt"&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;tr&gt;&lt;td colspan="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Condensed Consolidated Statement of Cash Flows&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;/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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Changes in other operating assets and liabilities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,584)&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,436&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,148)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash used in operating activities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,318)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,436&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,882)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Distribution to Telos ID Class B member - non-controlling interest&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,436)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,436)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash used in financing activities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(321)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,436)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,757)&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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.075%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.969%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.625%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="36" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Adjustments to the period ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:6pt"&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;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;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30, 2021&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As Adjusted&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="36" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Condensed Consolidated Statement of Operations&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Revenue - Services&lt;/span&gt;&lt;/td&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;47,618&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,385&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;49,003&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;99,676&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,385&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;101,061&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Revenue - Products&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;4,941&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(300)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;4,641&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;8,641&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(300)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;8,341&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Revenue&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;52,559&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;53,644&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;108,317&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;109,402&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Cost of sales - Services&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;29,501&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(892)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;28,609&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;69,103&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(1,004)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;68,099&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Costs and expenses&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;32,002&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(892)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;31,110&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;73,402&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(1,004)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;72,398&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;28,743&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;892&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;29,635&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;48,708&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,004&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;49,712&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;39,113&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;892&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;40,005&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;66,965&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,004&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;67,969&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Operating loss&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(18,556)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(17,471)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(32,050)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(30,965)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Loss before income taxes&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(18,716)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(17,631)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(33,460)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(32,375)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(18,729)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(17,644)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(33,507)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(32,422)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net loss attributable to Telos Corporation&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(18,729)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(17,644)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(33,507)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(32,422)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net loss per share attributable to Telos Corporation&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;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Basic&lt;/span&gt;&lt;/td&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.28)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;0.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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.26)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.51)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;0.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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.49)&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Diluted&lt;/span&gt;&lt;/td&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.28)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;0.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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.26)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.51)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;0.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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.49)&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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.075%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.969%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.625%"/&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30, 2021&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As Adjusted&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="36" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Condensed Consolidated Statement of Comprehensive Loss&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(18,729)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(17,644)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(33,507)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(32,422)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Comprehensive loss attributable to Telos Corporation&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(18,724)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(17,639)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(33,534)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(32,449)&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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.081%"/&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.384%"/&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.384%"/&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:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;June 30, 2021&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Condensed Consolidated Balance Sheet&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable, net of reserve&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,412&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,497&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total current assets&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;178,403&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;179,488&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;220,094&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;221,179&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated deficit&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(177,350)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(176,265)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total stockholders' equity&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;164,700&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;165,785&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total liabilities and stockholders' equity&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;220,094&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;221,179&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.081%"/&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.384%"/&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.384%"/&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:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30, 2021&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Condensed Consolidated Statement of Cash Flows&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(33,507)&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(32,422)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Changes in other operating assets and liabilities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,074)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,351&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,723)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash used in operating activities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,790)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,436&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,354)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Distribution to Telos ID Class B member - non-controlling interest&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,436)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,436)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash provided by financing activities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,474&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,436)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,038&#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:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.075%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.969%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.625%"/&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30, 2021&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As Adjusted&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="36" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Condensed Consolidated Statement of Changes in Stockholders' Equity&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(18,729)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(17,644)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(33,507)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(32,422)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accumulated deficit&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(177,350)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(176,265)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(177,350)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(176,265)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total Stockholders' equity&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;164,700&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;165,785&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;164,700&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;165,785&#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:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.075%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.969%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.625%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="36" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Adjustments to the period ended September 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:6pt"&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;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;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended September 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Nine Months Ended September 30, 2021&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As Adjusted&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="36" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Condensed Consolidated Statement of Operations&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Revenue - Services&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;63,690&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(735)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;62,955&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;163,366&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;650&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;164,016&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Revenue - Products&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;6,376&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(350)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;6,026&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;15,017&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(650)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;14,367&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Revenue&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;70,066&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(1,085)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;68,981&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;178,383&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;178,383&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Cost of sales - Services&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;40,031&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;106&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;40,137&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;109,134&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(898)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;108,236&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Costs and expenses&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;43,998&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;106&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;44,104&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;117,400&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(898)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;116,502&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Research and development&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;5,396&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(533)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;4,863&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;14,783&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(533)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;14,250&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;20,562&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(823)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;19,739&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;69,271&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;181&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;69,452&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;31,321&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(1,356)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;29,965&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;98,287&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(352)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;97,935&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Operating loss&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,253)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;165&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,088)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(37,304)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,250&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(36,054)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Loss before income taxes&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,428)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;165&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,263)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(38,888)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,250&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(37,638)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,387)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;165&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,222)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(38,894)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,250&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(37,644)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net loss attributable to Telos Corporation&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,387)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;165&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,222)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(38,894)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,250&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(37,644)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net loss per share attributable to Telos Corporation&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: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;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;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Basic&lt;/span&gt;&lt;/td&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.08)&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:'Times New Roman',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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.08)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.59)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;0.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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.57)&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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Diluted&lt;/span&gt;&lt;/td&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.08)&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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.08)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.59)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;0.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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.57)&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:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.075%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.969%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.625%"/&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended September 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Nine Months Ended September 30, 2021&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As Adjusted&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="36" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Condensed Consolidated Statement of Comprehensive Loss&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,387)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;165&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,222)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(38,894)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,250&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(37,644)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Comprehensive loss attributable to Telos Corporation&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,400)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;165&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,235)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(38,934)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,250&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(37,684)&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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.081%"/&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.384%"/&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.384%"/&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:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;September 30, 2021&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Condensed Consolidated Balance Sheet&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable, net of reserve&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,759&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,085)&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,674&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total current assets&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;192,300&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,085)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;191,215&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,642&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,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;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,922&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets, net&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,102&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(747)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,355&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;242,667&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(552)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;242,115&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts payable and other accrued liabilities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,102&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(898)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,204&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total current liabilities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,410&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(898)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,512&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total liabilities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,176&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(898)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70,278&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Additional paid-in capital&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;354,119&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;181&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;354,300&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated deficit&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(182,737)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;165&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(182,572)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total stockholders' equity&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171,491&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;346&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171,837&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total liabilities and stockholders' equity&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;242,667&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(552)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;242,115&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.081%"/&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.384%"/&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.384%"/&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:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Nine Months Ended September 30, 2021&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Condensed Consolidated Statement of Cash Flows&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(38,894)&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,250&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(37,644)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock-based compensation&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,197&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;181&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,378&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Changes in other operating assets and liabilities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,900)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,538&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,362)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash used in operating activities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,668&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,969&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,637&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capitalized software development costs&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,139)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(533)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,672)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash used in investing activities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,709)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(533)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14,242)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Distribution to Telos ID Class B member - non-controlling interest&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,436)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,436)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash provided by financing activities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,131&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,436)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,695&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.075%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.969%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.625%"/&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended September 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Nine Months Ended September 30, 2021&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As Adjusted&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="36" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Condensed Consolidated Statement of Changes in Stockholders' Equity &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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,387)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;165&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,222)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(38,894)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,250&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(37,644)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Additional paid-in capital&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;354,119&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;181&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;354,300&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;354,119&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;181&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;354,300&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accumulated deficit - beginning balance&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(177,350)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(176,265)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(143,843)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(143,843)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accumulated deficit - ending balance&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(182,737)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;165&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(182,572)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(182,737)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;165&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(182,572)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total Stockholders' Equity&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;171,491&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;346&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;171,837&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;171,491&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;346&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;171,837&#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:ErrorCorrectionTextBlock>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="iae8f11f157fb477b8b9d977e2648c396_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGV4dHJlZ2lvbjozZGE2MjI1MTM3YTQ0ZWM1YjQ2YTllYmE3ODUxZDZjOF8xMDk5NTExNjQ5NDM3_bab96002-f40b-4bb0-9bee-81cbab013a36"
      unitRef="usd">-300000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="id045b1d7d59543409a0dffe006461682_D20210101-20210331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGV4dHJlZ2lvbjozZGE2MjI1MTM3YTQ0ZWM1YjQ2YTllYmE3ODUxZDZjOF8xMDk5NTExNjQ5NDQ3_813c0a40-b326-46bd-997f-29c4cf3874e4"
      unitRef="usd">-100000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i892c82c22f36480599720a10eb4b2914_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGV4dHJlZ2lvbjozZGE2MjI1MTM3YTQ0ZWM1YjQ2YTllYmE3ODUxZDZjOF8xMDk5NTExNjQ5NDUz_2395f8bd-8046-44da-be6c-21347332177b"
      unitRef="usd">-200000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="iaef21c1c2ebe46c9aabb4a5d5c02f2bc_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGV4dHJlZ2lvbjozZGE2MjI1MTM3YTQ0ZWM1YjQ2YTllYmE3ODUxZDZjOF8xMDk5NTExNjQ5NDg3_c40896f1-e749-4d4b-9e1a-f7366298bc21"
      unitRef="usd">-700000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i79595cf7dcac453daf19b58e4e4402c4_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGV4dHJlZ2lvbjozZGE2MjI1MTM3YTQ0ZWM1YjQ2YTllYmE3ODUxZDZjOF8xMDk5NTExNjQ5NDkx_dc1a2a2e-08fb-47f0-a340-e887932936c4"
      unitRef="usd">1100000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i248b9930d6ac4ae7a153585d09486368_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGV4dHJlZ2lvbjozZGE2MjI1MTM3YTQ0ZWM1YjQ2YTllYmE3ODUxZDZjOF8xMDk5NTExNjQ5NDk1_123a14c2-cc69-4545-8877-76bc631e55f9"
      unitRef="usd">300000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iedcd43de4bbb4195affa9f11424b9fc1_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGV4dHJlZ2lvbjozZGE2MjI1MTM3YTQ0ZWM1YjQ2YTllYmE3ODUxZDZjOF8xMDk5NTExNjQ5NDk1_f10f9c5f-5ac6-465d-ae79-0435bfa62cfd"
      unitRef="usd">-300000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1f05adb1207c4c1da09b5671b4ff84d4_D20210701-20210930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGV4dHJlZ2lvbjozZGE2MjI1MTM3YTQ0ZWM1YjQ2YTllYmE3ODUxZDZjOF8xMDk5NTExNjQ5NDk5_0d9c61eb-1032-438a-9f78-55239be098c7"
      unitRef="usd">400000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if545583a38af42e6b4e39dfbf0ed30e0_D20210701-20210930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGV4dHJlZ2lvbjozZGE2MjI1MTM3YTQ0ZWM1YjQ2YTllYmE3ODUxZDZjOF8xMDk5NTExNjQ5NDk5_b8e19a4f-63c7-4e10-8612-940650f12a64"
      unitRef="usd">-400000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i30ff3183f5eb4aa7b38001df416cb83f_D20210701-20210930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGV4dHJlZ2lvbjozZGE2MjI1MTM3YTQ0ZWM1YjQ2YTllYmE3ODUxZDZjOF8xMDk5NTExNjQ5NTAz_b034db83-758e-4d7c-8d97-d94631899fd0"
      unitRef="usd">900000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="if318da0d6f404849a36a44aa7cd15550_D20210701-20210930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGV4dHJlZ2lvbjozZGE2MjI1MTM3YTQ0ZWM1YjQ2YTllYmE3ODUxZDZjOF8xMDk5NTExNjQ5NTA3_36aaa209-ed65-4eb5-8ed9-7650255ea91f"
      unitRef="usd">500000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="if19f28db3eb14f72ae17f43fa3728b03_D20210101-20210930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGV4dHJlZ2lvbjozZGE2MjI1MTM3YTQ0ZWM1YjQ2YTllYmE3ODUxZDZjOF8xMDk5NTExNjQ5NTEx_735cfc1a-b566-495b-9c87-4ea3b6a60960"
      unitRef="usd">2400000</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="ia0f00f99200a4b038e5f2865acf9c56d_D20210701-20210930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGV4dHJlZ2lvbjozZGE2MjI1MTM3YTQ0ZWM1YjQ2YTllYmE3ODUxZDZjOF8xMDk5NTExNjQ5NTE1_4f6e57ea-79e8-426f-b81e-100f0929db39"
      unitRef="usd">200000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:Goodwill
      contextRef="i083684fe7d1d40aebd1b9ea177a8bb44_I20210930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGV4dHJlZ2lvbjozZGE2MjI1MTM3YTQ0ZWM1YjQ2YTllYmE3ODUxZDZjOF8xMDk5NTExNjQ5NTE5_d1b8b629-0ee7-450a-ae7d-798be102ad9e"
      unitRef="usd">1300000</us-gaap:Goodwill>
    <us-gaap:ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock
      contextRef="i77ecc24315ed4fc38a7604e244faa0c8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGV4dHJlZ2lvbjozZGE2MjI1MTM3YTQ0ZWM1YjQ2YTllYmE3ODUxZDZjOF8zMjk4NTM0ODk4MzY5_5c1054c2-9ab2-425f-8257-30dae2ec5daa">&lt;div style="margin-top:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The impact of the correction on the Company's previously issued quarterly consolidated financial statements was as follows (in thousands, except per share data):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.081%"/&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.384%"/&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.384%"/&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="18" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Adjustments to the period ended March 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:6pt"&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;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended March 31, 2021&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Condensed Consolidated Statement of Operations&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of sales - Services&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,602&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(112)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,490&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Costs and expenses&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,400&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(112)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,288&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,964&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;112&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,076&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,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;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;112&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,963&#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;/table&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.081%"/&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.384%"/&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.384%"/&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 style="height:15pt"&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;tr&gt;&lt;td colspan="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Condensed Consolidated Statement of Cash Flows&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;/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;/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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Changes in other operating assets and liabilities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,584)&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,436&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,148)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash used in operating activities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,318)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,436&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,882)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Distribution to Telos ID Class B member - non-controlling interest&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,436)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,436)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash used in financing activities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(321)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,436)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,757)&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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.075%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.969%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.625%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="36" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Adjustments to the period ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:6pt"&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;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;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30, 2021&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As Adjusted&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="36" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Condensed Consolidated Statement of Operations&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Revenue - Services&lt;/span&gt;&lt;/td&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;47,618&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,385&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;49,003&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;99,676&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,385&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;101,061&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Revenue - Products&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;4,941&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(300)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;4,641&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;8,641&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(300)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;8,341&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Revenue&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;52,559&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;53,644&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;108,317&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;109,402&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Cost of sales - Services&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;29,501&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(892)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;28,609&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;69,103&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(1,004)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;68,099&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Costs and expenses&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;32,002&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(892)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;31,110&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;73,402&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(1,004)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;72,398&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;28,743&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;892&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;29,635&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;48,708&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,004&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;49,712&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;39,113&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;892&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;40,005&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;66,965&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,004&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;67,969&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Operating loss&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(18,556)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(17,471)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(32,050)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(30,965)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Loss before income taxes&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(18,716)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(17,631)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(33,460)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(32,375)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(18,729)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(17,644)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(33,507)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(32,422)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net loss attributable to Telos Corporation&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(18,729)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(17,644)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(33,507)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(32,422)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net loss per share attributable to Telos Corporation&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;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Basic&lt;/span&gt;&lt;/td&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.28)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;0.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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.26)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.51)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;0.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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.49)&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Diluted&lt;/span&gt;&lt;/td&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.28)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;0.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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.26)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.51)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;0.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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.49)&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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.075%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.969%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.625%"/&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30, 2021&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As Adjusted&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="36" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Condensed Consolidated Statement of Comprehensive Loss&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(18,729)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(17,644)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(33,507)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(32,422)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Comprehensive loss attributable to Telos Corporation&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(18,724)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(17,639)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(33,534)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(32,449)&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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.081%"/&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.384%"/&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.384%"/&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:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;June 30, 2021&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Condensed Consolidated Balance Sheet&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable, net of reserve&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,412&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,497&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total current assets&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;178,403&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;179,488&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;220,094&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;221,179&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated deficit&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(177,350)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(176,265)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total stockholders' equity&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;164,700&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;165,785&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total liabilities and stockholders' equity&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;220,094&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;221,179&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.081%"/&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.384%"/&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.384%"/&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:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30, 2021&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Condensed Consolidated Statement of Cash Flows&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(33,507)&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(32,422)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Changes in other operating assets and liabilities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,074)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,351&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,723)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash used in operating activities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,790)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,436&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,354)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Distribution to Telos ID Class B member - non-controlling interest&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,436)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,436)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash provided by financing activities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,474&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,436)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,038&#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:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.075%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.969%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.625%"/&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30, 2021&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As Adjusted&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="36" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Condensed Consolidated Statement of Changes in Stockholders' Equity&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(18,729)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(17,644)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(33,507)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(32,422)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accumulated deficit&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(177,350)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(176,265)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(177,350)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(176,265)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total Stockholders' equity&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;164,700&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;165,785&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;164,700&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;165,785&#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:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.075%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.969%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.625%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="36" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Adjustments to the period ended September 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:6pt"&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;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;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended September 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Nine Months Ended September 30, 2021&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As Adjusted&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="36" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Condensed Consolidated Statement of Operations&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Revenue - Services&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;63,690&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(735)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;62,955&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;163,366&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;650&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;164,016&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Revenue - Products&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;6,376&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(350)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;6,026&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;15,017&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(650)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;14,367&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Revenue&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;70,066&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(1,085)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;68,981&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;178,383&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;178,383&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Cost of sales - Services&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;40,031&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;106&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;40,137&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;109,134&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(898)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;108,236&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Costs and expenses&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;43,998&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;106&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;44,104&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;117,400&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(898)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;116,502&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Research and development&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;5,396&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(533)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;4,863&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;14,783&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(533)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;14,250&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;20,562&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(823)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;19,739&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;69,271&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;181&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;69,452&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;31,321&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(1,356)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;29,965&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;98,287&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(352)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;97,935&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Operating loss&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,253)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;165&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,088)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(37,304)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,250&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(36,054)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Loss before income taxes&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,428)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;165&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,263)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(38,888)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,250&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(37,638)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,387)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;165&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,222)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(38,894)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,250&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(37,644)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net loss attributable to Telos Corporation&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,387)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;165&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,222)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(38,894)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,250&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(37,644)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net loss per share attributable to Telos Corporation&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: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;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;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Basic&lt;/span&gt;&lt;/td&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.08)&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:'Times New Roman',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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.08)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.59)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;0.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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.57)&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 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Diluted&lt;/span&gt;&lt;/td&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.08)&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:'Times New Roman',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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.08)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.59)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;0.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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(0.57)&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:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.075%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.969%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.625%"/&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended September 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Nine Months Ended September 30, 2021&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As Adjusted&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="36" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Condensed Consolidated Statement of Comprehensive Loss&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,387)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;165&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,222)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(38,894)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,250&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(37,644)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Comprehensive loss attributable to Telos Corporation&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,400)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;165&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,235)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(38,934)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,250&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(37,684)&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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.081%"/&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.384%"/&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.384%"/&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:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;September 30, 2021&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Condensed Consolidated Balance Sheet&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable, net of reserve&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,759&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,085)&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,674&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total current assets&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;192,300&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,085)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;191,215&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,642&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,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;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,922&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets, net&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,102&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(747)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,355&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;242,667&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(552)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;242,115&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts payable and other accrued liabilities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,102&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(898)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,204&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total current liabilities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,410&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(898)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,512&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total liabilities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,176&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(898)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70,278&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Additional paid-in capital&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;354,119&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;181&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;354,300&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated deficit&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(182,737)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;165&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(182,572)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total stockholders' equity&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171,491&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;346&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171,837&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total liabilities and stockholders' equity&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;242,667&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(552)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;242,115&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.081%"/&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.384%"/&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.384%"/&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:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Nine Months Ended September 30, 2021&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Condensed Consolidated Statement of Cash Flows&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(38,894)&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,250&#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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(37,644)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock-based compensation&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,197&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;181&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,378&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Changes in other operating assets and liabilities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,900)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,538&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,362)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash used in operating activities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,668&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,969&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,637&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capitalized software development costs&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,139)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(533)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,672)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash used in investing activities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,709)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(533)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14,242)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Distribution to Telos ID Class B member - non-controlling interest&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,436)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,436)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash provided by financing activities&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,131&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,436)&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,695&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.075%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.969%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&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.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.625%"/&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="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended September 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Nine Months Ended September 30, 2021&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As Adjusted&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Previously Reported&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Error Correction&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As Adjusted&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="36" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Condensed Consolidated Statement of Changes in Stockholders' Equity &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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,387)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;165&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(5,222)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(38,894)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,250&#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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(37,644)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Additional paid-in capital&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;354,119&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;181&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;354,300&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;354,119&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;181&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;354,300&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accumulated deficit - beginning balance&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(177,350)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,085&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(176,265)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(143,843)&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:'Times New Roman',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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(143,843)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Accumulated deficit - ending balance&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(182,737)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;165&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(182,572)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(182,737)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;165&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(182,572)&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total Stockholders' Equity&lt;/span&gt;&lt;/td&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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;171,491&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;346&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;171,837&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;171,491&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;346&#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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;171,837&#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:ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i6e2a422e7a1240f7b103508ec773627e_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NjE3MmI0MDc3MDYwNDZkNzk1YTdkYzMzMmIyZTYxNDgvdGFibGVyYW5nZTo2MTcyYjQwNzcwNjA0NmQ3OTVhN2RjMzMyYjJlNjE0OF8zLTEtMS0xLTUzNzEy_2ba874ca-d890-421f-858e-7bbf566534fd"
      unitRef="usd">39602000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="idb53d308ed53451495e37fabe83d60e7_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NjE3MmI0MDc3MDYwNDZkNzk1YTdkYzMzMmIyZTYxNDgvdGFibGVyYW5nZTo2MTcyYjQwNzcwNjA0NmQ3OTVhN2RjMzMyYjJlNjE0OF8zLTMtMS0xLTUzNzEy_7e62e558-77bb-4362-86b4-bf315079d6e6"
      unitRef="usd">-112000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i81fbe052320a49cc9d0501ccb77f8030_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NjE3MmI0MDc3MDYwNDZkNzk1YTdkYzMzMmIyZTYxNDgvdGFibGVyYW5nZTo2MTcyYjQwNzcwNjA0NmQ3OTVhN2RjMzMyYjJlNjE0OF8zLTUtMS0xLTUzNzEy_420ee819-c211-4d0e-a54b-a214d286dad3"
      unitRef="usd">39490000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i33ba8fee93564b59aeb6cb0f1c6a22d4_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NjE3MmI0MDc3MDYwNDZkNzk1YTdkYzMzMmIyZTYxNDgvdGFibGVyYW5nZTo2MTcyYjQwNzcwNjA0NmQ3OTVhN2RjMzMyYjJlNjE0OF80LTEtMS0xLTUzNzEy_701e812e-2ad1-40ba-a33f-890f33e763ae"
      unitRef="usd">41400000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ibb8350192a964d908d1eb59df097223e_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NjE3MmI0MDc3MDYwNDZkNzk1YTdkYzMzMmIyZTYxNDgvdGFibGVyYW5nZTo2MTcyYjQwNzcwNjA0NmQ3OTVhN2RjMzMyYjJlNjE0OF80LTMtMS0xLTUzNzEy_ae09bed8-0ac5-4984-b577-ac49747b5e71"
      unitRef="usd">-112000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="idaadcf336edb45a6a77ac05ff38fc8c6_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NjE3MmI0MDc3MDYwNDZkNzk1YTdkYzMzMmIyZTYxNDgvdGFibGVyYW5nZTo2MTcyYjQwNzcwNjA0NmQ3OTVhN2RjMzMyYjJlNjE0OF80LTUtMS0xLTUzNzEy_e629b43e-88b1-4e3d-be96-fd00632f583b"
      unitRef="usd">41288000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i28b11894ec4848c8b79f18cc17fa5daa_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NjE3MmI0MDc3MDYwNDZkNzk1YTdkYzMzMmIyZTYxNDgvdGFibGVyYW5nZTo2MTcyYjQwNzcwNjA0NmQ3OTVhN2RjMzMyYjJlNjE0OF82LTEtMS0xLTUzNzIz_255ba172-36fb-496a-966f-8448689689ef"
      unitRef="usd">19964000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="id4261218348047c1a020b9f1c7060898_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NjE3MmI0MDc3MDYwNDZkNzk1YTdkYzMzMmIyZTYxNDgvdGFibGVyYW5nZTo2MTcyYjQwNzcwNjA0NmQ3OTVhN2RjMzMyYjJlNjE0OF82LTMtMS0xLTUzNzIz_3baad8ad-096a-433c-9951-4eb48491fc06"
      unitRef="usd">112000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="if67813ca69e64c98a29604a3a87bcd2a_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NjE3MmI0MDc3MDYwNDZkNzk1YTdkYzMzMmIyZTYxNDgvdGFibGVyYW5nZTo2MTcyYjQwNzcwNjA0NmQ3OTVhN2RjMzMyYjJlNjE0OF82LTUtMS0xLTUzNzIz_4a8899e0-ddcf-412c-988d-9cc92ec781ef"
      unitRef="usd">20076000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i28b11894ec4848c8b79f18cc17fa5daa_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NjE3MmI0MDc3MDYwNDZkNzk1YTdkYzMzMmIyZTYxNDgvdGFibGVyYW5nZTo2MTcyYjQwNzcwNjA0NmQ3OTVhN2RjMzMyYjJlNjE0OF83LTEtMS0xLTUzNzIz_c7b56644-93c8-4c61-9830-59f5e57f7842"
      unitRef="usd">27851000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="id4261218348047c1a020b9f1c7060898_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NjE3MmI0MDc3MDYwNDZkNzk1YTdkYzMzMmIyZTYxNDgvdGFibGVyYW5nZTo2MTcyYjQwNzcwNjA0NmQ3OTVhN2RjMzMyYjJlNjE0OF83LTMtMS0xLTUzNzIz_2962917e-32ea-4e15-88f4-d3c85b27b865"
      unitRef="usd">112000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="if67813ca69e64c98a29604a3a87bcd2a_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NjE3MmI0MDc3MDYwNDZkNzk1YTdkYzMzMmIyZTYxNDgvdGFibGVyYW5nZTo2MTcyYjQwNzcwNjA0NmQ3OTVhN2RjMzMyYjJlNjE0OF83LTUtMS0xLTUzNzIz_94ad24c8-b772-4a79-9c76-00019a713081"
      unitRef="usd">27963000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="i28b11894ec4848c8b79f18cc17fa5daa_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjNiODZkOWZiYzJkNDNmMDk3OTA2NGZkOGQyNzgxOTkvdGFibGVyYW5nZTpiM2I4NmQ5ZmJjMmQ0M2YwOTc5MDY0ZmQ4ZDI3ODE5OV8zLTEtMS0xLTUzNzM5_badd2819-e804-48f3-8757-6b02afe39d76"
      unitRef="usd">9584000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="id4261218348047c1a020b9f1c7060898_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjNiODZkOWZiYzJkNDNmMDk3OTA2NGZkOGQyNzgxOTkvdGFibGVyYW5nZTpiM2I4NmQ5ZmJjMmQ0M2YwOTc5MDY0ZmQ4ZDI3ODE5OV8zLTMtMS0xLTUzNzM5_bb2ef5fa-b3dd-474e-95a6-3cdad4dbebd6"
      unitRef="usd">-2436000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="if67813ca69e64c98a29604a3a87bcd2a_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjNiODZkOWZiYzJkNDNmMDk3OTA2NGZkOGQyNzgxOTkvdGFibGVyYW5nZTpiM2I4NmQ5ZmJjMmQ0M2YwOTc5MDY0ZmQ4ZDI3ODE5OV8zLTUtMS0xLTUzNzM5_38c76383-0c9a-4577-a606-c324826bf768"
      unitRef="usd">7148000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i28b11894ec4848c8b79f18cc17fa5daa_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjNiODZkOWZiYzJkNDNmMDk3OTA2NGZkOGQyNzgxOTkvdGFibGVyYW5nZTpiM2I4NmQ5ZmJjMmQ0M2YwOTc5MDY0ZmQ4ZDI3ODE5OV80LTEtMS0xLTUzNzM5_4fadc6df-d5a8-4e2e-96fc-0f31af183016"
      unitRef="usd">-9318000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="id4261218348047c1a020b9f1c7060898_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjNiODZkOWZiYzJkNDNmMDk3OTA2NGZkOGQyNzgxOTkvdGFibGVyYW5nZTpiM2I4NmQ5ZmJjMmQ0M2YwOTc5MDY0ZmQ4ZDI3ODE5OV80LTMtMS0xLTUzNzM5_8ff24ac1-aa1c-4dbf-a9e4-5268e7c9bf61"
      unitRef="usd">2436000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="if67813ca69e64c98a29604a3a87bcd2a_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjNiODZkOWZiYzJkNDNmMDk3OTA2NGZkOGQyNzgxOTkvdGFibGVyYW5nZTpiM2I4NmQ5ZmJjMmQ0M2YwOTc5MDY0ZmQ4ZDI3ODE5OV80LTUtMS0xLTUzNzM5_af0f4d1e-2ea9-49fb-936b-7200212ad5b5"
      unitRef="usd">-6882000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="i28b11894ec4848c8b79f18cc17fa5daa_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjNiODZkOWZiYzJkNDNmMDk3OTA2NGZkOGQyNzgxOTkvdGFibGVyYW5nZTpiM2I4NmQ5ZmJjMmQ0M2YwOTc5MDY0ZmQ4ZDI3ODE5OV81LTEtMS0xLTUzNzM5_a1f71eba-474b-4277-b7dd-87c723df0a5c"
      unitRef="usd">0</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="id4261218348047c1a020b9f1c7060898_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjNiODZkOWZiYzJkNDNmMDk3OTA2NGZkOGQyNzgxOTkvdGFibGVyYW5nZTpiM2I4NmQ5ZmJjMmQ0M2YwOTc5MDY0ZmQ4ZDI3ODE5OV81LTMtMS0xLTUzNzM5_7ef62f0c-29ae-4497-bc54-c6f95ef92a01"
      unitRef="usd">2436000</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="if67813ca69e64c98a29604a3a87bcd2a_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjNiODZkOWZiYzJkNDNmMDk3OTA2NGZkOGQyNzgxOTkvdGFibGVyYW5nZTpiM2I4NmQ5ZmJjMmQ0M2YwOTc5MDY0ZmQ4ZDI3ODE5OV81LTUtMS0xLTUzNzM5_57a1f7e3-cf64-4e4d-ada4-b979ff66859f"
      unitRef="usd">2436000</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i28b11894ec4848c8b79f18cc17fa5daa_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjNiODZkOWZiYzJkNDNmMDk3OTA2NGZkOGQyNzgxOTkvdGFibGVyYW5nZTpiM2I4NmQ5ZmJjMmQ0M2YwOTc5MDY0ZmQ4ZDI3ODE5OV82LTEtMS0xLTUzNzM5_0b8f1722-4c1f-4f11-b8d5-5cf5186bbc7a"
      unitRef="usd">-321000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="id4261218348047c1a020b9f1c7060898_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjNiODZkOWZiYzJkNDNmMDk3OTA2NGZkOGQyNzgxOTkvdGFibGVyYW5nZTpiM2I4NmQ5ZmJjMmQ0M2YwOTc5MDY0ZmQ4ZDI3ODE5OV82LTMtMS0xLTUzNzM5_3c6b6cf6-8cbf-43f1-af8b-2c0fc0b72e5f"
      unitRef="usd">-2436000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="if67813ca69e64c98a29604a3a87bcd2a_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjNiODZkOWZiYzJkNDNmMDk3OTA2NGZkOGQyNzgxOTkvdGFibGVyYW5nZTpiM2I4NmQ5ZmJjMmQ0M2YwOTc5MDY0ZmQ4ZDI3ODE5OV82LTUtMS0xLTUzNzM5_baeff67b-b300-4033-9691-f7e871d5c564"
      unitRef="usd">-2757000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9a270f23c18f41b98f2d5848e3974bda_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8zLTEtMS0xLTU3NzQx_5f872c73-da1d-4df1-9e68-12952a73b0a2"
      unitRef="usd">47618000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib168d3d17b774a329122845bdade5bc5_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8zLTMtMS0xLTU3NzQx_47c60958-7222-420c-9f86-643ff3118d76"
      unitRef="usd">1385000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie6adb9732760487b9bd5ce76d4746113_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8zLTUtMS0xLTU3NzQx_338c4dd9-b82e-44db-b434-47a433959ae6"
      unitRef="usd">49003000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iee5690c48af0421291c2ccb66c0c74ce_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8zLTctMS0xLTU3Nzc5_2f32e305-1091-4d08-b8b3-6693cacacbc4"
      unitRef="usd">99676000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i50fce68a0fde42e18cf8565b4f343d83_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8zLTktMS0xLTU3Nzc5_491819bf-2305-4341-b4cf-3d673238f513"
      unitRef="usd">1385000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1a87e76fdd77452690de9035906722fc_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8zLTExLTEtMS01Nzc3OQ_99df9663-4961-4beb-8072-9f4e2a8122df"
      unitRef="usd">101061000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i20fea44f7ab642c0a3547d358c0fbeba_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl80LTEtMS0xLTU3NzQx_fef9058b-3558-417c-b2cb-6afe834e0264"
      unitRef="usd">4941000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia669eb82f89244d798067e3f6b88b810_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl80LTMtMS0xLTU3NzQx_a0555fbc-7890-4c5c-90e7-494e5555966c"
      unitRef="usd">-300000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id7ae6d48ad474d3dac7b68ecd9c063b9_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl80LTUtMS0xLTU3NzQx_3e7c1abd-c305-4e0a-9640-5f9b1ca5464f"
      unitRef="usd">4641000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic7bbe1913ca4480d86fb1a43f95e7223_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl80LTctMS0xLTU3Nzc5_03fec96d-21cb-4090-a1fb-e57d8eb930f2"
      unitRef="usd">8641000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5ea817c3b5044de2aa5f06bab1eb0580_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl80LTktMS0xLTU3Nzc5_02c95018-8c1b-4b42-b8b6-e15d666c5368"
      unitRef="usd">-300000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iedbbc78c99ba4202a39c3d4ec29683f3_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl80LTExLTEtMS01Nzc3OQ_1755db1d-aa0b-4b34-96ca-5dc0ab71c0ed"
      unitRef="usd">8341000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8bd957aad321460a92d3241579729366_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl81LTEtMS0xLTU3NzQx_eecb7a39-a4c2-4088-ae20-87e1e188f1ca"
      unitRef="usd">52559000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i79595cf7dcac453daf19b58e4e4402c4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl81LTMtMS0xLTU3NzQx_f254f20d-57dd-4365-b6d2-dea69094ad8c"
      unitRef="usd">1085000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i570d6bcea8954afbb049e46f3e16dd84_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl81LTUtMS0xLTU3NzQx_12c76c74-7842-40fa-be0a-e341876228a5"
      unitRef="usd">53644000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i668caf1d5b5c4e62ac8a680222df51ed_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl81LTctMS0xLTU3Nzc5_9b3d56e5-c373-4cd8-9e8a-5f4356370ccb"
      unitRef="usd">108317000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1fb6b48fda9a4bba800a33063c8b4903_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl81LTktMS0xLTU3Nzc5_a006b718-cbbf-4666-a58f-5117367ab387"
      unitRef="usd">1085000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i61f4618feae7441480b716ea43e1abb5_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl81LTExLTEtMS01Nzc3OQ_ae6112c7-f978-4f6e-aed2-93eb371b6c24"
      unitRef="usd">109402000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i9a270f23c18f41b98f2d5848e3974bda_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl82LTEtMS0xLTU3NzYz_7afe5e77-2617-46e8-addc-b6e217dd4bc2"
      unitRef="usd">29501000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ib168d3d17b774a329122845bdade5bc5_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl82LTMtMS0xLTU3NzYz_b25302eb-7756-4f6b-8d61-d79e09370d67"
      unitRef="usd">-892000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ie6adb9732760487b9bd5ce76d4746113_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl82LTUtMS0xLTU3NzYz_b54bfa5c-d2b7-40e1-af07-95724d3dfd1a"
      unitRef="usd">28609000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="iee5690c48af0421291c2ccb66c0c74ce_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl82LTctMS0xLTU3NzYz_afd1f580-0272-4c69-8e44-fe94e1988659"
      unitRef="usd">69103000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i50fce68a0fde42e18cf8565b4f343d83_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl82LTktMS0xLTU3NzYz_0a2d526f-8d89-489b-9b9f-1f1fd2a9f914"
      unitRef="usd">-1004000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i1a87e76fdd77452690de9035906722fc_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl82LTExLTEtMS01Nzc2Mw_ff5f9fd4-c0ff-49ed-ac57-85a622e03ae3"
      unitRef="usd">68099000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ib2e0b00555f84ca296a95ea5e46ab62f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl83LTEtMS0xLTU3NzYz_c5aaec5d-e1a7-42f7-8a94-3f3c9ac465b9"
      unitRef="usd">32002000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ia8b410dbe3654632ae1b6adf788c5572_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl83LTMtMS0xLTU3NzYz_9aa48c63-09ce-48c6-92b1-75b288dfc7c9"
      unitRef="usd">-892000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i464a581fa6f848a68c30ac91ade985dc_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl83LTUtMS0xLTU3NzYz_0409ee74-39e7-4579-ae75-996ef3277774"
      unitRef="usd">31110000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i4404c9c6aa15431d9271252f85bc3c4a_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl83LTctMS0xLTU3NzYz_b448acea-d460-4850-9188-fc66f9976d0e"
      unitRef="usd">73402000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i624d6a8fe7fe4e38b4406485afd30e55_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl83LTktMS0xLTU3NzYz_7a9d7753-694d-411b-9fd0-7d4fdd0c600d"
      unitRef="usd">-1004000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i956aec3b0a2f4fd7b1d05fbbbb244020_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl83LTExLTEtMS01Nzc2Mw_20217d6a-964d-4b7d-9edb-a768458974fc"
      unitRef="usd">72398000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i8bd957aad321460a92d3241579729366_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMC0xLTEtMS01ODYyNQ_2e0d7481-69d3-4dde-a894-3f18e08fb3dc"
      unitRef="usd">28743000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i8bd957aad321460a92d3241579729366_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMC0xLTEtMS01ODYyNQ_5d348b4e-a2a0-4b81-bbe7-a7f44caa8a63"
      unitRef="usd">28743000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i79595cf7dcac453daf19b58e4e4402c4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMC0zLTEtMS01ODYzNA_477fbb6d-4af4-4d4a-84b1-d3992d282566"
      unitRef="usd">892000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i79595cf7dcac453daf19b58e4e4402c4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMC0zLTEtMS01ODYzNA_c17eed21-dca7-4043-a054-169a7290f52a"
      unitRef="usd">892000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i570d6bcea8954afbb049e46f3e16dd84_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMC01LTEtMS01ODYzNg_4d842d6b-39f6-4af1-a09a-dba8e1a8d64d"
      unitRef="usd">29635000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i668caf1d5b5c4e62ac8a680222df51ed_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl84LTctMS0xLTU3Nzg1_526b6107-c47d-4dbe-b4e5-fa13195f50bb"
      unitRef="usd">48708000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i1fb6b48fda9a4bba800a33063c8b4903_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl84LTktMS0xLTU3Nzg1_cb42e7dd-7cbb-4c66-895a-17d27bd2f6ba"
      unitRef="usd">1004000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i61f4618feae7441480b716ea43e1abb5_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl84LTExLTEtMS01Nzc4NQ_c80e018b-2fcf-4b67-bc6c-30eb9c894835"
      unitRef="usd">49712000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i8bd957aad321460a92d3241579729366_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMS0xLTEtMS01ODYzMg_63cbb1b7-2cc0-40e0-a6da-7902bb33d501"
      unitRef="usd">39113000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i8bd957aad321460a92d3241579729366_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMS0xLTEtMS01ODYzMg_89579ccd-3363-49a1-b2fe-de703601e57b"
      unitRef="usd">39113000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i79595cf7dcac453daf19b58e4e4402c4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMS0zLTEtMS01ODYzNA_837e4538-652d-4aba-8fe1-c3e5198624b4"
      unitRef="usd">892000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i79595cf7dcac453daf19b58e4e4402c4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMS0zLTEtMS01ODYzNA_ecb50da1-9128-4df6-9855-718f3444eef6"
      unitRef="usd">892000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i570d6bcea8954afbb049e46f3e16dd84_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMS01LTEtMS01ODYzNg_13da515e-f1df-4b74-a270-e9e5b4b6d078"
      unitRef="usd">40005000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i668caf1d5b5c4e62ac8a680222df51ed_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl85LTctMS0xLTU3Nzg1_2cdf192e-a509-407d-af4b-d71c1ce8a574"
      unitRef="usd">66965000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i1fb6b48fda9a4bba800a33063c8b4903_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl85LTktMS0xLTU3Nzg1_ecced538-dd2f-4088-a85f-f4bdf1a9c1fb"
      unitRef="usd">1004000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i61f4618feae7441480b716ea43e1abb5_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl85LTExLTEtMS01Nzc4NQ_4da7db32-0e6a-45e0-835e-0e7951ce1f86"
      unitRef="usd">67969000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="i8bd957aad321460a92d3241579729366_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMC0xLTEtMS01Nzc1Ng_d7c53e07-3f56-4f2b-b228-abe4867051eb"
      unitRef="usd">-18556000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i79595cf7dcac453daf19b58e4e4402c4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMC0zLTEtMS01Nzc1Ng_db893fda-0410-41f6-b5b4-e4d67efaaa03"
      unitRef="usd">1085000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i570d6bcea8954afbb049e46f3e16dd84_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMC01LTEtMS01Nzc1Ng_b6467c93-6aca-44f6-bf7a-2a3da249e348"
      unitRef="usd">-17471000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i668caf1d5b5c4e62ac8a680222df51ed_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMC03LTEtMS01Nzc1Ng_e0b40c34-1081-448d-824e-ade5b61559df"
      unitRef="usd">-32050000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i1fb6b48fda9a4bba800a33063c8b4903_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMC05LTEtMS01Nzc1Ng_fda0359c-36d9-4c23-b6fd-2b309ff611af"
      unitRef="usd">1085000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i61f4618feae7441480b716ea43e1abb5_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMC0xMS0xLTEtNTc3NTY_81380093-182b-4427-84c7-db97714fd6ba"
      unitRef="usd">-30965000</us-gaap:OperatingIncomeLoss>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i8bd957aad321460a92d3241579729366_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMS0xLTEtMS01Nzc1Ng_dc1ed9eb-a9b1-4c6b-8eb0-a3ba661bae92"
      unitRef="usd">-18716000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i79595cf7dcac453daf19b58e4e4402c4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMS0zLTEtMS01Nzc1Ng_ef57ec06-22e1-4981-bcc6-03d2297194d5"
      unitRef="usd">1085000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i570d6bcea8954afbb049e46f3e16dd84_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMS01LTEtMS01Nzc1Ng_90673ddf-3cf6-4d98-9da4-862ca996b3db"
      unitRef="usd">-17631000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i668caf1d5b5c4e62ac8a680222df51ed_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMS03LTEtMS01Nzc1Ng_cae07c68-2899-4049-8028-602e703b0f9b"
      unitRef="usd">-33460000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i1fb6b48fda9a4bba800a33063c8b4903_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMS05LTEtMS01Nzc1Ng_812db06c-5f3b-4825-be3f-df143002a5b9"
      unitRef="usd">1085000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i61f4618feae7441480b716ea43e1abb5_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMS0xMS0xLTEtNTc3NTY_efc4ca57-547a-4a6e-8476-248360714253"
      unitRef="usd">-32375000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="i8bd957aad321460a92d3241579729366_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMi0xLTEtMS01Nzc1Ng_7d902c2f-b024-4dc3-af63-74fc683576a6"
      unitRef="usd">-18729000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i79595cf7dcac453daf19b58e4e4402c4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMi0zLTEtMS01Nzc1Ng_e532fc7c-cb54-4fda-bddc-ae3577104205"
      unitRef="usd">1085000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i570d6bcea8954afbb049e46f3e16dd84_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMi01LTEtMS01Nzc1Ng_e259c8e4-a34a-4c85-acb6-fffc4e42caa0"
      unitRef="usd">-17644000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i668caf1d5b5c4e62ac8a680222df51ed_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMi03LTEtMS01Nzc1Ng_ed5d2b4c-d157-4702-ad6b-0f758b504887"
      unitRef="usd">-33507000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i1fb6b48fda9a4bba800a33063c8b4903_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMi05LTEtMS01Nzc1Ng_2e735e53-236b-43c0-8d4a-24031acc91ec"
      unitRef="usd">1085000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i61f4618feae7441480b716ea43e1abb5_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMi0xMS0xLTEtNTc3NTY_064538d3-9061-4f83-acf5-0bd3a3c9ffdf"
      unitRef="usd">-32422000</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i8bd957aad321460a92d3241579729366_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMy0xLTEtMS01Nzc1Ng_170221b7-4029-42d5-afcf-3f42e7310dfb"
      unitRef="usd">-18729000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i79595cf7dcac453daf19b58e4e4402c4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMy0zLTEtMS01Nzc1Ng_5dad9666-04c1-4915-a249-9534c0094833"
      unitRef="usd">1085000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i570d6bcea8954afbb049e46f3e16dd84_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMy01LTEtMS01Nzc1Ng_748e1dee-9ca9-4657-9e34-fbbdc8d1928e"
      unitRef="usd">-17644000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i668caf1d5b5c4e62ac8a680222df51ed_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMy03LTEtMS01Nzc1Ng_c3eae17c-5afc-419a-9b0b-cb3231846f03"
      unitRef="usd">-33507000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i1fb6b48fda9a4bba800a33063c8b4903_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMy05LTEtMS01Nzc1Ng_f11e8f98-c5c1-4520-88ee-77ec090b199c"
      unitRef="usd">1085000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i61f4618feae7441480b716ea43e1abb5_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xMy0xMS0xLTEtNTc3NTY_1336d4e3-f66b-40b1-a29d-c67b41f66b94"
      unitRef="usd">-32422000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="i8bd957aad321460a92d3241579729366_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xNS0xLTEtMS01Nzc3Mg_9680478a-a774-4ead-891c-47164e67e3f6"
      unitRef="usdPerShare">-0.28</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i79595cf7dcac453daf19b58e4e4402c4_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xNS0zLTEtMS01Nzc3Mg_987d8ca5-ed57-4b03-9a90-0ffc89cc1960"
      unitRef="usdPerShare">0.02</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i570d6bcea8954afbb049e46f3e16dd84_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xNS01LTEtMS01Nzc3Mg_1ced27a2-0c75-42bc-9719-aa587c50a8ab"
      unitRef="usdPerShare">-0.26</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i668caf1d5b5c4e62ac8a680222df51ed_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xNS03LTEtMS01Nzc3Mg_1ba6c74e-efb8-4b5d-bfb5-6758c04c1be0"
      unitRef="usdPerShare">-0.51</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i1fb6b48fda9a4bba800a33063c8b4903_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xNS05LTEtMS01Nzc3Mg_253d9061-9d7e-483f-be02-9dc06ca01fc1"
      unitRef="usdPerShare">0.02</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i61f4618feae7441480b716ea43e1abb5_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xNS0xMS0xLTEtNTc3NzI_f36105be-ab64-4908-928f-af5d9ff6f718"
      unitRef="usdPerShare">-0.49</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i8bd957aad321460a92d3241579729366_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xNi0xLTEtMS01Nzc3Mg_472252a1-6881-44de-a6be-e91c1aee257c"
      unitRef="usdPerShare">-0.28</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i79595cf7dcac453daf19b58e4e4402c4_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xNi0zLTEtMS01Nzc3Mg_241677e8-9f8d-46df-89ed-d66ba3e2fee2"
      unitRef="usdPerShare">0.02</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i570d6bcea8954afbb049e46f3e16dd84_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xNi01LTEtMS01Nzc3Mg_433e3233-deda-4cea-84ac-bfea81ebc9df"
      unitRef="usdPerShare">-0.26</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i668caf1d5b5c4e62ac8a680222df51ed_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xNi03LTEtMS01Nzc3Mg_27c007e3-3305-49f7-81c5-ab5d807024b8"
      unitRef="usdPerShare">-0.51</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i1fb6b48fda9a4bba800a33063c8b4903_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xNi05LTEtMS01Nzc3Mg_025c2f98-01a3-4c14-a4b0-f17eda637737"
      unitRef="usdPerShare">0.02</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i61f4618feae7441480b716ea43e1abb5_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZmFhM2MzNGJhNTQwNGE3N2E2NzhhM2ZlMTM1NGM3M2YvdGFibGVyYW5nZTpmYWEzYzM0YmE1NDA0YTc3YTY3OGEzZmUxMzU0YzczZl8xNi0xMS0xLTEtNTc3NzI_2dc68c93-051f-4685-86fc-b3fa7783bc3b"
      unitRef="usdPerShare">-0.49</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ProfitLoss
      contextRef="i8bd957aad321460a92d3241579729366_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NWY2ZmU0NDQ1YWEyNGE2NWJlMDM2ZTExOGU5YjE0NzYvdGFibGVyYW5nZTo1ZjZmZTQ0NDVhYTI0YTY1YmUwMzZlMTE4ZTliMTQ3Nl8zLTEtMS0xLTU4OTAx_9821b3fd-d610-45c7-abfe-312323e3aa52"
      unitRef="usd">-18729000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i79595cf7dcac453daf19b58e4e4402c4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NWY2ZmU0NDQ1YWEyNGE2NWJlMDM2ZTExOGU5YjE0NzYvdGFibGVyYW5nZTo1ZjZmZTQ0NDVhYTI0YTY1YmUwMzZlMTE4ZTliMTQ3Nl8zLTMtMS0xLTU4OTAx_f83ac00b-5cb0-40d1-9a81-9cd30a5ea52f"
      unitRef="usd">1085000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i570d6bcea8954afbb049e46f3e16dd84_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NWY2ZmU0NDQ1YWEyNGE2NWJlMDM2ZTExOGU5YjE0NzYvdGFibGVyYW5nZTo1ZjZmZTQ0NDVhYTI0YTY1YmUwMzZlMTE4ZTliMTQ3Nl8zLTUtMS0xLTU4OTAx_31d1e33b-149a-421b-a301-1aa39a623492"
      unitRef="usd">-17644000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i668caf1d5b5c4e62ac8a680222df51ed_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NWY2ZmU0NDQ1YWEyNGE2NWJlMDM2ZTExOGU5YjE0NzYvdGFibGVyYW5nZTo1ZjZmZTQ0NDVhYTI0YTY1YmUwMzZlMTE4ZTliMTQ3Nl8zLTctMS0xLTU4OTI1_9e8e76fb-09fe-467f-8c61-c57f744097a1"
      unitRef="usd">-33507000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i1fb6b48fda9a4bba800a33063c8b4903_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NWY2ZmU0NDQ1YWEyNGE2NWJlMDM2ZTExOGU5YjE0NzYvdGFibGVyYW5nZTo1ZjZmZTQ0NDVhYTI0YTY1YmUwMzZlMTE4ZTliMTQ3Nl8zLTktMS0xLTU4OTI1_a38c178d-f79b-438c-ad47-d68dddc5b4ee"
      unitRef="usd">1085000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i61f4618feae7441480b716ea43e1abb5_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NWY2ZmU0NDQ1YWEyNGE2NWJlMDM2ZTExOGU5YjE0NzYvdGFibGVyYW5nZTo1ZjZmZTQ0NDVhYTI0YTY1YmUwMzZlMTE4ZTliMTQ3Nl8zLTExLTEtMS01ODkyNQ_93ec8e41-897c-4c6b-b404-3e114da221ca"
      unitRef="usd">-32422000</us-gaap:ProfitLoss>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i8bd957aad321460a92d3241579729366_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NWY2ZmU0NDQ1YWEyNGE2NWJlMDM2ZTExOGU5YjE0NzYvdGFibGVyYW5nZTo1ZjZmZTQ0NDVhYTI0YTY1YmUwMzZlMTE4ZTliMTQ3Nl80LTEtMS0xLTU4OTAx_343463f9-ecb1-4aab-b210-0a3726802750"
      unitRef="usd">-18724000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i79595cf7dcac453daf19b58e4e4402c4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NWY2ZmU0NDQ1YWEyNGE2NWJlMDM2ZTExOGU5YjE0NzYvdGFibGVyYW5nZTo1ZjZmZTQ0NDVhYTI0YTY1YmUwMzZlMTE4ZTliMTQ3Nl80LTMtMS0xLTU4OTAx_58f56563-b480-4b72-8e33-7f03e4576838"
      unitRef="usd">1085000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i570d6bcea8954afbb049e46f3e16dd84_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NWY2ZmU0NDQ1YWEyNGE2NWJlMDM2ZTExOGU5YjE0NzYvdGFibGVyYW5nZTo1ZjZmZTQ0NDVhYTI0YTY1YmUwMzZlMTE4ZTliMTQ3Nl80LTUtMS0xLTU4OTAx_c19313be-8f7d-4cb7-9440-247d02e69118"
      unitRef="usd">-17639000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i668caf1d5b5c4e62ac8a680222df51ed_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NWY2ZmU0NDQ1YWEyNGE2NWJlMDM2ZTExOGU5YjE0NzYvdGFibGVyYW5nZTo1ZjZmZTQ0NDVhYTI0YTY1YmUwMzZlMTE4ZTliMTQ3Nl80LTctMS0xLTU4OTMz_ea36b1ba-9db6-42ec-b862-e21dae71e6c1"
      unitRef="usd">-33534000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i1fb6b48fda9a4bba800a33063c8b4903_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NWY2ZmU0NDQ1YWEyNGE2NWJlMDM2ZTExOGU5YjE0NzYvdGFibGVyYW5nZTo1ZjZmZTQ0NDVhYTI0YTY1YmUwMzZlMTE4ZTliMTQ3Nl80LTktMS0xLTU4OTMz_edb4c71b-236d-416d-b812-afed28d0346a"
      unitRef="usd">1085000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i61f4618feae7441480b716ea43e1abb5_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NWY2ZmU0NDQ1YWEyNGE2NWJlMDM2ZTExOGU5YjE0NzYvdGFibGVyYW5nZTo1ZjZmZTQ0NDVhYTI0YTY1YmUwMzZlMTE4ZTliMTQ3Nl80LTExLTEtMS01ODkzMw_925431bb-348f-47ee-9f85-fcb42393143e"
      unitRef="usd">-32449000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ReceivablesNetCurrent
      contextRef="i521b473064274c2ca4823226ed535b48_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6OGEzNWVjYmY1OGE4NDM2NDg4ZmU3MTViYWY3Yjc2MjkvdGFibGVyYW5nZTo4YTM1ZWNiZjU4YTg0MzY0ODhmZTcxNWJhZjdiNzYyOV8xOS0xLTEtMS01Mzg0NQ_514f3aff-b701-4d59-bfb0-6baadb87c5ae"
      unitRef="usd">39412000</us-gaap:ReceivablesNetCurrent>
    <us-gaap:ReceivablesNetCurrent
      contextRef="i0cb0741bae0d4120b0ad5c2ae9bfa44d_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6OGEzNWVjYmY1OGE4NDM2NDg4ZmU3MTViYWY3Yjc2MjkvdGFibGVyYW5nZTo4YTM1ZWNiZjU4YTg0MzY0ODhmZTcxNWJhZjdiNzYyOV8xOS0zLTEtMS01Mzg0NQ_fccd5990-21c1-4f9d-aef1-dd3e4d7694de"
      unitRef="usd">1085000</us-gaap:ReceivablesNetCurrent>
    <us-gaap:ReceivablesNetCurrent
      contextRef="i9c85698703bb496e95190a094cc17293_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6OGEzNWVjYmY1OGE4NDM2NDg4ZmU3MTViYWY3Yjc2MjkvdGFibGVyYW5nZTo4YTM1ZWNiZjU4YTg0MzY0ODhmZTcxNWJhZjdiNzYyOV8xOS01LTEtMS01Mzg0NQ_8f1a7206-a92a-48a7-8a19-cbb8e817eaf9"
      unitRef="usd">40497000</us-gaap:ReceivablesNetCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i521b473064274c2ca4823226ed535b48_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6OGEzNWVjYmY1OGE4NDM2NDg4ZmU3MTViYWY3Yjc2MjkvdGFibGVyYW5nZTo4YTM1ZWNiZjU4YTg0MzY0ODhmZTcxNWJhZjdiNzYyOV8yMC0xLTEtMS01Mzg0NQ_2513e61a-30f4-495f-b863-60cebdfadceb"
      unitRef="usd">178403000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i0cb0741bae0d4120b0ad5c2ae9bfa44d_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6OGEzNWVjYmY1OGE4NDM2NDg4ZmU3MTViYWY3Yjc2MjkvdGFibGVyYW5nZTo4YTM1ZWNiZjU4YTg0MzY0ODhmZTcxNWJhZjdiNzYyOV8yMC0zLTEtMS01Mzg0NQ_b5f074c6-fd3d-4b02-b5af-4d98a3b1c11d"
      unitRef="usd">1085000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i9c85698703bb496e95190a094cc17293_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6OGEzNWVjYmY1OGE4NDM2NDg4ZmU3MTViYWY3Yjc2MjkvdGFibGVyYW5nZTo4YTM1ZWNiZjU4YTg0MzY0ODhmZTcxNWJhZjdiNzYyOV8yMC01LTEtMS01Mzg0NQ_4e59dd1d-3551-4b56-bda6-5064b79d0ac2"
      unitRef="usd">179488000</us-gaap:AssetsCurrent>
    <us-gaap:Assets
      contextRef="i521b473064274c2ca4823226ed535b48_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6OGEzNWVjYmY1OGE4NDM2NDg4ZmU3MTViYWY3Yjc2MjkvdGFibGVyYW5nZTo4YTM1ZWNiZjU4YTg0MzY0ODhmZTcxNWJhZjdiNzYyOV8yMS0xLTEtMS01Mzg0NQ_ae378bb1-47f4-4d07-bddf-809e64c5e4d8"
      unitRef="usd">220094000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i0cb0741bae0d4120b0ad5c2ae9bfa44d_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6OGEzNWVjYmY1OGE4NDM2NDg4ZmU3MTViYWY3Yjc2MjkvdGFibGVyYW5nZTo4YTM1ZWNiZjU4YTg0MzY0ODhmZTcxNWJhZjdiNzYyOV8yMS0zLTEtMS01Mzg0NQ_4baa8cad-69b9-4f79-8c35-a16869dfd416"
      unitRef="usd">1085000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i9c85698703bb496e95190a094cc17293_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6OGEzNWVjYmY1OGE4NDM2NDg4ZmU3MTViYWY3Yjc2MjkvdGFibGVyYW5nZTo4YTM1ZWNiZjU4YTg0MzY0ODhmZTcxNWJhZjdiNzYyOV8yMS01LTEtMS01Mzg0NQ_c7c8b110-5588-4258-9d49-8ecfceff3fe5"
      unitRef="usd">221179000</us-gaap:Assets>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i521b473064274c2ca4823226ed535b48_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6OGEzNWVjYmY1OGE4NDM2NDg4ZmU3MTViYWY3Yjc2MjkvdGFibGVyYW5nZTo4YTM1ZWNiZjU4YTg0MzY0ODhmZTcxNWJhZjdiNzYyOV8yMi0xLTEtMS01NDA0Mg_fa609912-bddb-4b51-94d5-65084e53915b"
      unitRef="usd">-177350000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i0cb0741bae0d4120b0ad5c2ae9bfa44d_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6OGEzNWVjYmY1OGE4NDM2NDg4ZmU3MTViYWY3Yjc2MjkvdGFibGVyYW5nZTo4YTM1ZWNiZjU4YTg0MzY0ODhmZTcxNWJhZjdiNzYyOV8yMi0zLTEtMS01NDA0Mg_e87ae2d2-3f7c-4020-af61-7bc6ef23ef10"
      unitRef="usd">1085000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i9c85698703bb496e95190a094cc17293_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6OGEzNWVjYmY1OGE4NDM2NDg4ZmU3MTViYWY3Yjc2MjkvdGFibGVyYW5nZTo4YTM1ZWNiZjU4YTg0MzY0ODhmZTcxNWJhZjdiNzYyOV8yMi01LTEtMS01NDA0Mg_23497c9f-9542-433c-b82b-722dbdaea7a2"
      unitRef="usd">-176265000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i521b473064274c2ca4823226ed535b48_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6OGEzNWVjYmY1OGE4NDM2NDg4ZmU3MTViYWY3Yjc2MjkvdGFibGVyYW5nZTo4YTM1ZWNiZjU4YTg0MzY0ODhmZTcxNWJhZjdiNzYyOV8yMi0xLTEtMS01Mzk3MQ_f2ff1f4b-58d1-4837-b336-c4ee68d4fea5"
      unitRef="usd">164700000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i0cb0741bae0d4120b0ad5c2ae9bfa44d_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6OGEzNWVjYmY1OGE4NDM2NDg4ZmU3MTViYWY3Yjc2MjkvdGFibGVyYW5nZTo4YTM1ZWNiZjU4YTg0MzY0ODhmZTcxNWJhZjdiNzYyOV8yMi0zLTEtMS01Mzk3MQ_b96fe0df-97b2-4f0b-a487-3e6bd9f735fd"
      unitRef="usd">1085000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i9c85698703bb496e95190a094cc17293_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6OGEzNWVjYmY1OGE4NDM2NDg4ZmU3MTViYWY3Yjc2MjkvdGFibGVyYW5nZTo4YTM1ZWNiZjU4YTg0MzY0ODhmZTcxNWJhZjdiNzYyOV8yMi01LTEtMS01Mzk3MQ_ac00c05f-45b4-4003-b0e5-223eeec21f9a"
      unitRef="usd">165785000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i521b473064274c2ca4823226ed535b48_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6OGEzNWVjYmY1OGE4NDM2NDg4ZmU3MTViYWY3Yjc2MjkvdGFibGVyYW5nZTo4YTM1ZWNiZjU4YTg0MzY0ODhmZTcxNWJhZjdiNzYyOV8yMy0xLTEtMS01Mzk3MQ_309ce789-def1-4c8a-8020-50c491fefe97"
      unitRef="usd">220094000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i0cb0741bae0d4120b0ad5c2ae9bfa44d_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6OGEzNWVjYmY1OGE4NDM2NDg4ZmU3MTViYWY3Yjc2MjkvdGFibGVyYW5nZTo4YTM1ZWNiZjU4YTg0MzY0ODhmZTcxNWJhZjdiNzYyOV8yMy0zLTEtMS01Mzk3MQ_9c6fb5f6-d6a5-4be3-b8bb-5031863584eb"
      unitRef="usd">1085000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i9c85698703bb496e95190a094cc17293_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6OGEzNWVjYmY1OGE4NDM2NDg4ZmU3MTViYWY3Yjc2MjkvdGFibGVyYW5nZTo4YTM1ZWNiZjU4YTg0MzY0ODhmZTcxNWJhZjdiNzYyOV8yMy01LTEtMS01Mzk3MQ_41aa9c37-3c46-42ed-bb09-a5455fe478bf"
      unitRef="usd">221179000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:ProfitLoss
      contextRef="i668caf1d5b5c4e62ac8a680222df51ed_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDVjOWJmMTMzY2ZiNDI3NTg5YTgyZGQ4NTgwZDU1NDcvdGFibGVyYW5nZTpkNWM5YmYxMzNjZmI0Mjc1ODlhODJkZDg1ODBkNTU0N18zLTEtMS0xLTU3Nzkx_faede161-0cb0-4f90-9740-21a6865373e1"
      unitRef="usd">-33507000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i1fb6b48fda9a4bba800a33063c8b4903_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDVjOWJmMTMzY2ZiNDI3NTg5YTgyZGQ4NTgwZDU1NDcvdGFibGVyYW5nZTpkNWM5YmYxMzNjZmI0Mjc1ODlhODJkZDg1ODBkNTU0N18zLTMtMS0xLTU3Nzkx_f5168bec-e0ea-4301-8d14-1ff257419307"
      unitRef="usd">1085000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i61f4618feae7441480b716ea43e1abb5_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDVjOWJmMTMzY2ZiNDI3NTg5YTgyZGQ4NTgwZDU1NDcvdGFibGVyYW5nZTpkNWM5YmYxMzNjZmI0Mjc1ODlhODJkZDg1ODBkNTU0N18zLTUtMS0xLTU3Nzkx_1bcc0597-09b1-40c5-b4ae-efe46d040a1a"
      unitRef="usd">-32422000</us-gaap:ProfitLoss>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="i668caf1d5b5c4e62ac8a680222df51ed_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDVjOWJmMTMzY2ZiNDI3NTg5YTgyZGQ4NTgwZDU1NDcvdGFibGVyYW5nZTpkNWM5YmYxMzNjZmI0Mjc1ODlhODJkZDg1ODBkNTU0N180LTEtMS0xLTU3Nzkx_6d51e7f0-2f46-48ae-b350-b34483a68ca6"
      unitRef="usd">10074000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="i1fb6b48fda9a4bba800a33063c8b4903_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDVjOWJmMTMzY2ZiNDI3NTg5YTgyZGQ4NTgwZDU1NDcvdGFibGVyYW5nZTpkNWM5YmYxMzNjZmI0Mjc1ODlhODJkZDg1ODBkNTU0N180LTMtMS0xLTU3Nzkx_46c3ea5f-fe07-4548-b86a-13e8cc8e2933"
      unitRef="usd">-1351000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="i61f4618feae7441480b716ea43e1abb5_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDVjOWJmMTMzY2ZiNDI3NTg5YTgyZGQ4NTgwZDU1NDcvdGFibGVyYW5nZTpkNWM5YmYxMzNjZmI0Mjc1ODlhODJkZDg1ODBkNTU0N180LTUtMS0xLTU3Nzkx_30c02c92-550f-48f8-b905-52bd07aaaee6"
      unitRef="usd">8723000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i668caf1d5b5c4e62ac8a680222df51ed_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDVjOWJmMTMzY2ZiNDI3NTg5YTgyZGQ4NTgwZDU1NDcvdGFibGVyYW5nZTpkNWM5YmYxMzNjZmI0Mjc1ODlhODJkZDg1ODBkNTU0N181LTEtMS0xLTU3Nzkx_88761def-3fe0-4e7a-99fe-9f9ca38e70c3"
      unitRef="usd">-5790000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i1fb6b48fda9a4bba800a33063c8b4903_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDVjOWJmMTMzY2ZiNDI3NTg5YTgyZGQ4NTgwZDU1NDcvdGFibGVyYW5nZTpkNWM5YmYxMzNjZmI0Mjc1ODlhODJkZDg1ODBkNTU0N181LTMtMS0xLTU3Nzkx_ed94846b-5099-4975-9aa5-d12316c6ee5e"
      unitRef="usd">2436000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i61f4618feae7441480b716ea43e1abb5_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDVjOWJmMTMzY2ZiNDI3NTg5YTgyZGQ4NTgwZDU1NDcvdGFibGVyYW5nZTpkNWM5YmYxMzNjZmI0Mjc1ODlhODJkZDg1ODBkNTU0N181LTUtMS0xLTU3Nzkx_1e1a4ce4-f57c-488a-83ee-80cb84db45a5"
      unitRef="usd">-3354000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="i668caf1d5b5c4e62ac8a680222df51ed_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDVjOWJmMTMzY2ZiNDI3NTg5YTgyZGQ4NTgwZDU1NDcvdGFibGVyYW5nZTpkNWM5YmYxMzNjZmI0Mjc1ODlhODJkZDg1ODBkNTU0N182LTEtMS0xLTU3Nzkx_063d2d2c-ebb1-4629-b173-cab078ec7011"
      unitRef="usd">0</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="i1fb6b48fda9a4bba800a33063c8b4903_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDVjOWJmMTMzY2ZiNDI3NTg5YTgyZGQ4NTgwZDU1NDcvdGFibGVyYW5nZTpkNWM5YmYxMzNjZmI0Mjc1ODlhODJkZDg1ODBkNTU0N182LTMtMS0xLTU3Nzkx_6e952c09-4e49-4d9a-8695-4d862f9fd5b6"
      unitRef="usd">2436000</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="i61f4618feae7441480b716ea43e1abb5_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDVjOWJmMTMzY2ZiNDI3NTg5YTgyZGQ4NTgwZDU1NDcvdGFibGVyYW5nZTpkNWM5YmYxMzNjZmI0Mjc1ODlhODJkZDg1ODBkNTU0N182LTUtMS0xLTU3Nzkx_859ebd61-72b9-4513-9986-df3a1fa145f2"
      unitRef="usd">2436000</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i668caf1d5b5c4e62ac8a680222df51ed_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDVjOWJmMTMzY2ZiNDI3NTg5YTgyZGQ4NTgwZDU1NDcvdGFibGVyYW5nZTpkNWM5YmYxMzNjZmI0Mjc1ODlhODJkZDg1ODBkNTU0N183LTEtMS0xLTU3Nzkx_15a4134a-8e32-47d4-9848-c183ee5bdd44"
      unitRef="usd">35474000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i1fb6b48fda9a4bba800a33063c8b4903_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDVjOWJmMTMzY2ZiNDI3NTg5YTgyZGQ4NTgwZDU1NDcvdGFibGVyYW5nZTpkNWM5YmYxMzNjZmI0Mjc1ODlhODJkZDg1ODBkNTU0N183LTMtMS0xLTU3Nzkx_24481983-df1c-4dad-b29b-145d8bcdc544"
      unitRef="usd">-2436000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i61f4618feae7441480b716ea43e1abb5_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDVjOWJmMTMzY2ZiNDI3NTg5YTgyZGQ4NTgwZDU1NDcvdGFibGVyYW5nZTpkNWM5YmYxMzNjZmI0Mjc1ODlhODJkZDg1ODBkNTU0N183LTUtMS0xLTU3Nzkx_fe404120-275e-4206-86f0-96b8021e5d77"
      unitRef="usd">33038000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:ProfitLoss
      contextRef="i8bd957aad321460a92d3241579729366_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzJiZjMzM2I2ZmJlNDVmNzgxMmI0NjM4ODI5ZDQxZjAvdGFibGVyYW5nZTo3MmJmMzMzYjZmYmU0NWY3ODEyYjQ2Mzg4MjlkNDFmMF8zLTEtMS0xLTU4OTY1_3acc8efe-9cdb-4194-96a2-0bbcb26447aa"
      unitRef="usd">-18729000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i79595cf7dcac453daf19b58e4e4402c4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzJiZjMzM2I2ZmJlNDVmNzgxMmI0NjM4ODI5ZDQxZjAvdGFibGVyYW5nZTo3MmJmMzMzYjZmYmU0NWY3ODEyYjQ2Mzg4MjlkNDFmMF8zLTMtMS0xLTU4OTY1_fcac40fd-c994-4e23-a849-c6dea747870a"
      unitRef="usd">1085000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i570d6bcea8954afbb049e46f3e16dd84_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzJiZjMzM2I2ZmJlNDVmNzgxMmI0NjM4ODI5ZDQxZjAvdGFibGVyYW5nZTo3MmJmMzMzYjZmYmU0NWY3ODEyYjQ2Mzg4MjlkNDFmMF8zLTUtMS0xLTU4OTY1_6bef177f-c784-4f70-885c-d7af01101465"
      unitRef="usd">-17644000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i668caf1d5b5c4e62ac8a680222df51ed_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzJiZjMzM2I2ZmJlNDVmNzgxMmI0NjM4ODI5ZDQxZjAvdGFibGVyYW5nZTo3MmJmMzMzYjZmYmU0NWY3ODEyYjQ2Mzg4MjlkNDFmMF8zLTctMS0xLTU4OTcx_b8e9e0b9-739f-49fb-a512-1ad6caf657ac"
      unitRef="usd">-33507000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i1fb6b48fda9a4bba800a33063c8b4903_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzJiZjMzM2I2ZmJlNDVmNzgxMmI0NjM4ODI5ZDQxZjAvdGFibGVyYW5nZTo3MmJmMzMzYjZmYmU0NWY3ODEyYjQ2Mzg4MjlkNDFmMF8zLTktMS0xLTU4OTcx_37550875-4785-4c13-95d8-84c88c862823"
      unitRef="usd">1085000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i61f4618feae7441480b716ea43e1abb5_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzJiZjMzM2I2ZmJlNDVmNzgxMmI0NjM4ODI5ZDQxZjAvdGFibGVyYW5nZTo3MmJmMzMzYjZmYmU0NWY3ODEyYjQ2Mzg4MjlkNDFmMF8zLTExLTEtMS01ODk3MQ_c05946b0-5831-45e8-b131-1d6671338776"
      unitRef="usd">-32422000</us-gaap:ProfitLoss>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i77360873e0654135a1659442e1fd6d0c_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzJiZjMzM2I2ZmJlNDVmNzgxMmI0NjM4ODI5ZDQxZjAvdGFibGVyYW5nZTo3MmJmMzMzYjZmYmU0NWY3ODEyYjQ2Mzg4MjlkNDFmMF80LTEtMS0xLTU4OTY1_c4ce57c4-5f04-4dcf-b631-218d4faffc67"
      unitRef="usd">-177350000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="idfd9cbb7eff9431db8c995f7d99bc0a7_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzJiZjMzM2I2ZmJlNDVmNzgxMmI0NjM4ODI5ZDQxZjAvdGFibGVyYW5nZTo3MmJmMzMzYjZmYmU0NWY3ODEyYjQ2Mzg4MjlkNDFmMF80LTMtMS0xLTU4OTY1_6251168a-f601-4464-b6cd-0fe9530797b1"
      unitRef="usd">1085000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ieb7ab9acfc014064b7aa5b5db347e2d1_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzJiZjMzM2I2ZmJlNDVmNzgxMmI0NjM4ODI5ZDQxZjAvdGFibGVyYW5nZTo3MmJmMzMzYjZmYmU0NWY3ODEyYjQ2Mzg4MjlkNDFmMF80LTUtMS0xLTU4OTY1_71311785-495b-47e2-b661-76f91bccc912"
      unitRef="usd">-176265000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i77360873e0654135a1659442e1fd6d0c_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzJiZjMzM2I2ZmJlNDVmNzgxMmI0NjM4ODI5ZDQxZjAvdGFibGVyYW5nZTo3MmJmMzMzYjZmYmU0NWY3ODEyYjQ2Mzg4MjlkNDFmMF80LTctMS0xLTU4OTcx_0cdf8940-8722-4055-99b1-6b10a48eada6"
      unitRef="usd">-177350000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="idfd9cbb7eff9431db8c995f7d99bc0a7_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzJiZjMzM2I2ZmJlNDVmNzgxMmI0NjM4ODI5ZDQxZjAvdGFibGVyYW5nZTo3MmJmMzMzYjZmYmU0NWY3ODEyYjQ2Mzg4MjlkNDFmMF80LTktMS0xLTU4OTcx_0e8006a1-5ac1-46e1-a7ef-d5b954f32b1f"
      unitRef="usd">1085000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ieb7ab9acfc014064b7aa5b5db347e2d1_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzJiZjMzM2I2ZmJlNDVmNzgxMmI0NjM4ODI5ZDQxZjAvdGFibGVyYW5nZTo3MmJmMzMzYjZmYmU0NWY3ODEyYjQ2Mzg4MjlkNDFmMF80LTExLTEtMS01ODk3MQ_214a0a08-9ae9-458a-87d1-c9ea97c1f025"
      unitRef="usd">-176265000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i521b473064274c2ca4823226ed535b48_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzJiZjMzM2I2ZmJlNDVmNzgxMmI0NjM4ODI5ZDQxZjAvdGFibGVyYW5nZTo3MmJmMzMzYjZmYmU0NWY3ODEyYjQ2Mzg4MjlkNDFmMF81LTEtMS0xLTU4OTY1_236687a0-8e29-454a-8e3d-37f64ddedb07"
      unitRef="usd">164700000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i0cb0741bae0d4120b0ad5c2ae9bfa44d_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzJiZjMzM2I2ZmJlNDVmNzgxMmI0NjM4ODI5ZDQxZjAvdGFibGVyYW5nZTo3MmJmMzMzYjZmYmU0NWY3ODEyYjQ2Mzg4MjlkNDFmMF81LTMtMS0xLTU4OTY1_4f4c5cda-9b0c-4d60-9818-9c189add49d2"
      unitRef="usd">1085000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i9c85698703bb496e95190a094cc17293_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzJiZjMzM2I2ZmJlNDVmNzgxMmI0NjM4ODI5ZDQxZjAvdGFibGVyYW5nZTo3MmJmMzMzYjZmYmU0NWY3ODEyYjQ2Mzg4MjlkNDFmMF81LTUtMS0xLTU4OTY1_49e16da7-9e38-4a08-b1b6-6e26e642f6db"
      unitRef="usd">165785000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i521b473064274c2ca4823226ed535b48_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzJiZjMzM2I2ZmJlNDVmNzgxMmI0NjM4ODI5ZDQxZjAvdGFibGVyYW5nZTo3MmJmMzMzYjZmYmU0NWY3ODEyYjQ2Mzg4MjlkNDFmMF81LTctMS0xLTU4OTcx_440f4de6-9c7a-4b9a-b568-ceb660412e8d"
      unitRef="usd">164700000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i0cb0741bae0d4120b0ad5c2ae9bfa44d_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzJiZjMzM2I2ZmJlNDVmNzgxMmI0NjM4ODI5ZDQxZjAvdGFibGVyYW5nZTo3MmJmMzMzYjZmYmU0NWY3ODEyYjQ2Mzg4MjlkNDFmMF81LTktMS0xLTU4OTcx_041b3f1a-57ad-4dbd-aeb0-0e94a5e12f95"
      unitRef="usd">1085000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i9c85698703bb496e95190a094cc17293_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzJiZjMzM2I2ZmJlNDVmNzgxMmI0NjM4ODI5ZDQxZjAvdGFibGVyYW5nZTo3MmJmMzMzYjZmYmU0NWY3ODEyYjQ2Mzg4MjlkNDFmMF81LTExLTEtMS01ODk3MQ_fbe34230-9d6d-4b03-af1d-ad03cfda1e99"
      unitRef="usd">165785000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia3d354e637db4bddb59d8d2d8876677e_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8zLTEtMS0xLTU3Nzk3_70cb737a-0a55-4c1c-abd1-063f312b5292"
      unitRef="usd">63690000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie1963287809e471fa4802860ddaed9fc_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8zLTMtMS0xLTU3Nzk3_aad13d7e-e28b-4c32-9241-034be526256c"
      unitRef="usd">-735000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7682a676fea6460fae17d4663bb3fa58_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8zLTUtMS0xLTU3Nzk3_3d21cd5a-78fa-41a7-94f2-9db174ad4b62"
      unitRef="usd">62955000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ida6af5efad4d4c47a28ef0d2e11614ba_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8zLTctMS0xLTU3Nzk3_c2042c4e-241a-450a-88a7-c125d221898c"
      unitRef="usd">163366000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5be0e440de2d4795bc48b82119e8968c_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8zLTktMS0xLTU3Nzk3_2f1a2f52-194c-4a58-be96-6497a9cdf95e"
      unitRef="usd">650000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i49a6c3a4f2c94b38a0ccfdca41018570_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8zLTExLTEtMS01Nzc5Nw_89077ed3-8afb-468d-84bc-41a1a3bf534f"
      unitRef="usd">164016000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if08d31a214c949ef917fd05165eb7368_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV80LTEtMS0xLTU3Nzk3_cf491f3e-1877-4df9-81e7-4facfc3588fd"
      unitRef="usd">6376000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ica6d0771fe624e30b1b09154222855fb_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV80LTMtMS0xLTU3Nzk3_6aa432bd-ceb7-413f-88d8-30694bda9248"
      unitRef="usd">-350000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5c36881d4f6d411b9a3e09b3f6275d6e_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV80LTUtMS0xLTU3Nzk3_f5231df7-77d0-4c05-8abe-58a9afd83750"
      unitRef="usd">6026000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6682f9293c8a4aea9a51db72c3e99efd_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV80LTctMS0xLTU3Nzk3_011c07b9-276d-47c3-8d08-4b5770c61c4a"
      unitRef="usd">15017000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if80be96690214c03820043dd9ab53bd8_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV80LTktMS0xLTU3Nzk3_ffe2df96-7aa9-4e23-9911-5d8f748dcf16"
      unitRef="usd">-650000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i757703e093e549bb99915a2b8a77e454_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV80LTExLTEtMS01Nzc5Nw_90396242-9992-481f-87e8-801a1f03b295"
      unitRef="usd">14367000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5dacda95aee4404285ddaefe6e3ba772_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV81LTEtMS0xLTU3Nzk3_637cf8e7-dece-4053-a2ce-0281ccf8ab7c"
      unitRef="usd">70066000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0f81f81921144c6b9fb4d1d84aedd453_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV81LTMtMS0xLTU3Nzk3_e3acbbd8-9811-4e80-bcff-0d8eba2f2c48"
      unitRef="usd">-1085000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i24c2a9035bf34afda47a9de7bad19708_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV81LTUtMS0xLTU3Nzk3_c08c9ae8-2bff-4dfe-948a-02fce2ed5057"
      unitRef="usd">68981000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3220b9a89e8f4a7aae1ebd8b60c36ae5_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV81LTctMS0xLTU3Nzk3_3e489717-55be-42d3-b5ed-8fa69ec8e3db"
      unitRef="usd">178383000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if19f28db3eb14f72ae17f43fa3728b03_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV81LTktMS0xLTU3Nzk3_1cbac462-4db5-4687-a441-f227599193c1"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icfc9ed27de6a452c8af5d72c4b35d5a7_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV81LTExLTEtMS01Nzc5Nw_cab40bf3-1c4d-4510-8c0b-b35a68949ee7"
      unitRef="usd">178383000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ia3d354e637db4bddb59d8d2d8876677e_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV82LTEtMS0xLTU3ODA1_c435851d-ec88-4be2-81ed-8c6e1cfb4261"
      unitRef="usd">40031000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ie1963287809e471fa4802860ddaed9fc_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV82LTMtMS0xLTU3ODA1_b7275cd4-42a2-4654-a35e-5c6247669cfb"
      unitRef="usd">106000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i7682a676fea6460fae17d4663bb3fa58_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV82LTUtMS0xLTU3ODA1_5237977c-5f75-43ce-a4ef-77e082671f68"
      unitRef="usd">40137000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ida6af5efad4d4c47a28ef0d2e11614ba_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV82LTctMS0xLTU3ODA1_e72e020c-1df8-49cb-af94-6402cd599b88"
      unitRef="usd">109134000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i5be0e440de2d4795bc48b82119e8968c_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV82LTktMS0xLTU3ODA1_4da57971-a6e6-4d5e-a38e-dc8e703d0d79"
      unitRef="usd">-898000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i49a6c3a4f2c94b38a0ccfdca41018570_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV82LTExLTEtMS01NzgwNQ_8e16add5-c20a-4b13-b0f0-bd5d7ad40356"
      unitRef="usd">108236000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i33c277cd416247bfb170dc5ac3d64cc9_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV83LTEtMS0xLTU3ODA1_51acee20-c1dd-44b8-babc-24fb4dc231e4"
      unitRef="usd">43998000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i5539b8065dab403ea0bf02d67f640ac9_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV83LTMtMS0xLTU3ODA1_e5cf1860-13e3-4ade-b1ec-b0c226f0e7bc"
      unitRef="usd">106000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i005946d4be9846268f5e5e8ba58ae2db_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV83LTUtMS0xLTU3ODA1_2cb9a660-3699-43e7-88b2-3b3a02ab8fb8"
      unitRef="usd">44104000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i4dff69dce2c44b649533f01416c385bc_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV83LTctMS0xLTU3ODA1_a895b985-42a5-4508-a128-ae5f0fb3fa3a"
      unitRef="usd">117400000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ifc38c3761c73419c8373328aa4f1ba03_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV83LTktMS0xLTU3ODA1_0f9fff7c-3544-4f6c-a2ed-83046b334b6a"
      unitRef="usd">-898000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i6db3c47f90334a869ad8548f21ce79f7_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV83LTExLTEtMS01NzgwNQ_c0d73c65-4e63-433b-979d-0c8a31b3b2d3"
      unitRef="usd">116502000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i5dacda95aee4404285ddaefe6e3ba772_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV84LTEtMS0xLTU3ODEy_ed069866-0abf-449f-940c-56601ff2fb27"
      unitRef="usd">5396000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i0f81f81921144c6b9fb4d1d84aedd453_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV84LTMtMS0xLTU3ODEy_0040d318-5617-4003-b86d-a945413710db"
      unitRef="usd">-533000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i24c2a9035bf34afda47a9de7bad19708_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV84LTUtMS0xLTU3ODEy_3ecc758e-d884-446e-b9a3-290a9313b2a4"
      unitRef="usd">4863000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i3220b9a89e8f4a7aae1ebd8b60c36ae5_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV84LTctMS0xLTU3ODEy_7bfda7dd-8e33-4819-8b0a-057bdb8b4fed"
      unitRef="usd">14783000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="if19f28db3eb14f72ae17f43fa3728b03_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV84LTktMS0xLTU3ODEy_ca3f3f5e-78f0-4501-aded-c86fd353e4ca"
      unitRef="usd">-533000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="icfc9ed27de6a452c8af5d72c4b35d5a7_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV84LTExLTEtMS01NzgxMg_e05c38ea-5353-4024-aeb3-b2e49b237b97"
      unitRef="usd">14250000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i5dacda95aee4404285ddaefe6e3ba772_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV85LTEtMS0xLTU3ODEy_7b3aef17-ba8c-48d9-ad9b-07058aace547"
      unitRef="usd">20562000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i0f81f81921144c6b9fb4d1d84aedd453_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV85LTMtMS0xLTU3ODEy_bf2937bf-4e92-41a9-b913-6ea4f0a19d32"
      unitRef="usd">-823000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i24c2a9035bf34afda47a9de7bad19708_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV85LTUtMS0xLTU3ODEy_0b725925-cc1b-4eb5-8070-da68ea6c76a5"
      unitRef="usd">19739000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i3220b9a89e8f4a7aae1ebd8b60c36ae5_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV85LTctMS0xLTU3ODEy_7253442c-7ab3-48c6-a39b-940ac6095b07"
      unitRef="usd">69271000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="if19f28db3eb14f72ae17f43fa3728b03_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV85LTktMS0xLTU3ODEy_66c7351d-5d03-4a21-a563-d8078e24e82f"
      unitRef="usd">181000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="icfc9ed27de6a452c8af5d72c4b35d5a7_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV85LTExLTEtMS01NzgxMg_b5ac6cce-e567-4d6b-9474-de4ea3b966a8"
      unitRef="usd">69452000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i5dacda95aee4404285ddaefe6e3ba772_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xMC0xLTEtMS01NzgxMg_8c122a86-15c0-4d71-9a35-9c3586621c5e"
      unitRef="usd">31321000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i0f81f81921144c6b9fb4d1d84aedd453_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xMC0zLTEtMS01NzgxMg_7bfe2bbb-b94b-4c2a-b8fb-cfc0ad44bd60"
      unitRef="usd">-1356000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i24c2a9035bf34afda47a9de7bad19708_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xMC01LTEtMS01NzgxMg_6182298a-3f72-49c8-9bf2-5488bc60b1f0"
      unitRef="usd">29965000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i3220b9a89e8f4a7aae1ebd8b60c36ae5_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xMC03LTEtMS01NzgxMg_2b8cbe5d-dc74-4e4f-ab9b-d7213e89ce30"
      unitRef="usd">98287000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="if19f28db3eb14f72ae17f43fa3728b03_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xMC05LTEtMS01NzgxMg_4eb7eb34-38c2-4621-b2ba-2d94d985e46e"
      unitRef="usd">-352000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="icfc9ed27de6a452c8af5d72c4b35d5a7_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xMC0xMS0xLTEtNTc4MTI_abd7466a-b69e-41e2-b451-c6432961af4f"
      unitRef="usd">97935000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="i5dacda95aee4404285ddaefe6e3ba772_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xMS0xLTEtMS01NzgxOA_f32db153-2f7f-4e40-ac36-5245daedcd06"
      unitRef="usd">-5253000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i0f81f81921144c6b9fb4d1d84aedd453_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xMS0zLTEtMS01NzgxOA_75d279c6-c5cd-4887-9bf3-940016646f0d"
      unitRef="usd">165000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i24c2a9035bf34afda47a9de7bad19708_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xMS01LTEtMS01NzgxOA_4850d0fb-4474-4086-b649-0451022215d5"
      unitRef="usd">-5088000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i3220b9a89e8f4a7aae1ebd8b60c36ae5_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xMS03LTEtMS01NzgxOA_d5e89c0e-a096-4c61-a30d-4edeb631b9fc"
      unitRef="usd">-37304000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="if19f28db3eb14f72ae17f43fa3728b03_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xMS05LTEtMS01NzgxOA_0f963eea-3058-417a-a9e2-16bc915f393a"
      unitRef="usd">1250000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="icfc9ed27de6a452c8af5d72c4b35d5a7_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xMS0xMS0xLTEtNTc4MTg_cc3fa99a-a684-463f-bb33-378dfd116c12"
      unitRef="usd">-36054000</us-gaap:OperatingIncomeLoss>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i5dacda95aee4404285ddaefe6e3ba772_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xMi0xLTEtMS01NzgxOA_22058478-2381-4275-ba3c-00ba769e1ef8"
      unitRef="usd">-5428000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i0f81f81921144c6b9fb4d1d84aedd453_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xMi0zLTEtMS01NzgxOA_933391fe-cc17-424c-9525-a1aeab411360"
      unitRef="usd">165000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i24c2a9035bf34afda47a9de7bad19708_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xMi01LTEtMS01NzgxOA_ab48a914-752b-42e2-b4b2-17777ca02562"
      unitRef="usd">-5263000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i3220b9a89e8f4a7aae1ebd8b60c36ae5_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xMi03LTEtMS01NzgxOA_728c9b71-cc27-42a3-a1a8-98e52554b89a"
      unitRef="usd">-38888000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="if19f28db3eb14f72ae17f43fa3728b03_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xMi05LTEtMS01NzgxOA_628faa7d-c35a-4fca-869f-bfe1884de64d"
      unitRef="usd">1250000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="icfc9ed27de6a452c8af5d72c4b35d5a7_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xMi0xMS0xLTEtNTc4MTg_bdce92cc-f3c4-4776-b8c8-583bbf9b5f02"
      unitRef="usd">-37638000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="i5dacda95aee4404285ddaefe6e3ba772_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xMy0xLTEtMS01NzgxOA_5e083692-4a86-4971-b8d7-ae193790d1ae"
      unitRef="usd">-5387000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i0f81f81921144c6b9fb4d1d84aedd453_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xMy0zLTEtMS01NzgxOA_52a77624-7f6e-456d-9004-2cc7235ea4ad"
      unitRef="usd">165000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i24c2a9035bf34afda47a9de7bad19708_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xMy01LTEtMS01NzgxOA_215015b7-1265-4b15-bf73-240116695647"
      unitRef="usd">-5222000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i3220b9a89e8f4a7aae1ebd8b60c36ae5_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xMy03LTEtMS01NzgxOA_db8828b3-56e0-4864-91a9-309c76e059b4"
      unitRef="usd">-38894000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="if19f28db3eb14f72ae17f43fa3728b03_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xMy05LTEtMS01NzgxOA_a4f46819-524b-40b0-af50-9f26c859a005"
      unitRef="usd">1250000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="icfc9ed27de6a452c8af5d72c4b35d5a7_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xMy0xMS0xLTEtNTc4MTg_2bda732e-7950-490c-ab1a-2b50312de05f"
      unitRef="usd">-37644000</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i5dacda95aee4404285ddaefe6e3ba772_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xNC0xLTEtMS01NzgxOA_3f913c54-0294-49ca-af7e-cb274484d04b"
      unitRef="usd">-5387000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i0f81f81921144c6b9fb4d1d84aedd453_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xNC0zLTEtMS01NzgxOA_7fb43832-7cc6-4d92-b4f7-a005d4ddb753"
      unitRef="usd">165000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i24c2a9035bf34afda47a9de7bad19708_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xNC01LTEtMS01NzgxOA_6558490f-fdb6-44e1-8c13-894b9d0db56e"
      unitRef="usd">-5222000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i3220b9a89e8f4a7aae1ebd8b60c36ae5_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xNC03LTEtMS01NzgxOA_28795480-4a31-4239-9c3b-ee97091304b4"
      unitRef="usd">-38894000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="if19f28db3eb14f72ae17f43fa3728b03_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xNC05LTEtMS01NzgxOA_d1a7a185-edf7-47f2-9249-ad3534ab8e88"
      unitRef="usd">1250000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="icfc9ed27de6a452c8af5d72c4b35d5a7_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xNC0xMS0xLTEtNTc4MTg_e5316244-8174-4a03-bb5a-3e82c3dac714"
      unitRef="usd">-37644000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="i5dacda95aee4404285ddaefe6e3ba772_D20210701-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xNi0xLTEtMS01NzgyNA_0e37b591-4203-48ef-8d52-0e359483af5d"
      unitRef="usdPerShare">-0.08</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i0f81f81921144c6b9fb4d1d84aedd453_D20210701-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xNi0zLTEtMS01NzgyNA_f41aa09f-c49c-4f1e-851d-6d92d4f6ac14"
      unitRef="usdPerShare">0</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i24c2a9035bf34afda47a9de7bad19708_D20210701-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xNi01LTEtMS01NzgyNA_1fffedc5-d19f-47ee-9603-88420752361c"
      unitRef="usdPerShare">-0.08</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i3220b9a89e8f4a7aae1ebd8b60c36ae5_D20210101-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xNi03LTEtMS01NzgyNA_7469816b-7904-4cf5-bd9a-16c29a888292"
      unitRef="usdPerShare">-0.59</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="if19f28db3eb14f72ae17f43fa3728b03_D20210101-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xNi05LTEtMS01NzgyNA_f5cda334-5c41-494d-b68c-8ce38e856e79"
      unitRef="usdPerShare">0.02</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="icfc9ed27de6a452c8af5d72c4b35d5a7_D20210101-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xNi0xMS0xLTEtNTc4MjQ_ccd26a2a-c215-4485-95a7-104da736e2a6"
      unitRef="usdPerShare">-0.57</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i5dacda95aee4404285ddaefe6e3ba772_D20210701-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xNy0xLTEtMS01NzgyNA_4a7985b0-6590-488c-b81b-151932acc139"
      unitRef="usdPerShare">-0.08</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i0f81f81921144c6b9fb4d1d84aedd453_D20210701-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xNy0zLTEtMS01NzgyNA_a73c37c5-d599-4d7b-b1b6-6382cc8f931c"
      unitRef="usdPerShare">0</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i24c2a9035bf34afda47a9de7bad19708_D20210701-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xNy01LTEtMS01NzgyNA_0cdd2fb1-bdd6-48b9-b293-3ce527a1af87"
      unitRef="usdPerShare">-0.08</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i3220b9a89e8f4a7aae1ebd8b60c36ae5_D20210101-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xNy03LTEtMS01NzgyNA_32042e28-6087-4d7c-bd4b-d5c15525c83e"
      unitRef="usdPerShare">-0.59</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="if19f28db3eb14f72ae17f43fa3728b03_D20210101-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xNy05LTEtMS01NzgyNA_bcdb5cdf-71ca-4459-ba8c-bf740209c63f"
      unitRef="usdPerShare">0.02</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="icfc9ed27de6a452c8af5d72c4b35d5a7_D20210101-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YWNmZTM1NWM4MzRlNDkzMWJlZDM4ZmNhMDgxZDFmYTUvdGFibGVyYW5nZTphY2ZlMzU1YzgzNGU0OTMxYmVkMzhmY2EwODFkMWZhNV8xNy0xMS0xLTEtNTc4MjQ_770dc179-8b9c-41cf-97aa-13700b25c413"
      unitRef="usdPerShare">-0.57</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ProfitLoss
      contextRef="i5dacda95aee4404285ddaefe6e3ba772_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6M2ZhZGRiNjQ2MTM4NGRlZmExN2M0ZDkyOWMzNjYzNWEvdGFibGVyYW5nZTozZmFkZGI2NDYxMzg0ZGVmYTE3YzRkOTI5YzM2NjM1YV8zLTEtMS0xLTU5MDYx_64d42e6c-6ce1-43b1-8b60-41cca62d0eee"
      unitRef="usd">-5387000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i0f81f81921144c6b9fb4d1d84aedd453_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6M2ZhZGRiNjQ2MTM4NGRlZmExN2M0ZDkyOWMzNjYzNWEvdGFibGVyYW5nZTozZmFkZGI2NDYxMzg0ZGVmYTE3YzRkOTI5YzM2NjM1YV8zLTMtMS0xLTU5MDYx_be45bd11-5c7d-4bb5-b6ab-e406d444764d"
      unitRef="usd">165000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i24c2a9035bf34afda47a9de7bad19708_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6M2ZhZGRiNjQ2MTM4NGRlZmExN2M0ZDkyOWMzNjYzNWEvdGFibGVyYW5nZTozZmFkZGI2NDYxMzg0ZGVmYTE3YzRkOTI5YzM2NjM1YV8zLTUtMS0xLTU5MDYx_2e391093-a6a0-4a82-962d-9826aa605e85"
      unitRef="usd">-5222000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i3220b9a89e8f4a7aae1ebd8b60c36ae5_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6M2ZhZGRiNjQ2MTM4NGRlZmExN2M0ZDkyOWMzNjYzNWEvdGFibGVyYW5nZTozZmFkZGI2NDYxMzg0ZGVmYTE3YzRkOTI5YzM2NjM1YV8zLTctMS0xLTU5MDYx_e7c43252-168b-4773-a2c2-799a78d76e41"
      unitRef="usd">-38894000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="if19f28db3eb14f72ae17f43fa3728b03_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6M2ZhZGRiNjQ2MTM4NGRlZmExN2M0ZDkyOWMzNjYzNWEvdGFibGVyYW5nZTozZmFkZGI2NDYxMzg0ZGVmYTE3YzRkOTI5YzM2NjM1YV8zLTktMS0xLTU5MDYx_ab4300df-366e-459e-8829-9422dedb8352"
      unitRef="usd">1250000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="icfc9ed27de6a452c8af5d72c4b35d5a7_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6M2ZhZGRiNjQ2MTM4NGRlZmExN2M0ZDkyOWMzNjYzNWEvdGFibGVyYW5nZTozZmFkZGI2NDYxMzg0ZGVmYTE3YzRkOTI5YzM2NjM1YV8zLTExLTEtMS01OTA2MQ_185b5b05-299b-410a-9415-37b9f8327aaf"
      unitRef="usd">-37644000</us-gaap:ProfitLoss>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i5dacda95aee4404285ddaefe6e3ba772_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6M2ZhZGRiNjQ2MTM4NGRlZmExN2M0ZDkyOWMzNjYzNWEvdGFibGVyYW5nZTozZmFkZGI2NDYxMzg0ZGVmYTE3YzRkOTI5YzM2NjM1YV80LTEtMS0xLTU5MDYx_2979d1b7-7db1-498a-9b1e-c35dbc4aff76"
      unitRef="usd">-5400000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i0f81f81921144c6b9fb4d1d84aedd453_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6M2ZhZGRiNjQ2MTM4NGRlZmExN2M0ZDkyOWMzNjYzNWEvdGFibGVyYW5nZTozZmFkZGI2NDYxMzg0ZGVmYTE3YzRkOTI5YzM2NjM1YV80LTMtMS0xLTU5MDYx_07f3efa2-574e-4f7b-bb90-8a256c2a065d"
      unitRef="usd">165000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i24c2a9035bf34afda47a9de7bad19708_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6M2ZhZGRiNjQ2MTM4NGRlZmExN2M0ZDkyOWMzNjYzNWEvdGFibGVyYW5nZTozZmFkZGI2NDYxMzg0ZGVmYTE3YzRkOTI5YzM2NjM1YV80LTUtMS0xLTU5MDYx_50881d85-838b-4f3d-bd4f-8136df58e9f9"
      unitRef="usd">-5235000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i3220b9a89e8f4a7aae1ebd8b60c36ae5_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6M2ZhZGRiNjQ2MTM4NGRlZmExN2M0ZDkyOWMzNjYzNWEvdGFibGVyYW5nZTozZmFkZGI2NDYxMzg0ZGVmYTE3YzRkOTI5YzM2NjM1YV80LTctMS0xLTU5MDYx_9928e025-ff50-4005-8192-a0086fad53fd"
      unitRef="usd">-38934000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="if19f28db3eb14f72ae17f43fa3728b03_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6M2ZhZGRiNjQ2MTM4NGRlZmExN2M0ZDkyOWMzNjYzNWEvdGFibGVyYW5nZTozZmFkZGI2NDYxMzg0ZGVmYTE3YzRkOTI5YzM2NjM1YV80LTktMS0xLTU5MDYx_7515be6f-ca33-4139-a992-6db66346648f"
      unitRef="usd">1250000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="icfc9ed27de6a452c8af5d72c4b35d5a7_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6M2ZhZGRiNjQ2MTM4NGRlZmExN2M0ZDkyOWMzNjYzNWEvdGFibGVyYW5nZTozZmFkZGI2NDYxMzg0ZGVmYTE3YzRkOTI5YzM2NjM1YV80LTExLTEtMS01OTA2MQ_b3e0e8b4-a8c2-4931-b1f6-fb2d1cc9da19"
      unitRef="usd">-37684000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ReceivablesNetCurrent
      contextRef="i7310cad132bd4bfa8764a0ba66eda249_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yMC0xLTEtMS01Mzk4MA_6c69bf00-8c23-4374-8d1a-291cacdfc3ec"
      unitRef="usd">49759000</us-gaap:ReceivablesNetCurrent>
    <us-gaap:ReceivablesNetCurrent
      contextRef="i083684fe7d1d40aebd1b9ea177a8bb44_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yMC0zLTEtMS01Mzk4MA_30ebe210-52d7-4ac9-9920-1bb04c88c79b"
      unitRef="usd">-1085000</us-gaap:ReceivablesNetCurrent>
    <us-gaap:ReceivablesNetCurrent
      contextRef="i55f5c0e00d96464abb76c190feb6f362_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yMC01LTEtMS01Mzk4MA_6367fe62-9568-47fc-aeaa-74133a36b861"
      unitRef="usd">48674000</us-gaap:ReceivablesNetCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i7310cad132bd4bfa8764a0ba66eda249_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yMS0xLTEtMS01Mzk4MA_ac0f8ddd-0e04-4831-99f7-e64f58f26646"
      unitRef="usd">192300000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i083684fe7d1d40aebd1b9ea177a8bb44_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yMS0zLTEtMS01Mzk4MA_1cc46599-b048-4b0e-8c1d-21c4c86e08c3"
      unitRef="usd">-1085000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i55f5c0e00d96464abb76c190feb6f362_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yMS01LTEtMS01Mzk4MA_e04b5ba8-bbac-4bea-bdf9-7505bf0a0b38"
      unitRef="usd">191215000</us-gaap:AssetsCurrent>
    <us-gaap:Goodwill
      contextRef="i7310cad132bd4bfa8764a0ba66eda249_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yMi0xLTEtMS01Mzk4MA_01479067-cf7d-451e-adfe-99ec07ba199f"
      unitRef="usd">16642000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i083684fe7d1d40aebd1b9ea177a8bb44_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yMi0zLTEtMS01Mzk4MA_63869914-9717-4d45-9d8c-775270b48544"
      unitRef="usd">1280000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i55f5c0e00d96464abb76c190feb6f362_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yMi01LTEtMS01Mzk4MA_062db926-b673-40e6-8427-1ed9e38797e2"
      unitRef="usd">17922000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i7310cad132bd4bfa8764a0ba66eda249_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yMy0xLTEtMS01Mzk4MA_a8977207-288c-4b96-948e-d34aa114a494"
      unitRef="usd">17102000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i083684fe7d1d40aebd1b9ea177a8bb44_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yMy0zLTEtMS01Mzk4MA_28b3ec3a-2296-4ca0-8f65-afbaab769582"
      unitRef="usd">-747000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i55f5c0e00d96464abb76c190feb6f362_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yMy01LTEtMS01Mzk4MA_be51443b-153b-41a4-b747-c38120639a0b"
      unitRef="usd">16355000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:Assets
      contextRef="i7310cad132bd4bfa8764a0ba66eda249_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yNC0xLTEtMS01Mzk4MA_52452eae-ebd6-4bef-bd91-9618ec5544f6"
      unitRef="usd">242667000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i083684fe7d1d40aebd1b9ea177a8bb44_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yNC0zLTEtMS01Mzk4MA_73d7e9ad-d225-4367-8282-c827893c63d6"
      unitRef="usd">-552000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i55f5c0e00d96464abb76c190feb6f362_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yNC01LTEtMS01Mzk4MA_65edb795-6cc4-4bf1-916c-272651cedfc3"
      unitRef="usd">242115000</us-gaap:Assets>
    <us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent
      contextRef="i7310cad132bd4bfa8764a0ba66eda249_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yNS0xLTEtMS01Mzk4MA_9261d812-ff9d-4809-8715-d2e78b8bb13a"
      unitRef="usd">35102000</us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent
      contextRef="i083684fe7d1d40aebd1b9ea177a8bb44_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yNS0zLTEtMS01Mzk4MA_e413caa4-83ce-4883-ab08-a6c51e36406f"
      unitRef="usd">-898000</us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent
      contextRef="i55f5c0e00d96464abb76c190feb6f362_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yNS01LTEtMS01Mzk4MA_4b10624d-42ba-413a-a0d0-db390cc61a69"
      unitRef="usd">34204000</us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i7310cad132bd4bfa8764a0ba66eda249_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yNi0xLTEtMS01Mzk4MA_1fa9775f-400f-4bc4-ac37-becf0a7f2759"
      unitRef="usd">54410000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i083684fe7d1d40aebd1b9ea177a8bb44_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yNi0zLTEtMS01Mzk4MA_3c3ba034-1500-44a9-a3cc-feced3a063ce"
      unitRef="usd">-898000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i55f5c0e00d96464abb76c190feb6f362_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yNi01LTEtMS01Mzk4MA_81e39b8c-532c-4b52-a271-d5e7d8ae30f1"
      unitRef="usd">53512000</us-gaap:LiabilitiesCurrent>
    <us-gaap:Liabilities
      contextRef="i7310cad132bd4bfa8764a0ba66eda249_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yNy0xLTEtMS01Mzk4MA_62a061c0-9053-4441-8b88-f6b15dfcd2d0"
      unitRef="usd">71176000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i083684fe7d1d40aebd1b9ea177a8bb44_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yNy0zLTEtMS01Mzk4MA_c18ef52d-91d3-449e-8771-6eae923ea9b3"
      unitRef="usd">-898000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i55f5c0e00d96464abb76c190feb6f362_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yNy01LTEtMS01Mzk4MA_5e66bd2f-4e91-4f58-9db8-7dcbce639091"
      unitRef="usd">70278000</us-gaap:Liabilities>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i7310cad132bd4bfa8764a0ba66eda249_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yOC0xLTEtMS01Mzk4MA_eea2a0e9-d9f9-4426-886c-81be89e78b0f"
      unitRef="usd">354119000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i083684fe7d1d40aebd1b9ea177a8bb44_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yOC0zLTEtMS01Mzk4MA_99d9886b-6c1b-4eae-b09e-8c54f15385e7"
      unitRef="usd">181000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i55f5c0e00d96464abb76c190feb6f362_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yOC01LTEtMS01Mzk4MA_4eecd23c-798b-40fa-ac85-062d9c1a997c"
      unitRef="usd">354300000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i7310cad132bd4bfa8764a0ba66eda249_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yOS0xLTEtMS01NDAyNw_98265b50-6f70-4d9f-9a4d-81ffb99986a1"
      unitRef="usd">-182737000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i083684fe7d1d40aebd1b9ea177a8bb44_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yOS0zLTEtMS01NDAyNw_a7a20acf-8a37-482d-b26d-378711511d64"
      unitRef="usd">165000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i55f5c0e00d96464abb76c190feb6f362_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yOS01LTEtMS01NDAyNw_05323c21-d637-4fd9-8b0b-a2cd8516355e"
      unitRef="usd">-182572000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i7310cad132bd4bfa8764a0ba66eda249_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yOS0xLTEtMS01Mzk4MA_0d80f951-2117-4a9d-8283-78eed19ad699"
      unitRef="usd">171491000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i083684fe7d1d40aebd1b9ea177a8bb44_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yOS0zLTEtMS01Mzk4MA_9eb0fa44-1609-4dc5-bbcf-c215ad85aded"
      unitRef="usd">346000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i55f5c0e00d96464abb76c190feb6f362_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8yOS01LTEtMS01Mzk4MA_6910fee4-323f-40d6-9cf6-1306e7ca714e"
      unitRef="usd">171837000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i7310cad132bd4bfa8764a0ba66eda249_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8zMC0xLTEtMS01Mzk4MA_4b447d6f-f716-415b-8698-6eef97055eec"
      unitRef="usd">242667000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i083684fe7d1d40aebd1b9ea177a8bb44_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8zMC0zLTEtMS01Mzk4MA_413d1b6e-bccb-4ce6-a47d-63bfd430c5e4"
      unitRef="usd">-552000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i55f5c0e00d96464abb76c190feb6f362_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6ZDI2YzUzOTdhZTczNDM3Njg0MzlkZTRiNjAwMzc2YTAvdGFibGVyYW5nZTpkMjZjNTM5N2FlNzM0Mzc2ODQzOWRlNGI2MDAzNzZhMF8zMC01LTEtMS01Mzk4MA_10c4f7f4-a4fb-49a5-a37c-92b4c9a080c7"
      unitRef="usd">242115000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:ProfitLoss
      contextRef="i3220b9a89e8f4a7aae1ebd8b60c36ae5_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjgwNGE1MTY3Y2Q4NDNiYWFhYWJlMGIyNjU0OWJiNDQvdGFibGVyYW5nZTpiODA0YTUxNjdjZDg0M2JhYWFhYmUwYjI2NTQ5YmI0NF8zLTEtMS0xLTU3NjU3_374fc011-4d27-40a4-b374-98c044b9bc01"
      unitRef="usd">-38894000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="if19f28db3eb14f72ae17f43fa3728b03_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjgwNGE1MTY3Y2Q4NDNiYWFhYWJlMGIyNjU0OWJiNDQvdGFibGVyYW5nZTpiODA0YTUxNjdjZDg0M2JhYWFhYmUwYjI2NTQ5YmI0NF8zLTMtMS0xLTU3NjU3_0416f87c-51b0-4582-b6eb-328415f98356"
      unitRef="usd">1250000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="icfc9ed27de6a452c8af5d72c4b35d5a7_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjgwNGE1MTY3Y2Q4NDNiYWFhYWJlMGIyNjU0OWJiNDQvdGFibGVyYW5nZTpiODA0YTUxNjdjZDg0M2JhYWFhYmUwYjI2NTQ5YmI0NF8zLTUtMS0xLTU3NjU3_ea2d9faa-ab2b-42dd-9dc7-80e16ff77af2"
      unitRef="usd">-37644000</us-gaap:ProfitLoss>
    <us-gaap:ShareBasedCompensation
      contextRef="i3220b9a89e8f4a7aae1ebd8b60c36ae5_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjgwNGE1MTY3Y2Q4NDNiYWFhYWJlMGIyNjU0OWJiNDQvdGFibGVyYW5nZTpiODA0YTUxNjdjZDg0M2JhYWFhYmUwYjI2NTQ5YmI0NF80LTEtMS0xLTU3NjU3_0e98e7a1-733d-4e1a-a80c-dc5ce0180227"
      unitRef="usd">47197000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="if19f28db3eb14f72ae17f43fa3728b03_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjgwNGE1MTY3Y2Q4NDNiYWFhYWJlMGIyNjU0OWJiNDQvdGFibGVyYW5nZTpiODA0YTUxNjdjZDg0M2JhYWFhYmUwYjI2NTQ5YmI0NF80LTMtMS0xLTU3NjU3_772ab23a-c58f-43a3-9ff4-941fed13c034"
      unitRef="usd">181000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="icfc9ed27de6a452c8af5d72c4b35d5a7_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjgwNGE1MTY3Y2Q4NDNiYWFhYWJlMGIyNjU0OWJiNDQvdGFibGVyYW5nZTpiODA0YTUxNjdjZDg0M2JhYWFhYmUwYjI2NTQ5YmI0NF80LTUtMS0xLTU3NjU3_b2bedc82-1feb-4510-b39c-acdbd8d2fade"
      unitRef="usd">47378000</us-gaap:ShareBasedCompensation>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="i3220b9a89e8f4a7aae1ebd8b60c36ae5_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjgwNGE1MTY3Y2Q4NDNiYWFhYWJlMGIyNjU0OWJiNDQvdGFibGVyYW5nZTpiODA0YTUxNjdjZDg0M2JhYWFhYmUwYjI2NTQ5YmI0NF81LTEtMS0xLTU3NjU3_39b42b97-9f2b-402e-8323-e752e7f2f354"
      unitRef="usd">5900000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="if19f28db3eb14f72ae17f43fa3728b03_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjgwNGE1MTY3Y2Q4NDNiYWFhYWJlMGIyNjU0OWJiNDQvdGFibGVyYW5nZTpiODA0YTUxNjdjZDg0M2JhYWFhYmUwYjI2NTQ5YmI0NF81LTMtMS0xLTU3NjU3_959b9d4d-466f-4d3a-b16b-b3ee0a1642c8"
      unitRef="usd">-1538000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="icfc9ed27de6a452c8af5d72c4b35d5a7_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjgwNGE1MTY3Y2Q4NDNiYWFhYWJlMGIyNjU0OWJiNDQvdGFibGVyYW5nZTpiODA0YTUxNjdjZDg0M2JhYWFhYmUwYjI2NTQ5YmI0NF81LTUtMS0xLTU3NjU3_8c6a4c38-e3ac-4b61-9c4d-416be66e561d"
      unitRef="usd">4362000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i3220b9a89e8f4a7aae1ebd8b60c36ae5_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjgwNGE1MTY3Y2Q4NDNiYWFhYWJlMGIyNjU0OWJiNDQvdGFibGVyYW5nZTpiODA0YTUxNjdjZDg0M2JhYWFhYmUwYjI2NTQ5YmI0NF82LTEtMS0xLTU3NjU3_cfb7d0b4-94a1-4340-9563-815ef83a54e4"
      unitRef="usd">6668000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="if19f28db3eb14f72ae17f43fa3728b03_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjgwNGE1MTY3Y2Q4NDNiYWFhYWJlMGIyNjU0OWJiNDQvdGFibGVyYW5nZTpiODA0YTUxNjdjZDg0M2JhYWFhYmUwYjI2NTQ5YmI0NF82LTMtMS0xLTU3NjU3_02807d2d-c2ca-4ade-8a40-93555cf2cb8a"
      unitRef="usd">2969000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="icfc9ed27de6a452c8af5d72c4b35d5a7_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjgwNGE1MTY3Y2Q4NDNiYWFhYWJlMGIyNjU0OWJiNDQvdGFibGVyYW5nZTpiODA0YTUxNjdjZDg0M2JhYWFhYmUwYjI2NTQ5YmI0NF82LTUtMS0xLTU3NjU3_098e8369-7583-454f-81c7-00477e5191da"
      unitRef="usd">9637000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="i3220b9a89e8f4a7aae1ebd8b60c36ae5_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjgwNGE1MTY3Y2Q4NDNiYWFhYWJlMGIyNjU0OWJiNDQvdGFibGVyYW5nZTpiODA0YTUxNjdjZDg0M2JhYWFhYmUwYjI2NTQ5YmI0NF83LTEtMS0xLTU3NjU3_cba1da73-3441-445c-a59a-d1a4396dc0b4"
      unitRef="usd">6139000</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="if19f28db3eb14f72ae17f43fa3728b03_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjgwNGE1MTY3Y2Q4NDNiYWFhYWJlMGIyNjU0OWJiNDQvdGFibGVyYW5nZTpiODA0YTUxNjdjZDg0M2JhYWFhYmUwYjI2NTQ5YmI0NF83LTMtMS0xLTU3NjU3_71d2bc29-85d7-463a-87ae-e59d7255d242"
      unitRef="usd">533000</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="icfc9ed27de6a452c8af5d72c4b35d5a7_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjgwNGE1MTY3Y2Q4NDNiYWFhYWJlMGIyNjU0OWJiNDQvdGFibGVyYW5nZTpiODA0YTUxNjdjZDg0M2JhYWFhYmUwYjI2NTQ5YmI0NF83LTUtMS0xLTU3NjU3_a04ab7a7-ede2-4673-b9ab-3a02443e892a"
      unitRef="usd">6672000</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i3220b9a89e8f4a7aae1ebd8b60c36ae5_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjgwNGE1MTY3Y2Q4NDNiYWFhYWJlMGIyNjU0OWJiNDQvdGFibGVyYW5nZTpiODA0YTUxNjdjZDg0M2JhYWFhYmUwYjI2NTQ5YmI0NF84LTEtMS0xLTU3NjU3_731734f4-8b1d-46cb-bf01-656b4c67af35"
      unitRef="usd">-13709000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="if19f28db3eb14f72ae17f43fa3728b03_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjgwNGE1MTY3Y2Q4NDNiYWFhYWJlMGIyNjU0OWJiNDQvdGFibGVyYW5nZTpiODA0YTUxNjdjZDg0M2JhYWFhYmUwYjI2NTQ5YmI0NF84LTMtMS0xLTU3NjU3_84a610ff-05e4-42e7-aefa-02597a1dc66e"
      unitRef="usd">-533000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="icfc9ed27de6a452c8af5d72c4b35d5a7_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjgwNGE1MTY3Y2Q4NDNiYWFhYWJlMGIyNjU0OWJiNDQvdGFibGVyYW5nZTpiODA0YTUxNjdjZDg0M2JhYWFhYmUwYjI2NTQ5YmI0NF84LTUtMS0xLTU3NjU3_94f693bf-69a9-4c52-ba09-739dfd54167b"
      unitRef="usd">-14242000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="i3220b9a89e8f4a7aae1ebd8b60c36ae5_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjgwNGE1MTY3Y2Q4NDNiYWFhYWJlMGIyNjU0OWJiNDQvdGFibGVyYW5nZTpiODA0YTUxNjdjZDg0M2JhYWFhYmUwYjI2NTQ5YmI0NF85LTEtMS0xLTU3NjU3_dd39f4cb-46d4-4f56-a300-6283bdc8a414"
      unitRef="usd">0</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="if19f28db3eb14f72ae17f43fa3728b03_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjgwNGE1MTY3Y2Q4NDNiYWFhYWJlMGIyNjU0OWJiNDQvdGFibGVyYW5nZTpiODA0YTUxNjdjZDg0M2JhYWFhYmUwYjI2NTQ5YmI0NF85LTMtMS0xLTU3NjU3_823cd0d2-f2e1-4914-a6f7-4813d3fe1ff4"
      unitRef="usd">2436000</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="icfc9ed27de6a452c8af5d72c4b35d5a7_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjgwNGE1MTY3Y2Q4NDNiYWFhYWJlMGIyNjU0OWJiNDQvdGFibGVyYW5nZTpiODA0YTUxNjdjZDg0M2JhYWFhYmUwYjI2NTQ5YmI0NF85LTUtMS0xLTU3NjU3_f6525b67-782b-45f6-935c-dd5f582f2c08"
      unitRef="usd">2436000</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i3220b9a89e8f4a7aae1ebd8b60c36ae5_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjgwNGE1MTY3Y2Q4NDNiYWFhYWJlMGIyNjU0OWJiNDQvdGFibGVyYW5nZTpiODA0YTUxNjdjZDg0M2JhYWFhYmUwYjI2NTQ5YmI0NF8xMC0xLTEtMS01NzY1Nw_cac49503-e8cf-474e-aa94-86dc1dbfc6a7"
      unitRef="usd">35131000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="if19f28db3eb14f72ae17f43fa3728b03_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjgwNGE1MTY3Y2Q4NDNiYWFhYWJlMGIyNjU0OWJiNDQvdGFibGVyYW5nZTpiODA0YTUxNjdjZDg0M2JhYWFhYmUwYjI2NTQ5YmI0NF8xMC0zLTEtMS01NzY1Nw_9386fcb9-a0f9-4615-b531-6d7b2d5656e9"
      unitRef="usd">-2436000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="icfc9ed27de6a452c8af5d72c4b35d5a7_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6YjgwNGE1MTY3Y2Q4NDNiYWFhYWJlMGIyNjU0OWJiNDQvdGFibGVyYW5nZTpiODA0YTUxNjdjZDg0M2JhYWFhYmUwYjI2NTQ5YmI0NF8xMC01LTEtMS01NzY1Nw_4e26e6ab-de6f-4c42-a869-6a73343a3042"
      unitRef="usd">32695000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:ProfitLoss
      contextRef="i5dacda95aee4404285ddaefe6e3ba772_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV8zLTEtMS0xLTU5MDg2_c473cc0d-a17f-42c3-a5db-ddbf821d185d"
      unitRef="usd">-5387000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i0f81f81921144c6b9fb4d1d84aedd453_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV8zLTMtMS0xLTU5MDg2_f552e798-5a9b-4a1f-905f-9f51ddfe8967"
      unitRef="usd">165000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i24c2a9035bf34afda47a9de7bad19708_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV8zLTUtMS0xLTU5MDg2_b8452500-b214-4f09-a56e-5490cc6f8e4b"
      unitRef="usd">-5222000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i3220b9a89e8f4a7aae1ebd8b60c36ae5_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV8zLTctMS0xLTU5MDg2_fa54e400-b62e-494c-b178-714583630c01"
      unitRef="usd">-38894000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="if19f28db3eb14f72ae17f43fa3728b03_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV8zLTktMS0xLTU5MDg2_55dea187-7245-44d0-88eb-828bc282e17e"
      unitRef="usd">1250000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="icfc9ed27de6a452c8af5d72c4b35d5a7_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV8zLTExLTEtMS01OTA4Ng_f5768815-c06b-4d5c-a47f-78eecb3bd020"
      unitRef="usd">-37644000</us-gaap:ProfitLoss>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ie239caf1c8504500ba646687180029a2_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV80LTEtMS0xLTU5MTYw_10d407d3-3af9-44bd-9628-49b63a466e22"
      unitRef="usd">354119000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="iae56507525fc4e3f9c874ae3605a3577_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV80LTMtMS0xLTU5MTYw_41f4e517-eecc-43aa-9d61-d083b57a76f1"
      unitRef="usd">181000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i1d9d3007e5df4552a662298a0acc7414_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV80LTUtMS0xLTU5MTYw_d1a12184-cda2-4617-9a41-7e0525b47f82"
      unitRef="usd">354300000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ie239caf1c8504500ba646687180029a2_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV80LTctMS0xLTU5MTYw_799a6c01-ba0c-4c86-954b-c3812e95507d"
      unitRef="usd">354119000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="iae56507525fc4e3f9c874ae3605a3577_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV80LTktMS0xLTU5MTYw_c88643e1-c375-4b65-81e9-6f3dce73ee38"
      unitRef="usd">181000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i1d9d3007e5df4552a662298a0acc7414_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV80LTExLTEtMS01OTE2MA_2dc75baf-5c91-4ae3-81dc-d7640b3c3ccc"
      unitRef="usd">354300000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i77360873e0654135a1659442e1fd6d0c_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV80LTEtMS0xLTU5MDg2_dc42f37b-9e6f-4962-9fe1-00100fde0cbb"
      unitRef="usd">-177350000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="idfd9cbb7eff9431db8c995f7d99bc0a7_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV80LTMtMS0xLTU5MDg2_0eddbeed-b297-4b6f-a5d4-d038f553add5"
      unitRef="usd">1085000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ieb7ab9acfc014064b7aa5b5db347e2d1_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV80LTUtMS0xLTU5MDg2_ffec9c68-de6f-43b0-b043-95e02ccbbf6d"
      unitRef="usd">-176265000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i911d17c93dfa4bb38f50e618388f06b2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV80LTctMS0xLTU5MDg2_6c5ea664-6cd7-453a-9b97-0db2f6104574"
      unitRef="usd">-143843000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="id35a4b17b1e644aca52aa17650406e61_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV80LTktMS0xLTU5MDg2_9de16cd6-b1f5-44d4-bcbb-1a23a638a62a"
      unitRef="usd">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i361bda28b5ac44d1a58cf6e19feb0fd0_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV80LTExLTEtMS01OTA4Ng_69b347df-685b-476f-9255-57a4e5840b16"
      unitRef="usd">-143843000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i486468ba3b694075a4918de695a24d1b_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV81LTEtMS0xLTU5MDg2_8a733e44-c393-46a3-9bc9-36ea43aa2ff5"
      unitRef="usd">-182737000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i434bb09343dd4c2b993effa5f9d8ee0d_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV81LTMtMS0xLTU5MDg2_cac56c3e-f7d8-4099-ba5e-de215878ded8"
      unitRef="usd">165000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i4dd927cba50f4a5888b3a716681a170e_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV81LTUtMS0xLTU5MDg2_5d6686d0-f687-45a8-ab9a-c755078270b7"
      unitRef="usd">-182572000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i486468ba3b694075a4918de695a24d1b_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV81LTctMS0xLTU5MDg2_c085d09a-1d9f-4db5-b93d-a38fdc2771a5"
      unitRef="usd">-182737000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i434bb09343dd4c2b993effa5f9d8ee0d_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV81LTktMS0xLTU5MDg2_07a1f93b-2402-46c0-8bc9-f5924b54aa36"
      unitRef="usd">165000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i4dd927cba50f4a5888b3a716681a170e_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV81LTExLTEtMS01OTA4Ng_b5e3cdf4-e511-45bf-a291-2c1929d43cd1"
      unitRef="usd">-182572000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i7310cad132bd4bfa8764a0ba66eda249_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV82LTEtMS0xLTU5MDg2_02463b96-d007-43ae-a6e0-a3c953bafb57"
      unitRef="usd">171491000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i083684fe7d1d40aebd1b9ea177a8bb44_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV82LTMtMS0xLTU5MDg2_a8c3f7b0-9856-4311-92d2-ce17e947a778"
      unitRef="usd">346000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i55f5c0e00d96464abb76c190feb6f362_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV82LTUtMS0xLTU5MDg2_54d36758-e4ae-4364-ac88-ff60f4a15420"
      unitRef="usd">171837000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i7310cad132bd4bfa8764a0ba66eda249_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV82LTctMS0xLTU5MDg2_78f6c318-e94b-4006-aa5b-39526dc6b35a"
      unitRef="usd">171491000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i083684fe7d1d40aebd1b9ea177a8bb44_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV82LTktMS0xLTU5MDg2_657d8464-1a49-42f4-9710-7bb7f73f45f9"
      unitRef="usd">346000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i55f5c0e00d96464abb76c190feb6f362_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjhlMzRiNzMxZmZmNTRiNjliOWUyNzRiODg5NWU0YTRmL3NlYzo4ZTM0YjczMWZmZjU0YjY5YjllMjc0Yjg4OTVlNGE0Zl8yMDkxL2ZyYWc6M2RhNjIyNTEzN2E0NGVjNWI0NmE5ZWJhNzg1MWQ2YzgvdGFibGU6NzFlNTI3MDFmYzdhNDJkY2E0MmVmMjJiMGRiYjc4MjEvdGFibGVyYW5nZTo3MWU1MjcwMWZjN2E0MmRjYTQyZWYyMmIwZGJiNzgyMV82LTExLTEtMS01OTA4Ng_e779fa6d-96ea-4618-8bb2-24f406751dc4"
      unitRef="usd">171837000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
</xbrl>
