<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2022"
  xmlns:dei="http://xbrl.sec.gov/dei/2022"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:pubm="http://pubmatic.com/20230331"
  xmlns:srt="http://fasb.org/srt/2022"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  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="pubm-20230331.xsd" xlink:type="simple"/>
    <context id="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ie2ae35a5e06141d682818dacc2b69a30_I20230505">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-05</instant>
        </period>
    </context>
    <context id="i6c05efe3616d4b0cbbec27564e0e2464_I20230505">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-05</instant>
        </period>
    </context>
    <context id="if1b410b43cf2482b8d9a9c165adf7a70_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i650980d7214e4f24b498f3c046984495_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i1e3175a25ed6427cb5d1bf370ebe3231_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i1ce4265b8b1f43b980fdb9c27a2e1214_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i4b8b4663e0ba4b14ad943fb2ad9b5658_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ie58950175683416097b8b776f8730435_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ia191fce97ab64efa93436a4de6d58f31_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i841c5df2431c468eb6a308743a5cd8c0_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i7dbcef02067d4a30a72150ac951e39e6_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="if28ac86666184a1f8f524ad7ca67142e_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="if29ea19997cb4718b52a8e5c73917893_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i5eabb91ae903419fbcad247e2b419d50_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i3ca3dcca15f243eea3216768801123fe_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i80fb90fc347c4450934c00e5ea439cf9_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ic452765dd8904dd0ba6f572355c9b985_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i3348ae8c61e74f029cb9ba8525da391d_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="if886e8414f4b4ea6b8f106d9ac6aa0bb_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i8f60c823faeb4a0a8fa285693da1dcad_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i78e7c705ee7e4633a40de77284f295bc_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="ie13fc1f238e046e49095ffda93f17e7a_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i29f77daaa7964de795be1e56874ea3fe_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i1c6a77a024fa445ead9ecda85d65e3c8_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</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="i1b301542d48f48d5855b6bfe8fb13ed8_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic3d737ac68b7440880013825b0ea1f53_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</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="i097a932901014fcc9837cc99e426d4bf_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</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="id954e90e2f0346eca9226dfc6800240c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</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="i1c2c84e8c8c04785a918851d5b816ee6_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i6b3e1f3d0b224bdfa3110b5c93fbe1c0_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i5d3de5886f114ffea2523fcd3d3b0237_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="if009cf3c7f23426db3c71c0815abaa2e_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i93db70d542f74ea192b9a5f9a0ec37e1_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ib636291d69ad4c6aadbefbe2d57b4e38_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i7e455eb4162a480ba2cf8e44ed0fb8ce_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="id76fa9c91260460c99c8896e12e64d39_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i2cdd0a38fd8946b88870f84fe8741d6e_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i08bdcf06c4a5490e864acf0542b295e7_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="ibe6de3b18e4948f990aba19715514a3c_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i2af8c53612e747a2a6046823eeea9636_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">pubm:OnePublisherMember</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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i0d45637388094fa5ac849e5d2c381ea3_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">pubm:OnePublisherMember</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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ib0b911764ed047acb0b5b0394d159ca1_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">pubm:BuyerOneMember</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>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ib52535a6a2c84c619df7019b901cf772_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">pubm:BuyerTwoMember</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>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i3bed9af82ac64274baf1e5ad4f09a301_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">pubm:BuyerOneMember</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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ic12d8e901c7147f69fcb251f92b23bc8_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">pubm:BuyerTwoMember</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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ib379847039f041ae96060bc3330eb9fa_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">pubm:BuyerThreeMember</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>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ia016e6fbe5df4ab3bd6c5092c08fdc45_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="ia9e75662b4ac41489d50d64dedcf5998_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i84e266b64e8c4127b310932f63663ab7_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i4f5d1566bf2840878a203ccfc2bcade6_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i7f823734ddbf4a268fa275846c16c600_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="ie56dc55fcee9461b9c0c2338b05a267f_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i21b894017a4746aea57167308de21f1f_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i772a88c6f65842339c2fde7166f45389_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i77ffa68fd2f84e8887db96a89ce2e0d3_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i531d7fb763054df9b9707b975e97d254_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="id8f2378775184b0394e8fc88c50aad40_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i1c35deecd7b44ee0b7dd96584e40805d_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i59ef4e57407a4351bb624e67329c95fc_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i39e614376bca4a518ee77499b31c6afe_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="id7160da90f6b4c62b3e4de46b71c65e4_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i81581629259845e5b537c5034a97e03d_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i606a6c253019442394d8051cbc4da866_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="ic731f388c371415ea6d622ca05208746_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i05d79b579fe646f98e35abdb62aea8e1_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i9fa532c14e4245068b858fb6821817ff_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="if07e47594bac4a8da2a7def5b11f58d9_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i6b06b935154c4817b14fa90a51f65e99_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i6643b980aca74b9e90471c5f8b1e4a6e_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="ib72b312ec6224dfebcebe4886ac6d383_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i5feeec08bf464553b94d0ab7d1b6e679_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i1f1ace1d59184425931c213a3451df63_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i66e54de322284f98a0f04a06b0b649c1_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i3971b7d47b7f4c92b00f572f08d6d1fe_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i528bc6f2685642fdbdf91f35c091d67a_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i251f280b52d94c9f88a8afe7dbe673b9_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i84801db0f75743c985b7f1f49f9b86fb_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ib34b61320ef7401c9c64e3ec386b942f_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i1dfe5a3efbf24a72ba4d9b1366217c29_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ia040f110a8264d31a59529311bec10b4_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i66f345fb0e96491a8fa4f804805fff08_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="iccb80b67f5bc4186ba70ce573334dc80_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i761ff778c0cb4d7b801181c4c5265881_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i76b52b175c7b40e29c5c24a2e8ae6ecd_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="id80b458b237b4696bf637fa23464ad48_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="id24ae7367e4545659f15c9345f2b89b6_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ic97df53e88d9483bb991a7fbf89a3fc9_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ie440fa529f8846ef93695f4977c181ce_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i5d73ff64c5854f1d96b20e5ba6110e75_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ic8289869542e4a7e8dcdc66d6a86d199_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i50d47d2a5de5403aae38029c193e756c_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ib03a4d8379c840ecae88efbf9963e9b0_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i2811860d265943879814738c35a3bd89_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i6dd0601551294a76ae674c31f19f3d4a_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i38c43804bb4445f1a955b328f8e27233_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i16660327ee794a0cbb76a850c800fb6e_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i39448798a7a34d53b5b5dabc572b9be4_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i3624bcd826fd4716941af757f176c9c2_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="iae2e9726e84a4433b64f31f92635c074_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i6264dedf4922418e88fcb51bb424e2e6_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ib8717426a5b84ab887653949d524de7c_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i12b058e8179942ffb46d7c8c5da01136_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i0429b2a4d2fd4efe9f38e49dd4c34f62_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i27c15babd5b244fa8819cc7ffd369657_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i8eb7cae8530b4f04aed70f913b16dd62_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="ie49f2fdb77bd4f5f82bd207f3735f021_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i4337f46ee1f84a4ea45cdbd2df14f70e_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ia9235a5e79d149fbb3c6db59d64bdb08_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i56e27174cabc4a48ab3c995810d358ed_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i3318d5c600324d32b6b0f6ba1d936c50_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i1215dd3f312b4de1ba38140a95961621_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:TechnologyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i780ef6e8bec746eb9f3e428ed461b1cd_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:TechnologyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ifca96406c2334df38079bfb749980874_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i7cdd3df977244956b09520dd4641e2e7_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i9584b27aead24c58b94c28f8d4366c68_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="ie1fbe103e1b84155950160feb3c67e0d_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i58e65abf78c74a64a0b362fb7c603058_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i0f03cfeb083f4a09985c8c9785dfe10e_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i37363d60e957417c84fd44c364dcdb85_I20221017">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">pubm:CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-17</instant>
        </period>
    </context>
    <context id="i0080bbd094f241b4a3cb8627d87fb928_I20221017">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">pubm:CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-17</instant>
        </period>
    </context>
    <context id="i1e79636bdb5a4480b4d60b5ff610da9e_I20221017">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">pubm:CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">pubm:SwinglineSubFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-17</instant>
        </period>
    </context>
    <context id="i126aaacac65a437cb300d321c4d692ed_D20221017-20221017">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">pubm:CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:FederalFundsEffectiveSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-17</startDate>
            <endDate>2022-10-17</endDate>
        </period>
    </context>
    <context id="i1d76d6418b934eebb42d8e2591f7d276_D20221017-20221017">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">pubm:CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">pubm:SecuredOvernightFinancingRateSOFRMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-17</startDate>
            <endDate>2022-10-17</endDate>
        </period>
    </context>
    <context id="ia91054148fff426bbc0fb072ab58e370_D20221017-20221017">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">pubm:CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">pubm:SecuredOvernightFinancingRateSOFRMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-17</startDate>
            <endDate>2022-10-17</endDate>
        </period>
    </context>
    <context id="i5d0983847136443d8ca3fe403d50914a_D20221017-20221017">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">pubm:CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">pubm:SecuredOvernightFinancingRateSOFRMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-17</startDate>
            <endDate>2022-10-17</endDate>
        </period>
    </context>
    <context id="i993304b73abe4506be7d63adfb4446d9_D20221017-20221017">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">pubm:CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">pubm:AlternateBaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-17</startDate>
            <endDate>2022-10-17</endDate>
        </period>
    </context>
    <context id="i9ea80303b8954881908bad94f3ad4bc4_D20221017-20221017">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">pubm:CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">pubm:AlternateBaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-17</startDate>
            <endDate>2022-10-17</endDate>
        </period>
    </context>
    <context id="i0e541e0fd1c544a687325a8e44f87881_D20221017-20221017">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">pubm:CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">pubm:ApplicableInterestRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-17</startDate>
            <endDate>2022-10-17</endDate>
        </period>
    </context>
    <context id="ic50578b9e92e46019806f60c650bc240_D20221017-20221017">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">pubm:CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-17</startDate>
            <endDate>2022-10-17</endDate>
        </period>
    </context>
    <context id="ifedb639fc0124b929481dc32ea1ea9f8_D20221017-20221017">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">pubm:CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-17</startDate>
            <endDate>2022-10-17</endDate>
        </period>
    </context>
    <context id="i21498375862e4453a6d5febdb2e363f4_D20220916-20220916">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">pubm:MartinMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-09-16</startDate>
            <endDate>2022-09-16</endDate>
        </period>
    </context>
    <context id="i56f8378f66f2430898dfb41dd22e13f0_D20220916-20220916">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">pubm:MartinMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-09-16</startDate>
            <endDate>2022-09-16</endDate>
        </period>
    </context>
    <context id="ib924571d148343a1a28c837c88349af4_D20220916-20220916">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">pubm:MartinMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-09-16</startDate>
            <endDate>2022-09-16</endDate>
        </period>
    </context>
    <context id="ic5532def4a6743979359e3d18c82d7d0_I20220916">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">pubm:MartinMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-09-16</instant>
        </period>
    </context>
    <context id="i4d28a80d84b24768aae218890e946fbd_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="ic185a13f8ca64d46a826a6ac09692deb_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="ida2e7d3c0eb74cd894bbeadc96ff7acb_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i2cdabf5dac11447ca6ebae2ea2e342df_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ib9a0fc12b9ba43a6aeac2eeabacb0970_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i3d6538450a3441518a5f275ffb623432_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">pubm:IrrevocableLettersOfCreditDueJuly2028Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i24ed291c3156405886cc10d897f16195_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">pubm:IrrevocableLettersOfCreditDueApril2025Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i8e25899b838e44e589360ae7b846126f_I20230228">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">pubm:A2023RepurchaseProgramMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="ibc5c30e2dbff4d12936333bf1886b8c8_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">pubm:A2023RepurchaseProgramMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i917dbb305f4e473ba6399aab5800d9fc_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">pubm:A2023RepurchaseProgramMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i97335d21e61d493dbf8de5927fc10488_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ia9182488509e4565a9de9774cf1c23a3_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i7c86ae800e574f389f727ec73f1ff19c_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ia82476807303410a91b5319d0297d114_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ic2083dfee1c142eb892669e46e05354a_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i3eccbe056a8f448a86768c813bb68e6d_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="ib58a601bb3f640b8869853fe0a483f4c_I20201130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-11-30</instant>
        </period>
    </context>
    <context id="ic5a7452bb4dd4ddc975be17b39bdab00_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ibb76961ed9134422a6662f25be54d2dc_D20201130-20201130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-30</startDate>
            <endDate>2020-11-30</endDate>
        </period>
    </context>
    <context id="i3d49235fb8a14d2da32543cc8746eec7_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i76a2522cef244daf97bce6f7a55cca22_D20220601-20220601">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2022-06-01</endDate>
        </period>
    </context>
    <context id="i6a9a7ca336b947ae9af6714ab139f867_D20220601-20220601">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2022-06-01</endDate>
        </period>
    </context>
    <context id="i9125e72e844a47a5bf00eea53c654ab2_D20230531-20230531">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-05-31</startDate>
            <endDate>2023-05-31</endDate>
        </period>
    </context>
    <context id="i8680906e1517473eae7f0225f9a14807_D20230531-20230531">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-05-31</startDate>
            <endDate>2023-05-31</endDate>
        </period>
    </context>
    <context id="ia86bf26a71a34d4abf3f0cb308699ac5_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i26ff94c4504c44cd962e1e556bc71333_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="iff640248d7c94ee38c399f51de8b1487_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i01cf32567c934e6aa9696731a4392e78_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ie55005b95f324f2a8b5f522dc5c67054_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i713f36be6fec4518a1e21d8437c5558f_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i3409a1e7004c4a0cb1dd1f94e198c71a_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i175bc7acb7c949168ae0768383851489_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i683ff0882f204e8ea73116d952d6cac0_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i0ffebcd079214844bb7fd680f25caa39_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i382f4b7096134a87a6fa30a6721441d6_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ibadad924716f40319d663c8595d70ed0_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i622f47afe6fe4a9aa598bd8f5f5dd673_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i2c705e426f474a3891ad8f56487fb0e0_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i744ca5655c0c41fd813d59891bb72734_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i30bf58b2cbae4131870e2c59852436b1_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="iffd4a8f6c0a24923ac87ff9d1999d0dc_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ib2397608f2694411bc1688d6f2c9ec3c_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ia293f7fedb3445d0a325cf493bdf4009_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i52fe3379672149a9a6eb592c6ead2d23_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="id6ecbe6fe1d64e7ca6f6e15829e7527b_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="iab3b6b7986974171b8823cd80cfe15dd_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">pubm:RestOfTheWorldMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i2562e018d7b74274bd86a3cbe3ea914a_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">pubm:RestOfTheWorldMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i95324a5f90fd4a8cb0f5d7a05e6a74b6_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i865ce489397f4d2e8c17d1235b99e4e3_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i439da36110d14da8b4c4c892691c562b_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">pubm:RestOfTheWorldMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i669ae6d01e0749b0b1c536c70b04ff49_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001422930</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">pubm:RestOfTheWorldMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usd">
        <measure>iso4217:USD</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="instrument">
        <measure>pubm:instrument</measure>
    </unit>
    <unit id="calendaryear">
        <measure>pubm:calendarYear</measure>
    </unit>
    <unit id="purchaseperiod">
        <measure>pubm:purchasePeriod</measure>
    </unit>
    <dei:AmendmentFlag
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80L2ZyYWc6YjU3NzI2ZWI3NTBjNDIyYmI3NDExNjcyZjg3OWE1M2MvdGFibGU6Y2RlOTc2Y2MyZWU4NDg4OTk4NTUwMTUyYzE2NjFiYzgvdGFibGVyYW5nZTpjZGU5NzZjYzJlZTg0ODg5OTg1NTAxNTJjMTY2MWJjOF8yLTEtMS0xLTg1OTI5_37f95d66-9fab-4c27-88d7-57099f9ea4ca">false</dei:AmendmentFlag>
    <dei:EntityCentralIndexKey
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80L2ZyYWc6YjU3NzI2ZWI3NTBjNDIyYmI3NDExNjcyZjg3OWE1M2MvdGFibGU6Y2RlOTc2Y2MyZWU4NDg4OTk4NTUwMTUyYzE2NjFiYzgvdGFibGVyYW5nZTpjZGU5NzZjYzJlZTg0ODg5OTg1NTAxNTJjMTY2MWJjOF81LTEtMS0xLTg1OTI5_8b210adc-88ab-4ceb-84b1-488076bd3686">0001422930</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80L2ZyYWc6YjU3NzI2ZWI3NTBjNDIyYmI3NDExNjcyZjg3OWE1M2MvdGFibGU6Y2RlOTc2Y2MyZWU4NDg4OTk4NTUwMTUyYzE2NjFiYzgvdGFibGVyYW5nZTpjZGU5NzZjYzJlZTg0ODg5OTg1NTAxNTJjMTY2MWJjOF84LTEtMS0xLTg1OTI5_b1c6a091-d972-4326-8c1f-a95fa0c14558">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80L2ZyYWc6YjU3NzI2ZWI3NTBjNDIyYmI3NDExNjcyZjg3OWE1M2MvdGFibGU6Y2RlOTc2Y2MyZWU4NDg4OTk4NTUwMTUyYzE2NjFiYzgvdGFibGVyYW5nZTpjZGU5NzZjYzJlZTg0ODg5OTg1NTAxNTJjMTY2MWJjOF8xNS0xLTEtMS04NTkyOQ_ad94c21f-31e8-4bfe-9409-72b1cb0dccb5">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80L2ZyYWc6YjU3NzI2ZWI3NTBjNDIyYmI3NDExNjcyZjg3OWE1M2MvdGFibGU6Y2RlOTc2Y2MyZWU4NDg4OTk4NTUwMTUyYzE2NjFiYzgvdGFibGVyYW5nZTpjZGU5NzZjYzJlZTg0ODg5OTg1NTAxNTJjMTY2MWJjOF8xNi0xLTEtMS04NTkyOQ_f93b0165-316f-44df-9509-259358e657a3">Q1</dei:DocumentFiscalPeriodFocus>
    <dei:EntityAddressAddressLine1
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80L2ZyYWc6YjU3NzI2ZWI3NTBjNDIyYmI3NDExNjcyZjg3OWE1M2MvdGFibGU6Y2RlOTc2Y2MyZWU4NDg4OTk4NTUwMTUyYzE2NjFiYzgvdGFibGVyYW5nZTpjZGU5NzZjYzJlZTg0ODg5OTg1NTAxNTJjMTY2MWJjOF8xNy0xLTEtMS04NTkyOQ_66ce8c0a-4b30-47d6-a790-1bb7376f0b9b">601 Marshall St.</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80L2ZyYWc6YjU3NzI2ZWI3NTBjNDIyYmI3NDExNjcyZjg3OWE1M2MvdGFibGU6Y2RlOTc2Y2MyZWU4NDg4OTk4NTUwMTUyYzE2NjFiYzgvdGFibGVyYW5nZTpjZGU5NzZjYzJlZTg0ODg5OTg1NTAxNTJjMTY2MWJjOF8xOC0xLTEtMS04NTkyOQ_491c820f-a73b-4c5a-9d87-c5c7bc375ee7">Redwood City</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80L2ZyYWc6YjU3NzI2ZWI3NTBjNDIyYmI3NDExNjcyZjg3OWE1M2MvdGFibGU6Y2RlOTc2Y2MyZWU4NDg4OTk4NTUwMTUyYzE2NjFiYzgvdGFibGVyYW5nZTpjZGU5NzZjYzJlZTg0ODg5OTg1NTAxNTJjMTY2MWJjOF8xOS0xLTEtMS04NTkyOQ_41ecb6ae-1549-4b72-8145-1450b80500ed">CA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80L2ZyYWc6YjU3NzI2ZWI3NTBjNDIyYmI3NDExNjcyZjg3OWE1M2MvdGFibGU6Y2RlOTc2Y2MyZWU4NDg4OTk4NTUwMTUyYzE2NjFiYzgvdGFibGVyYW5nZTpjZGU5NzZjYzJlZTg0ODg5OTg1NTAxNTJjMTY2MWJjOF8yMC0xLTEtMS04NTkyOQ_71a64ec8-5749-4855-bade-a16cc1e4520c">94063</dei:EntityAddressPostalZipCode>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV83My9mcmFnOjQ0NjllZjljMzVmODQyN2U5MjdhMTcwZTdkMWI2ZDE3L3RleHRyZWdpb246NDQ2OWVmOWMzNWY4NDI3ZTkyN2ExNzBlN2QxYjZkMTdfMjcxNA_88b7b572-d600-43d1-925c-26789cd7e3b6">Subsequent Event</us-gaap:SubsequentEventsTextBlock>
    <dei:DocumentType
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xL2ZyYWc6MzBmOWNkMGViYjQ2NGZjYTg0ZTdmOGU4OTE2ZTQxNzgvdGV4dHJlZ2lvbjozMGY5Y2QwZWJiNDY0ZmNhODRlN2Y4ZTg5MTZlNDE3OF8yMDgw_07ea8e18-c183-401b-96f5-dd4083ab381c">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xL2ZyYWc6MzBmOWNkMGViYjQ2NGZjYTg0ZTdmOGU4OTE2ZTQxNzgvdGV4dHJlZ2lvbjozMGY5Y2QwZWJiNDY0ZmNhODRlN2Y4ZTg5MTZlNDE3OF8yMDg2_f422fa7f-f0f6-41a5-9cc8-02c96cbfc462">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xL2ZyYWc6MzBmOWNkMGViYjQ2NGZjYTg0ZTdmOGU4OTE2ZTQxNzgvdGV4dHJlZ2lvbjozMGY5Y2QwZWJiNDY0ZmNhODRlN2Y4ZTg5MTZlNDE3OF8yMjU_ca70adb5-39d9-45e6-bdc5-545d2f8dc478">2023-03-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xL2ZyYWc6MzBmOWNkMGViYjQ2NGZjYTg0ZTdmOGU4OTE2ZTQxNzgvdGV4dHJlZ2lvbjozMGY5Y2QwZWJiNDY0ZmNhODRlN2Y4ZTg5MTZlNDE3OF8yMDg3_faefd1da-a0a5-4bba-ad1d-0dbcf163c1ee">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xL2ZyYWc6MzBmOWNkMGViYjQ2NGZjYTg0ZTdmOGU4OTE2ZTQxNzgvdGV4dHJlZ2lvbjozMGY5Y2QwZWJiNDY0ZmNhODRlN2Y4ZTg5MTZlNDE3OF8yMDgy_e5f2d80e-b7a4-4562-9225-26a49ad41d9c">001-39748</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xL2ZyYWc6MzBmOWNkMGViYjQ2NGZjYTg0ZTdmOGU4OTE2ZTQxNzgvdGV4dHJlZ2lvbjozMGY5Y2QwZWJiNDY0ZmNhODRlN2Y4ZTg5MTZlNDE3OF8yMDc4_0e545935-b354-4d90-becb-80ecc7838d53">PUBMATIC, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xL2ZyYWc6MzBmOWNkMGViYjQ2NGZjYTg0ZTdmOGU4OTE2ZTQxNzgvdGFibGU6OTYzN2ZkNzE0ZDFhNDY4NzlhNzgyMDc4OWI2OGQ5OTQvdGFibGVyYW5nZTo5NjM3ZmQ3MTRkMWE0Njg3OWE3ODIwNzg5YjY4ZDk5NF8wLTAtMS0xLTg1OTI5_b12c1466-1a73-428d-a9d6-daaa8f9503a9">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xL2ZyYWc6MzBmOWNkMGViYjQ2NGZjYTg0ZTdmOGU4OTE2ZTQxNzgvdGFibGU6OTYzN2ZkNzE0ZDFhNDY4NzlhNzgyMDc4OWI2OGQ5OTQvdGFibGVyYW5nZTo5NjM3ZmQ3MTRkMWE0Njg3OWE3ODIwNzg5YjY4ZDk5NF8wLTEtMS0xLTg1OTI5_480e27cb-b836-4d98-8523-9ffeed2052a0">20-5863224</dei:EntityTaxIdentificationNumber>
    <dei:Security12bTitle
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xL2ZyYWc6MzBmOWNkMGViYjQ2NGZjYTg0ZTdmOGU4OTE2ZTQxNzgvdGFibGU6MzZkNjQ2ZWMyOWVkNDFkMDlhNjZjNTdiYmFhZmZhNmQvdGFibGVyYW5nZTozNmQ2NDZlYzI5ZWQ0MWQwOWE2NmM1N2JiYWFmZmE2ZF8xLTAtMS0xLTg1OTI5_e64aa4e5-6f68-45a1-9b53-6324641b7277">Class A common stock, $0.0001 par value per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xL2ZyYWc6MzBmOWNkMGViYjQ2NGZjYTg0ZTdmOGU4OTE2ZTQxNzgvdGFibGU6MzZkNjQ2ZWMyOWVkNDFkMDlhNjZjNTdiYmFhZmZhNmQvdGFibGVyYW5nZTozNmQ2NDZlYzI5ZWQ0MWQwOWE2NmM1N2JiYWFmZmE2ZF8xLTEtMS0xLTg1OTI5_fac29ead-e4a6-44f5-a000-2e4f4360c2ad">PUBM</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xL2ZyYWc6MzBmOWNkMGViYjQ2NGZjYTg0ZTdmOGU4OTE2ZTQxNzgvdGFibGU6MzZkNjQ2ZWMyOWVkNDFkMDlhNjZjNTdiYmFhZmZhNmQvdGFibGVyYW5nZTozNmQ2NDZlYzI5ZWQ0MWQwOWE2NmM1N2JiYWFmZmE2ZF8xLTItMS0xLTg1OTI5_44268397-490a-4d49-9794-26401679a915">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xL2ZyYWc6MzBmOWNkMGViYjQ2NGZjYTg0ZTdmOGU4OTE2ZTQxNzgvdGV4dHJlZ2lvbjozMGY5Y2QwZWJiNDY0ZmNhODRlN2Y4ZTg5MTZlNDE3OF8yMDgz_44bd241b-a27d-456f-813f-491ddc49f510">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xL2ZyYWc6MzBmOWNkMGViYjQ2NGZjYTg0ZTdmOGU4OTE2ZTQxNzgvdGV4dHJlZ2lvbjozMGY5Y2QwZWJiNDY0ZmNhODRlN2Y4ZTg5MTZlNDE3OF8yMDg4_857b412d-d8df-437d-af9b-b0f981c1b28b">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xL2ZyYWc6MzBmOWNkMGViYjQ2NGZjYTg0ZTdmOGU4OTE2ZTQxNzgvdGFibGU6NTQ0NTNlNDNlZDRiNGQ4NzkyMTY3NjcwZTBkYmNkZDEvdGFibGVyYW5nZTo1NDQ1M2U0M2VkNGI0ZDg3OTIxNjc2NzBlMGRiY2RkMV8wLTAtMS0xLTg1OTI5_8cfe9888-c197-4528-b74d-1bea2161f2ab">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xL2ZyYWc6MzBmOWNkMGViYjQ2NGZjYTg0ZTdmOGU4OTE2ZTQxNzgvdGFibGU6NTQ0NTNlNDNlZDRiNGQ4NzkyMTY3NjcwZTBkYmNkZDEvdGFibGVyYW5nZTo1NDQ1M2U0M2VkNGI0ZDg3OTIxNjc2NzBlMGRiY2RkMV8yLTUtMS0xLTg1OTI5_5a8e4d62-79db-4a1c-95f3-a64f3be47f92">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xL2ZyYWc6MzBmOWNkMGViYjQ2NGZjYTg0ZTdmOGU4OTE2ZTQxNzgvdGFibGU6NTQ0NTNlNDNlZDRiNGQ4NzkyMTY3NjcwZTBkYmNkZDEvdGFibGVyYW5nZTo1NDQ1M2U0M2VkNGI0ZDg3OTIxNjc2NzBlMGRiY2RkMV80LTUtMS0xLTg1OTI5_d7efc836-b8fc-4739-b7ed-ad29e21c6ee8">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xL2ZyYWc6MzBmOWNkMGViYjQ2NGZjYTg0ZTdmOGU4OTE2ZTQxNzgvdGV4dHJlZ2lvbjozMGY5Y2QwZWJiNDY0ZmNhODRlN2Y4ZTg5MTZlNDE3OF8yMDg1_710798b2-02f3-4a6e-ac13-a6cf84d48dcc">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="ie2ae35a5e06141d682818dacc2b69a30_I20230505"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xL2ZyYWc6MzBmOWNkMGViYjQ2NGZjYTg0ZTdmOGU4OTE2ZTQxNzgvdGV4dHJlZ2lvbjozMGY5Y2QwZWJiNDY0ZmNhODRlN2Y4ZTg5MTZlNDE3OF8xOTgw_cf0191e9-a055-4a68-8c62-9e7018f4a157"
      unitRef="shares">42687521</dei:EntityCommonStockSharesOutstanding>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="i6c05efe3616d4b0cbbec27564e0e2464_I20230505"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xL2ZyYWc6MzBmOWNkMGViYjQ2NGZjYTg0ZTdmOGU4OTE2ZTQxNzgvdGV4dHJlZ2lvbjozMGY5Y2QwZWJiNDY0ZmNhODRlN2Y4ZTg5MTZlNDE3OF8yMDMw_41099b39-3222-4dd0-b33d-c99ae91bcb2c"
      unitRef="shares">9250062</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMy0xLTEtMS04NTkyOQ_aa994784-488d-449b-b62c-b5e9cee9a142"
      unitRef="usd">79260000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMy0zLTEtMS04NTkyOQ_83cd49de-ce08-49f3-aec3-50b85e8f0d59"
      unitRef="usd">92382000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfNC0xLTEtMS04NTkyOQ_1b57792c-b35a-45b4-b81b-7705cd5112dc"
      unitRef="usd">93932000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfNC0zLTEtMS04NTkyOQ_24dc87ba-73d0-478e-9793-b7a6a8b30b0d"
      unitRef="usd">82013000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfNS0xLTEtMS04NTkyOQ_76964b78-1ce0-4271-8b0b-74dde5537410"
      unitRef="usd">253007000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfNS0zLTEtMS04NTkyOQ_aa3898d5-9d97-4de9-88ec-94b49eec5bcd"
      unitRef="usd">314299000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfNi0xLTEtMS04NTkyOQ_7fc1e0e8-49e5-41e9-8a3f-aa89652dd5c3"
      unitRef="usd">14150000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfNi0zLTEtMS04NTkyOQ_03dafe97-7484-4611-987b-55c83c0fa8bf"
      unitRef="usd">14784000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfNy0xLTEtMS04NTkyOQ_4faa357f-3e04-44b6-aa7c-c74975257042"
      unitRef="usd">440349000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfNy0zLTEtMS04NTkyOQ_0eebf77e-59c6-49ee-933b-87808a60934f"
      unitRef="usd">503478000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfOC0xLTEtMS04NTkyOQ_bf4f0c9b-6970-429a-86d0-1a6573ff95a7"
      unitRef="usd">68553000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfOC0zLTEtMS04NTkyOQ_55eaaaa3-8cd6-48d2-9bb3-4e1a81f4dafe"
      unitRef="usd">71156000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfOS0xLTEtMS04NTkyOQ_c0d95000-cea3-4bb6-a44c-b3433d416b68"
      unitRef="usd">24841000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfOS0zLTEtMS04NTkyOQ_19f48d5d-50be-4e70-8871-701459945dd6"
      unitRef="usd">26206000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMTAtMS0xLTEtODU5Mjk_b6f94093-2c27-49a1-8992-2d14750e8834"
      unitRef="usd">7049000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMTAtMy0xLTEtODU5Mjk_196a6c62-83ee-42ee-839a-50a8745ba3f3"
      unitRef="usd">8299000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:Goodwill
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMTEtMS0xLTEtODU5Mjk_bb2ddb41-813e-4904-8298-e68f21684551"
      unitRef="usd">29577000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMTEtMy0xLTEtODU5Mjk_0a1588bc-acea-45ae-9f0e-83678554c11c"
      unitRef="usd">29577000</us-gaap:Goodwill>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMTItMS0xLTEtODU5Mjk_3efeb595-0500-4bfc-96dd-7376c6ede2c7"
      unitRef="usd">4946000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMTItMy0xLTEtODU5Mjk_72ff669e-cb10-43e1-9df8-0f6c220cbea2"
      unitRef="usd">1047000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMTMtMS0xLTEtODU5Mjk_f496b2b4-02f7-42e9-b9ea-50231a3ce8ad"
      unitRef="usd">2152000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMTMtMy0xLTEtODU5Mjk_a0a6fad5-794d-40f7-8faf-5d9c05606a29"
      unitRef="usd">2412000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMTQtMS0xLTEtODU5Mjk_f71508dc-34df-473c-a674-d4838287a1da"
      unitRef="usd">577467000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMTQtMy0xLTEtODU5Mjk_be04c2f8-0c0f-429d-abf6-1e2d62fea3ab"
      unitRef="usd">642175000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMTctMS0xLTEtODU5Mjk_4ca3b2d8-a94e-41b2-b48a-a4a093ffe02f"
      unitRef="usd">222579000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMTctMy0xLTEtODU5Mjk_d790096e-ac8c-4b2e-8402-c3743f8f4f19"
      unitRef="usd">277414000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMTgtMS0xLTEtODU5Mjk_c04368b6-a4ea-40cb-9f23-35cae213254b"
      unitRef="usd">19314000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMTgtMy0xLTEtODU5Mjk_8d417a4b-d24c-430e-bf15-1c57b5a76395"
      unitRef="usd">18936000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMTktMS0xLTEtODU5Mjk_8ac5d7a8-58f0-4c84-901e-ba7296f8aa2a"
      unitRef="usd">5708000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMTktMy0xLTEtODU5Mjk_d52a88e9-48a9-4720-ba95-a3171b1c7402"
      unitRef="usd">5676000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjAtMS0xLTEtODU5Mjk_f6f4cf02-6691-4a41-8d0c-61d85f19e795"
      unitRef="usd">247601000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjAtMy0xLTEtODU5Mjk_51ce2be1-e2c6-4fd5-9092-4ccf75b79849"
      unitRef="usd">302026000</us-gaap:LiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjEtMS0xLTEtODU5Mjk_db4131ab-63e4-4fe5-aeb7-1c27151ee486"
      unitRef="usd">19785000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjEtMy0xLTEtODU5Mjk_e118715c-dcd7-4fb9-b548-1f7f18875983"
      unitRef="usd">20915000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjMtMS0xLTEtODU5Mjk_ea174586-35c5-45c8-8f97-842b7e96f7fd"
      unitRef="usd">3725000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjMtMy0xLTEtODU5Mjk_663e7b9c-ff94-401a-9510-6d8966e193a0"
      unitRef="usd">7046000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjQtMS0xLTEtODU5Mjk_70aa10a9-041d-485d-9903-c1ed4e2b0cce"
      unitRef="usd">271111000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjQtMy0xLTEtODU5Mjk_6d253047-3050-4cd5-a965-3fb711b90a2f"
      unitRef="usd">329987000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjUtMS0xLTEtODU5Mjk_3de43bfd-0154-43fd-bd7c-5632c31dc713"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjUtMy0xLTEtODU5Mjk_91b4d252-efb8-4554-b455-292e53304378"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjctMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjo2MTY1MDI4ZGQwZTQ0MmE2YmM0ZmE1YjY3M2EzMmZkY18yMQ_4fd4097e-ce5f-4eed-b17d-346cef253ef2"
      unitRef="usdPerShare">0.0001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjctMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjo2MTY1MDI4ZGQwZTQ0MmE2YmM0ZmE1YjY3M2EzMmZkY18yMQ_b6c85018-e642-4bed-b698-aeddbe99b35b"
      unitRef="usdPerShare">0.0001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjctMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjo2MTY1MDI4ZGQwZTQ0MmE2YmM0ZmE1YjY3M2EzMmZkY180NQ_c8479374-a751-4245-b90e-a410f765f9db"
      unitRef="shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjctMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjo2MTY1MDI4ZGQwZTQ0MmE2YmM0ZmE1YjY3M2EzMmZkY180NQ_fc592abd-e35e-4c91-91b2-fa2e6d64422f"
      unitRef="shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjctMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjo2MTY1MDI4ZGQwZTQ0MmE2YmM0ZmE1YjY3M2EzMmZkY184Mw_3ed4776b-50fb-483b-80ae-4de39663ca74"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjctMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjo2MTY1MDI4ZGQwZTQ0MmE2YmM0ZmE1YjY3M2EzMmZkY184Mw_7f5ca29f-3c59-4fee-9065-6012d2b844ce"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjctMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjo2MTY1MDI4ZGQwZTQ0MmE2YmM0ZmE1YjY3M2EzMmZkY184Mw_8c2f1d98-84fc-4fd4-8fa4-509501f906df"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjctMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjo2MTY1MDI4ZGQwZTQ0MmE2YmM0ZmE1YjY3M2EzMmZkY184Mw_8c87f315-28e5-4544-89a1-167c6086458f"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockValue
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjctMS0xLTEtODU5Mjk_dae1e6e4-af4c-4816-8eb0-7b38e38a2f49"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjctMy0xLTEtODU5Mjk_ebf2cdf1-5b7e-47ba-8d01-a8907f931ff5"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i650980d7214e4f24b498f3c046984495_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjgtMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjpkNDYyMmQwY2I5Y2I0ZDFmYTY5NmUwNTEwYTQxMjVkM181NDk3NTU4MTQ0Mzc_26aa0107-8a1c-4d7f-8d09-515898731672"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i1e3175a25ed6427cb5d1bf370ebe3231_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjgtMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjpkNDYyMmQwY2I5Y2I0ZDFmYTY5NmUwNTEwYTQxMjVkM181NDk3NTU4MTQ0Mzc_2cd728f2-e619-4882-8199-015ce3b98074"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i1ce4265b8b1f43b980fdb9c27a2e1214_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjgtMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjpkNDYyMmQwY2I5Y2I0ZDFmYTY5NmUwNTEwYTQxMjVkM181NDk3NTU4MTQ0Mzc_b779f4b2-2a8a-40eb-a4c0-5e10a0d58be9"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i4b8b4663e0ba4b14ad943fb2ad9b5658_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjgtMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjpkNDYyMmQwY2I5Y2I0ZDFmYTY5NmUwNTEwYTQxMjVkM181NDk3NTU4MTQ0Mzc_e7a4a4c2-4bf8-4d0a-b1a9-ecaf90c3b16b"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i4b8b4663e0ba4b14ad943fb2ad9b5658_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjgtMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjpkNDYyMmQwY2I5Y2I0ZDFmYTY5NmUwNTEwYTQxMjVkM181NDk3NTU4MTQxNjQ_5dc1d9d4-666a-4886-a842-b315100d8fce"
      unitRef="shares">1000000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i1ce4265b8b1f43b980fdb9c27a2e1214_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjgtMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjpkNDYyMmQwY2I5Y2I0ZDFmYTY5NmUwNTEwYTQxMjVkM181NDk3NTU4MTQxNjQ_6b97f901-f84d-41ef-9748-fef0e27019b5"
      unitRef="shares">1000000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="i1ce4265b8b1f43b980fdb9c27a2e1214_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjgtMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjpkNDYyMmQwY2I5Y2I0ZDFmYTY5NmUwNTEwYTQxMjVkM181NDk3NTU4MTQxNzI_ed779190-6566-443b-817b-c05f9b7a3d2c"
      unitRef="shares">43657744</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i1ce4265b8b1f43b980fdb9c27a2e1214_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjgtMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjpkNDYyMmQwY2I5Y2I0ZDFmYTY5NmUwNTEwYTQxMjVkM181NDk3NTU4MTQ0MDQ_b7bc0ecb-7633-4aca-a0d7-30dc231b02cd"
      unitRef="shares">43070914</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i4b8b4663e0ba4b14ad943fb2ad9b5658_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjgtMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjpkNDYyMmQwY2I5Y2I0ZDFmYTY5NmUwNTEwYTQxMjVkM181NDk3NTU4MTQ0MTk_32815ce5-1072-428e-a78a-0a6006e8128f"
      unitRef="shares">43452302</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i4b8b4663e0ba4b14ad943fb2ad9b5658_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjgtMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjpkNDYyMmQwY2I5Y2I0ZDFmYTY5NmUwNTEwYTQxMjVkM181NDk3NTU4MTQ0MTk_e58950af-b964-4528-9f99-4b57046ae395"
      unitRef="shares">43452302</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i1e3175a25ed6427cb5d1bf370ebe3231_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjgtMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjpkNDYyMmQwY2I5Y2I0ZDFmYTY5NmUwNTEwYTQxMjVkM181NDk3NTU4MTQxNzg_e67e5879-f8d3-4ab0-bef3-a1e5fe96f718"
      unitRef="shares">1000000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i650980d7214e4f24b498f3c046984495_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjgtMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjpkNDYyMmQwY2I5Y2I0ZDFmYTY5NmUwNTEwYTQxMjVkM181NDk3NTU4MTQxNzg_f367a85f-53c9-4c85-b4ca-994f1228afca"
      unitRef="shares">1000000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="i650980d7214e4f24b498f3c046984495_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjgtMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjpkNDYyMmQwY2I5Y2I0ZDFmYTY5NmUwNTEwYTQxMjVkM181NDk3NTU4MTQxODU_d606422d-ef6f-4a72-a389-db2d11b44e7c"
      unitRef="shares">12392302</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i650980d7214e4f24b498f3c046984495_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjgtMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjpkNDYyMmQwY2I5Y2I0ZDFmYTY5NmUwNTEwYTQxMjVkM181NDk3NTU4MTQxOTE_aac0fd93-b084-45bd-8990-c0108db2f192"
      unitRef="shares">9251865</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i1e3175a25ed6427cb5d1bf370ebe3231_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjgtMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjpkNDYyMmQwY2I5Y2I0ZDFmYTY5NmUwNTEwYTQxMjVkM181NDk3NTU4MTQxOTc_e4240a46-d356-47db-b2b5-d3a8414d3862"
      unitRef="shares">12393322</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i1e3175a25ed6427cb5d1bf370ebe3231_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjgtMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjpkNDYyMmQwY2I5Y2I0ZDFmYTY5NmUwNTEwYTQxMjVkM181NDk3NTU4MTQyMDY_8bcaf19a-47cf-49d0-9900-0e9452cb31f5"
      unitRef="shares">9252885</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjgtMS0xLTEtODU5Mjk_58b8f76d-67d2-460d-b192-7f531d1395b0"
      unitRef="usd">6000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjgtMy0xLTEtODU5Mjk_c926e7c0-4751-4fee-9acf-cff03f6500f3"
      unitRef="usd">6000</us-gaap:CommonStockValue>
    <us-gaap:TreasuryStockCommonShares
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjktMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjozYzhlYjMyYjQzMGU0OWZmODBmNjA5MDdjNGRiNGEyM181NDk3NTU4MTM5NDU_22f76f93-72d6-42c6-b68e-c0b33f730a8e"
      unitRef="shares">3727267</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjktMC0xLTEtODU5MjkvdGV4dHJlZ2lvbjozYzhlYjMyYjQzMGU0OWZmODBmNjA5MDdjNGRiNGEyM181NDk3NTU4MTM5NTI_7d163632-681c-472e-98a0-5aa74a289259"
      unitRef="shares">3140437</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockValue
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjktMS0xLTEtODU5Mjk_468d1a06-afcf-41e9-aafa-855620859694"
      unitRef="usd">19384000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMjktMy0xLTEtODU5Mjk_af25b21f-3d9f-418a-85f4-1b84cc15ccb1"
      unitRef="usd">11486000</us-gaap:TreasuryStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMzAtMS0xLTEtODU5Mjk_a19dda96-09c0-40ec-b5ea-6bc02d11e7d2"
      unitRef="usd">203597000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMzAtMy0xLTEtODU5Mjk_35365b4b-baa6-466c-b7c8-a724f2f526f5"
      unitRef="usd">195677000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMzEtMS0xLTEtODU5Mjk_0118f71d-eac6-48ba-9591-58e91b4baa04"
      unitRef="usd">8000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMzEtMy0xLTEtODU5Mjk_931d14ab-fd6a-4c35-94c5-55568abd2ed8"
      unitRef="usd">-9000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMzItMS0xLTEtODU5Mjk_a56a96a1-5532-4979-a184-271c8d2de0b5"
      unitRef="usd">122129000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMzItMy0xLTEtODU5Mjk_0aa77b63-d8e2-4093-b319-fbad752a3247"
      unitRef="usd">128000000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMzMtMS0xLTEtODU5Mjk_669e68cd-5407-450b-9439-612e15c45553"
      unitRef="usd">306356000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMzMtMy0xLTEtODU5Mjk_67198bc3-ecb1-453e-bb87-1d97e60c2e5f"
      unitRef="usd">312188000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMzQtMS0xLTEtODU5Mjk_7486be08-4252-4f2e-9861-5aab222f63ae"
      unitRef="usd">577467000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xNi9mcmFnOjU0ODVkODg0NmRmODQyNzM4ZmRkNjhiYzVlMzVkOTVjL3RhYmxlOjNmYzgwYjg5YWVjMTRjNmI4Yjg3NGZiNjZmZmFhOGY4L3RhYmxlcmFuZ2U6M2ZjODBiODlhZWMxNGM2YjhiODc0ZmI2NmZmYWE4ZjhfMzQtMy0xLTEtODU5Mjk_22681680-fb4d-4fcf-b7bd-cc6f89d707c3"
      unitRef="usd">642175000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfMi0xLTEtMS04NTkyOQ_fbdafe96-579b-4e15-8f2e-9ce9f37b66fe"
      unitRef="usd">55407000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfMi0zLTEtMS04NTkyOQ_ea260e6b-6dac-4e27-9854-dddb18924d49"
      unitRef="usd">54552000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfMy0xLTEtMS04NTkyOQ_4829dd77-9dc3-49e0-8f38-3a3e531753d8"
      unitRef="usd">23863000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfMy0zLTEtMS04NTkyOQ_914a9cf1-4a70-4939-9a06-34e1f534a36b"
      unitRef="usd">17992000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfNC0xLTEtMS04NTkyOQ_23e723e7-a315-49e1-9094-327dc80039ad"
      unitRef="usd">31544000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfNC0zLTEtMS04NTkyOQ_2b101efc-0676-4675-b22e-1d70a7e797d7"
      unitRef="usd">36560000</us-gaap:GrossProfit>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfNi0xLTEtMS04NTkyOQ_cadc00f3-7861-4634-82cd-452b384cce63"
      unitRef="usd">6517000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfNi0zLTEtMS04NTkyOQ_569efe64-517b-48f6-a12b-a8114d17eb33"
      unitRef="usd">4773000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfNy0xLTEtMS04NTkyOQ_fa1e0af0-37d2-42b2-a302-f0187d62ce70"
      unitRef="usd">23127000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfNy0zLTEtMS04NTkyOQ_3620e7ec-b67c-4297-8da0-ec2c68efbac8"
      unitRef="usd">16456000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfOC0xLTEtMS04NTkyOQ_23b7f51c-7910-411f-bcad-1e8d5700d5c2"
      unitRef="usd">12572000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfOC0zLTEtMS04NTkyOQ_cfda46c0-0c65-4ad8-917b-b057e742fa8d"
      unitRef="usd">10750000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingExpenses
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfOS0xLTEtMS04NTkyOQ_78ccfe00-84af-4420-a279-8735a6d91216"
      unitRef="usd">42216000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfOS0zLTEtMS04NTkyOQ_3ce0be69-ecfc-49fc-b743-b1c9767caff2"
      unitRef="usd">31979000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfMTAtMS0xLTEtODU5Mjk_4137445a-4c6f-4e2c-8bf5-a427c10dd25e"
      unitRef="usd">-10672000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfMTAtMy0xLTEtODU5Mjk_b7ae0360-02aa-4968-8836-76e664b30261"
      unitRef="usd">4581000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfMTEtMS0xLTEtMTAxMDQ2_a110e5ea-6534-4a4b-95ea-f27f8f3492ee"
      unitRef="usd">1891000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfMTEtMy0xLTEtMTAxMDQ4_541c1a2e-9caf-4a46-9289-1ad5c4c78a19"
      unitRef="usd">122000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfMTEtMS0xLTEtODU5Mjk_a5e0055a-34ac-4d3d-8751-c5d487224ed1"
      unitRef="usd">-465000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfMTEtMy0xLTEtODU5Mjk_cc7f44b7-2931-48c0-89d8-8a755b57daa4"
      unitRef="usd">1479000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfMTItMS0xLTEtODU5Mjk_f095c01b-8085-4305-8d45-c2ebe4f3c270"
      unitRef="usd">-9246000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfMTItMy0xLTEtODU5Mjk_79b9d1ff-b2c1-4330-b229-ff294600cedc"
      unitRef="usd">6182000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfMTMtMS0xLTEtODU5Mjk_c8556e36-b7bf-4b8a-9a65-ee3dc0db8b82"
      unitRef="usd">-3375000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfMTMtMy0xLTEtODU5Mjk_c717e8e5-4931-4b3b-b46e-4faf457eab97"
      unitRef="usd">1403000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfMTQtMS0xLTEtODU5Mjk_d2c184c7-19cb-4e7b-8c4f-7dbfc3cfc293"
      unitRef="usd">-5871000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfMTQtMy0xLTEtODU5Mjk_bccad549-1b3e-44a9-8615-813003f1323e"
      unitRef="usd">4779000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfMTYtMS0xLTEtODU5Mjk_483af407-a63d-4ba7-88b3-3cc9d9086bdc"
      unitRef="usdPerShare">-0.11</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfMTYtMy0xLTEtODU5Mjk_de89023b-140f-4623-84ba-f50acd8f88d7"
      unitRef="usdPerShare">0.09</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfMTctMS0xLTEtODU5Mjk_7e6125f0-035a-4075-b0e6-c132dc602959"
      unitRef="usdPerShare">-0.11</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfMTctMy0xLTEtODU5Mjk_3257e4f3-b8dd-4deb-846e-3d9a859d12d3"
      unitRef="usdPerShare">0.08</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfMTktMS0xLTEtODU5Mjk_24dee405-9a54-49dc-8a99-2d3b3204a3ff"
      unitRef="shares">52740352</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfMTktMy0xLTEtODU5Mjk_360f9f65-2733-4e38-b181-744ddf481c4c"
      unitRef="shares">51910572</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfMjAtMS0xLTEtODU5Mjk_77bf5046-f5ba-457b-b6d0-bfedca16719a"
      unitRef="shares">52740352</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8xOS9mcmFnOmYwMWEwNjIwMWQwYjQ1ZWI5YTUzZWEwMjg5M2VkMGMzL3RhYmxlOjYwZGMwMDEyNmIwZjQ4OWFhMmNiYzk5OTM4M2RkMzUyL3RhYmxlcmFuZ2U6NjBkYzAwMTI2YjBmNDg5YWEyY2JjOTk5MzgzZGQzNTJfMjAtMy0xLTEtODU5Mjk_e392bb84-629b-46b4-8b38-d4baadc674ec"
      unitRef="shares">56888179</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yMi9mcmFnOjAzZDU5ZjQwNjEwYzRmZTNhZTY2NWQ2YjA3ZDQyZWI3L3RhYmxlOjM1YThlOTU0ODY1ZTQzOWRiN2IzM2Q2OTA1ZTgyYjg4L3RhYmxlcmFuZ2U6MzVhOGU5NTQ4NjVlNDM5ZGI3YjMzZDY5MDVlODJiODhfMi0xLTEtMS04NTkyOQ_badb6761-a53a-4de8-bb67-eab0e3b8e2a4"
      unitRef="usd">-5871000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yMi9mcmFnOjAzZDU5ZjQwNjEwYzRmZTNhZTY2NWQ2YjA3ZDQyZWI3L3RhYmxlOjM1YThlOTU0ODY1ZTQzOWRiN2IzM2Q2OTA1ZTgyYjg4L3RhYmxlcmFuZ2U6MzVhOGU5NTQ4NjVlNDM5ZGI3YjMzZDY5MDVlODJiODhfMi0zLTEtMS04NTkyOQ_04764d2c-d9dc-45aa-8259-34dff0ba46d2"
      unitRef="usd">4779000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yMi9mcmFnOjAzZDU5ZjQwNjEwYzRmZTNhZTY2NWQ2YjA3ZDQyZWI3L3RhYmxlOjM1YThlOTU0ODY1ZTQzOWRiN2IzM2Q2OTA1ZTgyYjg4L3RhYmxlcmFuZ2U6MzVhOGU5NTQ4NjVlNDM5ZGI3YjMzZDY5MDVlODJiODhfNC0xLTEtMS04NTkyOQ_30886335-c612-4b6a-bf16-915c822780be"
      unitRef="usd">17000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yMi9mcmFnOjAzZDU5ZjQwNjEwYzRmZTNhZTY2NWQ2YjA3ZDQyZWI3L3RhYmxlOjM1YThlOTU0ODY1ZTQzOWRiN2IzM2Q2OTA1ZTgyYjg4L3RhYmxlcmFuZ2U6MzVhOGU5NTQ4NjVlNDM5ZGI3YjMzZDY5MDVlODJiODhfNC0zLTEtMS04NTkyOQ_45ea8318-ea61-4194-a945-ffc54328d9a2"
      unitRef="usd">-203000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yMi9mcmFnOjAzZDU5ZjQwNjEwYzRmZTNhZTY2NWQ2YjA3ZDQyZWI3L3RhYmxlOjM1YThlOTU0ODY1ZTQzOWRiN2IzM2Q2OTA1ZTgyYjg4L3RhYmxlcmFuZ2U6MzVhOGU5NTQ4NjVlNDM5ZGI3YjMzZDY5MDVlODJiODhfNS0xLTEtMS04NTkyOQ_1e2d93ce-b3a5-4d97-8864-a4599d6d163d"
      unitRef="usd">-5854000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yMi9mcmFnOjAzZDU5ZjQwNjEwYzRmZTNhZTY2NWQ2YjA3ZDQyZWI3L3RhYmxlOjM1YThlOTU0ODY1ZTQzOWRiN2IzM2Q2OTA1ZTgyYjg4L3RhYmxlcmFuZ2U6MzVhOGU5NTQ4NjVlNDM5ZGI3YjMzZDY5MDVlODJiODhfNS0zLTEtMS04NTkyOQ_bb156101-79be-4bbe-a97d-5f2b52604943"
      unitRef="usd">4576000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="ia191fce97ab64efa93436a4de6d58f31_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfMi0xLTEtMS04NTkyOQ_36e675b5-1ca9-4768-925c-c4256d92d9b6"
      unitRef="shares">52705187</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ia191fce97ab64efa93436a4de6d58f31_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfMi0zLTEtMS04NTkyOQ_1709367b-1606-459c-afd0-700f81557fd4"
      unitRef="usd">6000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i841c5df2431c468eb6a308743a5cd8c0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfMi01LTEtMS04NTkyOQ_ea0ab62c-c63a-4aac-9db5-f4c274a28091"
      unitRef="usd">-11486000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7dbcef02067d4a30a72150ac951e39e6_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfMi03LTEtMS04NTkyOQ_652680d7-f8b2-4863-9d4d-e928c3252cf4"
      unitRef="usd">195677000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if28ac86666184a1f8f524ad7ca67142e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfMi05LTEtMS04NTkyOQ_d3443806-8c90-456f-8009-233185d24857"
      unitRef="usd">-9000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if29ea19997cb4718b52a8e5c73917893_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfMi0xMS0xLTEtODU5Mjk_5fcbf7cd-1d8c-4539-97b3-20aa5517f420"
      unitRef="usd">128000000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfMi0xMy0xLTEtODU5Mjk_1a0fcc82-bff4-4d71-a9f5-2e74c77e0dae"
      unitRef="usd">312188000</us-gaap:StockholdersEquity>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i5eabb91ae903419fbcad247e2b419d50_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfMy03LTEtMS04NTkyOQ_2800acf2-494a-472a-b8fa-cdbf08bbf6de"
      unitRef="usd">7606000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfMy0xMy0xLTEtODU5Mjk_b0a3cbed-3e72-4ff8-959b-1a4a6045e796"
      unitRef="usd">7606000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i3ca3dcca15f243eea3216768801123fe_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfNC0xLTEtMS04NTkyOQ_07ad0db9-5e0c-4702-a6b6-8a7f6914af04"
      unitRef="shares">108597</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i5eabb91ae903419fbcad247e2b419d50_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfNC03LTEtMS04NTkyOQ_e148bb0e-c6ec-4b5d-997c-930ff7e97ca9"
      unitRef="usd">314000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfNC0xMy0xLTEtODU5Mjk_01eaac41-fde0-46b6-9f80-291f2ae17981"
      unitRef="usd">314000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="i3ca3dcca15f243eea3216768801123fe_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfNS0xLTEtMS05Nzc0Ng_8601dded-92f7-4c27-a8d5-909d394ae73b"
      unitRef="shares">586830</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i80fb90fc347c4450934c00e5ea439cf9_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfNS01LTEtMS05NzgwMg_9e4f46fa-4c78-48ca-bacb-199fe263ad1f"
      unitRef="usd">7898000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfNS0xMy0xLTEtOTk1OTk_0f16794e-dc0f-4a4f-b6ff-e4197888f034"
      unitRef="usd">7898000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="i3ca3dcca15f243eea3216768801123fe_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfNS0xLTEtMS04NTkyOQ_765ee81d-631c-4510-aa00-9a82faae44c2"
      unitRef="shares">95825</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="ic452765dd8904dd0ba6f572355c9b985_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfNi05LTEtMS04NTkyOQ_36df500b-3eaa-42a6-bcb2-a35d4b7ad167"
      unitRef="usd">17000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfNi0xMy0xLTEtODU5Mjk_75896449-a2d3-46ab-bbc7-a1a0554d1cc0"
      unitRef="usd">17000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:NetIncomeLoss
      contextRef="i3348ae8c61e74f029cb9ba8525da391d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfNy0xMS0xLTEtODU5Mjk_f24068ff-f80a-4c8c-a40c-a9e7b019b25c"
      unitRef="usd">-5871000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfNy0xMy0xLTEtODU5Mjk_4f135291-1375-4c30-a1cf-eb10c9eb2873"
      unitRef="usd">-5871000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="if886e8414f4b4ea6b8f106d9ac6aa0bb_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfOC0xLTEtMS04NTkyOQ_c6f6b777-6fe7-4e87-9f36-0077c10bbff2"
      unitRef="shares">52322779</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="if886e8414f4b4ea6b8f106d9ac6aa0bb_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfOC0zLTEtMS04NTkyOQ_cea433ab-385c-4989-936c-4e81847b3ccb"
      unitRef="usd">6000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8f60c823faeb4a0a8fa285693da1dcad_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfOC01LTEtMS04NTkyOQ_57632452-8576-4431-b273-afaea169d972"
      unitRef="usd">-19384000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i78e7c705ee7e4633a40de77284f295bc_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfOC03LTEtMS04NTkyOQ_824b5769-cd47-4d10-ad11-e5fb62625a86"
      unitRef="usd">203597000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie13fc1f238e046e49095ffda93f17e7a_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfOC05LTEtMS04NTkyOQ_9947e57e-dfe7-41a8-81c6-5a37e9b608bd"
      unitRef="usd">8000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i29f77daaa7964de795be1e56874ea3fe_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfOC0xMS0xLTEtODU5Mjk_8171e3db-398a-4eb9-b80a-63b9be8c9f4f"
      unitRef="usd">122129000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjNlYzQ1NWE5ZDE5NjQ0NjZiYzU3Y2NhMjgyOWY4ZTJmL3RhYmxlcmFuZ2U6M2VjNDU1YTlkMTk2NDQ2NmJjNTdjY2EyODI5ZjhlMmZfOC0xMy0xLTEtODU5Mjk_9913339f-91a8-4147-b319-df5d35a1bb87"
      unitRef="usd">306356000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i1c6a77a024fa445ead9ecda85d65e3c8_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjg1MzRiNmJjMWYyYjQ0MjNiM2YxY2MzZGZkYmJmOGE0L3RhYmxlcmFuZ2U6ODUzNGI2YmMxZjJiNDQyM2IzZjFjYzNkZmRiYmY4YTRfMi0xLTEtMS04NjI1OQ_e597df5c-6efc-4be8-8fba-b0af02356d53"
      unitRef="shares">51854749</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i1c6a77a024fa445ead9ecda85d65e3c8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjg1MzRiNmJjMWYyYjQ0MjNiM2YxY2MzZGZkYmJmOGE0L3RhYmxlcmFuZ2U6ODUzNGI2YmMxZjJiNDQyM2IzZjFjYzNkZmRiYmY4YTRfMi0zLTEtMS04NjI1OQ_3f9256f4-394e-42f5-96f0-c9af310d4c13"
      unitRef="usd">6000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i1b301542d48f48d5855b6bfe8fb13ed8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjg1MzRiNmJjMWYyYjQ0MjNiM2YxY2MzZGZkYmJmOGE0L3RhYmxlcmFuZ2U6ODUzNGI2YmMxZjJiNDQyM2IzZjFjYzNkZmRiYmY4YTRfMi01LTEtMS04NjI1OQ_052147ee-4a78-4750-859f-7a600adc8ead"
      unitRef="usd">-11486000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic3d737ac68b7440880013825b0ea1f53_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjg1MzRiNmJjMWYyYjQ0MjNiM2YxY2MzZGZkYmJmOGE0L3RhYmxlcmFuZ2U6ODUzNGI2YmMxZjJiNDQyM2IzZjFjYzNkZmRiYmY4YTRfMi03LTEtMS04NjI1OQ_29021f27-b8e0-44d9-abec-2ddcf49b546f"
      unitRef="usd">169401000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i097a932901014fcc9837cc99e426d4bf_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjg1MzRiNmJjMWYyYjQ0MjNiM2YxY2MzZGZkYmJmOGE0L3RhYmxlcmFuZ2U6ODUzNGI2YmMxZjJiNDQyM2IzZjFjYzNkZmRiYmY4YTRfMi05LTEtMS04NjI1OQ_0e7e1bb6-28c5-4432-b849-f00cac31749d"
      unitRef="usd">-36000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id954e90e2f0346eca9226dfc6800240c_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjg1MzRiNmJjMWYyYjQ0MjNiM2YxY2MzZGZkYmJmOGE0L3RhYmxlcmFuZ2U6ODUzNGI2YmMxZjJiNDQyM2IzZjFjYzNkZmRiYmY4YTRfMi0xMS0xLTEtODYyNTk_3aea3501-b04c-4112-ac45-76f7210141f0"
      unitRef="usd">99295000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i1c2c84e8c8c04785a918851d5b816ee6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjg1MzRiNmJjMWYyYjQ0MjNiM2YxY2MzZGZkYmJmOGE0L3RhYmxlcmFuZ2U6ODUzNGI2YmMxZjJiNDQyM2IzZjFjYzNkZmRiYmY4YTRfMi0xMy0xLTEtOTg3MDM_e343268f-44e1-41a9-b7dd-1c4f1527a2b5"
      unitRef="usd">257180000</us-gaap:StockholdersEquity>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i6b3e1f3d0b224bdfa3110b5c93fbe1c0_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjg1MzRiNmJjMWYyYjQ0MjNiM2YxY2MzZGZkYmJmOGE0L3RhYmxlcmFuZ2U6ODUzNGI2YmMxZjJiNDQyM2IzZjFjYzNkZmRiYmY4YTRfMy03LTEtMS04NjI1OQ_a7e61d4d-6a64-4eaf-80fb-e6b339f356b8"
      unitRef="usd">5469000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjg1MzRiNmJjMWYyYjQ0MjNiM2YxY2MzZGZkYmJmOGE0L3RhYmxlcmFuZ2U6ODUzNGI2YmMxZjJiNDQyM2IzZjFjYzNkZmRiYmY4YTRfMy0xMy0xLTEtOTg3MDE_59729250-c223-4437-ab3d-09693d0b7b06"
      unitRef="usd">5469000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i5d3de5886f114ffea2523fcd3d3b0237_D20220101-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjg1MzRiNmJjMWYyYjQ0MjNiM2YxY2MzZGZkYmJmOGE0L3RhYmxlcmFuZ2U6ODUzNGI2YmMxZjJiNDQyM2IzZjFjYzNkZmRiYmY4YTRfNC0xLTEtMS04NjI1OQ_c88d06ba-ab12-452d-83f5-07e72796f4a1"
      unitRef="shares">130958</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i6b3e1f3d0b224bdfa3110b5c93fbe1c0_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjg1MzRiNmJjMWYyYjQ0MjNiM2YxY2MzZGZkYmJmOGE0L3RhYmxlcmFuZ2U6ODUzNGI2YmMxZjJiNDQyM2IzZjFjYzNkZmRiYmY4YTRfNC03LTEtMS04NjI1OQ_3500dac0-580b-4202-b132-80a44323cd34"
      unitRef="usd">481000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjg1MzRiNmJjMWYyYjQ0MjNiM2YxY2MzZGZkYmJmOGE0L3RhYmxlcmFuZ2U6ODUzNGI2YmMxZjJiNDQyM2IzZjFjYzNkZmRiYmY4YTRfNC0xMy0xLTEtOTg2OTg_ca9e8bf0-306b-4506-8a91-9f48b4197be0"
      unitRef="usd">481000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="i5d3de5886f114ffea2523fcd3d3b0237_D20220101-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjg1MzRiNmJjMWYyYjQ0MjNiM2YxY2MzZGZkYmJmOGE0L3RhYmxlcmFuZ2U6ODUzNGI2YmMxZjJiNDQyM2IzZjFjYzNkZmRiYmY4YTRfNS0xLTEtMS04NjI1OQ_e2bc455f-aff2-4b2b-bed0-4bbe269c718d"
      unitRef="shares">25033</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="if009cf3c7f23426db3c71c0815abaa2e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjg1MzRiNmJjMWYyYjQ0MjNiM2YxY2MzZGZkYmJmOGE0L3RhYmxlcmFuZ2U6ODUzNGI2YmMxZjJiNDQyM2IzZjFjYzNkZmRiYmY4YTRfNi05LTEtMS04NjI1OQ_2ca65a59-eaf3-432c-96fd-3327c8870f81"
      unitRef="usd">-203000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjg1MzRiNmJjMWYyYjQ0MjNiM2YxY2MzZGZkYmJmOGE0L3RhYmxlcmFuZ2U6ODUzNGI2YmMxZjJiNDQyM2IzZjFjYzNkZmRiYmY4YTRfNi0xMy0xLTEtOTg2OTM_3aec0c8a-6131-4cbb-985c-daad1430b1e1"
      unitRef="usd">-203000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:NetIncomeLoss
      contextRef="i93db70d542f74ea192b9a5f9a0ec37e1_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjg1MzRiNmJjMWYyYjQ0MjNiM2YxY2MzZGZkYmJmOGE0L3RhYmxlcmFuZ2U6ODUzNGI2YmMxZjJiNDQyM2IzZjFjYzNkZmRiYmY4YTRfNy0xMS0xLTEtODYyNTk_e90e64ab-9309-446a-9006-186a3903e0f9"
      unitRef="usd">4779000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjg1MzRiNmJjMWYyYjQ0MjNiM2YxY2MzZGZkYmJmOGE0L3RhYmxlcmFuZ2U6ODUzNGI2YmMxZjJiNDQyM2IzZjFjYzNkZmRiYmY4YTRfNy0xMy0xLTEtOTg2OTY_f81efc1a-b50b-413a-8c72-a062e415670f"
      unitRef="usd">4779000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="ib636291d69ad4c6aadbefbe2d57b4e38_I20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjg1MzRiNmJjMWYyYjQ0MjNiM2YxY2MzZGZkYmJmOGE0L3RhYmxlcmFuZ2U6ODUzNGI2YmMxZjJiNDQyM2IzZjFjYzNkZmRiYmY4YTRfOC0xLTEtMS04NjI1OQ_a5ac1730-c12e-4332-b7ab-03a976469095"
      unitRef="shares">52010740</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ib636291d69ad4c6aadbefbe2d57b4e38_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjg1MzRiNmJjMWYyYjQ0MjNiM2YxY2MzZGZkYmJmOGE0L3RhYmxlcmFuZ2U6ODUzNGI2YmMxZjJiNDQyM2IzZjFjYzNkZmRiYmY4YTRfOC0zLTEtMS04NjI1OQ_ce310c59-2a13-46d1-95a5-669e6c6e6ed7"
      unitRef="usd">6000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7e455eb4162a480ba2cf8e44ed0fb8ce_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjg1MzRiNmJjMWYyYjQ0MjNiM2YxY2MzZGZkYmJmOGE0L3RhYmxlcmFuZ2U6ODUzNGI2YmMxZjJiNDQyM2IzZjFjYzNkZmRiYmY4YTRfOC01LTEtMS04NjI1OQ_fbeef2f0-df60-4eb0-954e-cb6f208d2a6b"
      unitRef="usd">-11486000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id76fa9c91260460c99c8896e12e64d39_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjg1MzRiNmJjMWYyYjQ0MjNiM2YxY2MzZGZkYmJmOGE0L3RhYmxlcmFuZ2U6ODUzNGI2YmMxZjJiNDQyM2IzZjFjYzNkZmRiYmY4YTRfOC03LTEtMS04NjI1OQ_ff546779-0c09-4f57-be89-8263dea1f5ec"
      unitRef="usd">175351000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i2cdd0a38fd8946b88870f84fe8741d6e_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjg1MzRiNmJjMWYyYjQ0MjNiM2YxY2MzZGZkYmJmOGE0L3RhYmxlcmFuZ2U6ODUzNGI2YmMxZjJiNDQyM2IzZjFjYzNkZmRiYmY4YTRfOC05LTEtMS04NjI1OQ_c35fe5e5-5a44-477b-a320-92f1ef4da12d"
      unitRef="usd">-239000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i08bdcf06c4a5490e864acf0542b295e7_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjg1MzRiNmJjMWYyYjQ0MjNiM2YxY2MzZGZkYmJmOGE0L3RhYmxlcmFuZ2U6ODUzNGI2YmMxZjJiNDQyM2IzZjFjYzNkZmRiYmY4YTRfOC0xMS0xLTEtODYyNTk_a7441889-7e67-4f54-b833-3ab15c021054"
      unitRef="usd">104074000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ibe6de3b18e4948f990aba19715514a3c_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yNS9mcmFnOjRiYzM5YzIxOWI4ZDQwZjY4ZjE1ZTRmMDVmMzk1Y2FmL3RhYmxlOjg1MzRiNmJjMWYyYjQ0MjNiM2YxY2MzZGZkYmJmOGE0L3RhYmxlcmFuZ2U6ODUzNGI2YmMxZjJiNDQyM2IzZjFjYzNkZmRiYmY4YTRfOC0xMy0xLTEtODYyNTk_48461cfe-69ca-4f7b-9521-9e24d86f42ad"
      unitRef="usd">267706000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMy0xLTEtMS04NTkyOQ_b702b9e8-3091-4588-89f4-a7101a3c516b"
      unitRef="usd">-5871000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMy0zLTEtMS04NTkyOQ_d0533279-3ea6-423b-9092-5f4e8a15a715"
      unitRef="usd">4779000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherDepreciationAndAmortization
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfNS0xLTEtMS04NTkyOQ_776f5d16-1e7e-4862-a2da-fb8bc512f756"
      unitRef="usd">11432000</us-gaap:OtherDepreciationAndAmortization>
    <us-gaap:OtherDepreciationAndAmortization
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfNS0zLTEtMS04NTkyOQ_b6900c36-74a1-4ca5-bf1f-bcd7f16d9dd6"
      unitRef="usd">7183000</us-gaap:OtherDepreciationAndAmortization>
    <us-gaap:EquitySecuritiesFvNiUnrealizedGainLoss
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfNi0xLTEtMS04NTkyOQ_4356dc22-1af4-4d45-9995-880c565f22ed"
      unitRef="usd">0</us-gaap:EquitySecuritiesFvNiUnrealizedGainLoss>
    <us-gaap:EquitySecuritiesFvNiUnrealizedGainLoss
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfNi0zLTEtMS04NTkyOQ_3cecb0ff-7858-4bd0-83c8-675f8433023a"
      unitRef="usd">1373000</us-gaap:EquitySecuritiesFvNiUnrealizedGainLoss>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfNy0xLTEtMS04NTkyOQ_22e9c474-597a-4ecb-9f2f-1337eacd0504"
      unitRef="usd">7059000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfNy0zLTEtMS04NTkyOQ_6c08acd9-3b24-4142-abdd-8f4aafe96712"
      unitRef="usd">5136000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfOC0xLTEtMS04NTkyOQ_24a50c9b-2d00-405b-a258-2895a4a45707"
      unitRef="usd">-4327000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfOC0zLTEtMS04NTkyOQ_ef0786ad-5608-4f68-9069-4782e53d28b1"
      unitRef="usd">-1645000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfOS0xLTEtMS04NTkyOQ_0267262c-ee6e-4002-bc13-e0d79783e9a7"
      unitRef="usd">1057000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
    <us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfOS0zLTEtMS04NTkyOQ_e62233e0-29aa-498b-b26c-6e76751b1973"
      unitRef="usd">-23000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
    <pubm:NonCashLeaseExpense
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMTAtMS0xLTEtODU5Mjk_73d5c94b-ffc0-4ae0-8d57-c4e95943f115"
      unitRef="usd">1532000</pubm:NonCashLeaseExpense>
    <pubm:NonCashLeaseExpense
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMTAtMy0xLTEtODU5Mjk_1f5d4b14-81be-4897-b0a6-3a843c4667eb"
      unitRef="usd">1272000</pubm:NonCashLeaseExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMTEtMS0xLTEtODU5Mjk_324a1357-4781-4ae8-92c7-e52673c36c2b"
      unitRef="usd">3000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMTEtMy0xLTEtODU5Mjk_317c7ac7-6a2f-4608-a3ec-c881cdb5e9bc"
      unitRef="usd">-54000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMTMtMS0xLTEtODU5Mjk_93fec693-03b6-4540-b276-1b53bf23c9f3"
      unitRef="usd">-61292000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMTMtMy0xLTEtODU5Mjk_defd53c2-6444-4966-a1cc-db52d3308bf3"
      unitRef="usd">-68557000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMTQtMS0xLTEtODU5Mjk_33412f98-279a-4ab0-aded-a7608d4dd8bb"
      unitRef="usd">-894000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMTQtMy0xLTEtODU5Mjk_9fc4ff2f-5575-43bb-b33c-da60a3c68a42"
      unitRef="usd">-2054000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMTUtMS0xLTEtODU5Mjk_d5933632-f9c8-483e-a2ab-3e5793713c3b"
      unitRef="usd">-55387000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMTUtMy0xLTEtODU5Mjk_4e4d0658-be88-444e-85fe-9aed85a12630"
      unitRef="usd">-58588000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMTYtMS0xLTEtODU5Mjk_05a6ccc6-21a0-4471-a2e4-ac779e280fb7"
      unitRef="usd">-833000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMTYtMy0xLTEtODU5Mjk_a8d3edc6-6922-4cf2-9f02-175284f85e44"
      unitRef="usd">-6822000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMTctMS0xLTEtODU5Mjk_0b803fc9-2aff-4ba5-ab94-b19549a4b871"
      unitRef="usd">-1265000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMTctMy0xLTEtODU5Mjk_54382452-5d80-4fc5-8e94-c28bbb91fbe7"
      unitRef="usd">-1177000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMTgtMS0xLTEtODU5Mjk_a8d5c4cc-34c1-47a8-b84f-761e6586852e"
      unitRef="usd">-712000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMTgtMy0xLTEtODU5Mjk_1e7228a4-c22c-4f97-ac33-2d18129c13ec"
      unitRef="usd">-139000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMTktMS0xLTEtODU5Mjk_4bc1ea88-fa6e-4afd-a97d-962b78d25394"
      unitRef="usd">12754000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMTktMy0xLTEtODU5Mjk_206029bb-e6c5-46e9-84e3-125ae5488ea3"
      unitRef="usd">19314000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMjEtMS0xLTEtODU5Mjk_103349e9-8a27-4d07-933b-564812b247a9"
      unitRef="usd">1417000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMjEtMy0xLTEtODU5Mjk_b7cf2684-04b1-4204-b7a2-afeda0806c96"
      unitRef="usd">148000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMjItMS0xLTEtODU5Mjk_db2776f7-32e1-4c24-8d98-76f1afd70e7e"
      unitRef="usd">6001000</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMjItMy0xLTEtODU5Mjk_3bec49b4-7f31-48fe-8218-19a3e37c6b81"
      unitRef="usd">4235000</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:PaymentsToAcquireMarketableSecurities
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMjMtMS0xLTEtODU5Mjk_47745fe1-98c6-4d4c-ab7f-b8f1d26ccc16"
      unitRef="usd">40343000</us-gaap:PaymentsToAcquireMarketableSecurities>
    <us-gaap:PaymentsToAcquireMarketableSecurities
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMjMtMy0xLTEtODU5Mjk_700156de-dc7d-4d77-b1bb-e715a124f1c0"
      unitRef="usd">39422000</us-gaap:PaymentsToAcquireMarketableSecurities>
    <us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMjQtMS0xLTEtODU5Mjk_5d84ec0a-b836-4b4a-9c74-6d9a0030bfe3"
      unitRef="usd">29500000</us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities>
    <us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMjQtMy0xLTEtODU5Mjk_2745150e-127d-4b66-b32e-245640d13172"
      unitRef="usd">16000000</us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMjYtMS0xLTEtODU5Mjk_5d30f9fe-0ae9-487c-8112-02572ddf014a"
      unitRef="usd">-18261000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMjYtMy0xLTEtODU5Mjk_b93e6128-7415-42a3-ab2b-f4588ecb9f4f"
      unitRef="usd">-27805000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMjktMS0xLTEtODU5Mjk_58c774fe-6100-4ccc-954b-bee58f6b20b2"
      unitRef="usd">314000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMjktMy0xLTEtODU5Mjk_b9f6b19a-e29b-4198-b47e-a2e3f7a09e9d"
      unitRef="usd">481000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMzAtMS0xLTEtODU5Mjk_a59d2f96-f623-45e2-9260-49c29b90d2da"
      unitRef="usd">31000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMzAtMy0xLTEtODU5Mjk_9fa8c43c-80d1-485c-8815-1333eddf8133"
      unitRef="usd">28000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMzItMS0xLTEtODU5Mjk_62045e0a-3767-4f59-964b-21851a0f23bd"
      unitRef="usd">7898000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMzItMy0xLTEtODU5Mjk_9c38e2bb-5f94-418d-8378-ab0df4d6614c"
      unitRef="usd">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMzMtMS0xLTEtODU5Mjk_9b7b580c-90c8-4496-97dc-142bd1b58386"
      unitRef="usd">-7615000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMzMtMy0xLTEtODU5Mjk_3c56597c-0a9f-440b-af2b-d7584537eab4"
      unitRef="usd">453000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMzQtMS0xLTEtODU5Mjk_858e8e62-2f9c-443d-8a10-cdb591e62442"
      unitRef="usd">-13122000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMzQtMy0xLTEtODU5Mjk_2b441f1e-bd2a-4bc4-a67a-57c6ba611e0c"
      unitRef="usd">-8038000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMzUtMS0xLTEtODU5Mjk_f1fb9721-e47f-4d1d-a80a-d9be7c75469b"
      unitRef="usd">92382000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i1c2c84e8c8c04785a918851d5b816ee6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMzUtMy0xLTEtODU5Mjk_e17c4f29-a5d4-4ece-9768-c04dbdf77727"
      unitRef="usd">82505000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMzYtMS0xLTEtODU5Mjk_6fa076c4-2d17-4d54-bd6e-50de4e4f86fc"
      unitRef="usd">79260000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ibe6de3b18e4948f990aba19715514a3c_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMzYtMy0xLTEtODU5Mjk_d5e35503-db57-4982-a2e7-48e9a3faac98"
      unitRef="usd">74467000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMzgtMS0xLTEtODU5Mjk_b6455114-1c63-4fd7-ad49-b07c2c8c1575"
      unitRef="usd">349000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfMzgtMy0xLTEtODU5Mjk_d160413d-24de-491a-a1d9-b889ec7550f7"
      unitRef="usd">323000</us-gaap:IncomeTaxesPaidNet>
    <pubm:StockBasedCompensationCapitalizedAsInternalUseSoftwareCosts
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfNDAtMS0xLTEtODU5Mjk_c1178c66-ba1a-40f3-9dab-66d8ffcf348f"
      unitRef="usd">547000</pubm:StockBasedCompensationCapitalizedAsInternalUseSoftwareCosts>
    <pubm:StockBasedCompensationCapitalizedAsInternalUseSoftwareCosts
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfNDAtMy0xLTEtODU5Mjk_526b6a5c-8a9f-495d-8e9c-87f0e4a412ca"
      unitRef="usd">333000</pubm:StockBasedCompensationCapitalizedAsInternalUseSoftwareCosts>
    <pubm:PropertyAndEquipmentIncludedInAccountsPayableAndAccruedExpenses
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfNDEtMS0xLTEtODU5Mjk_09f80337-d453-42db-a0f0-d98add9bb184"
      unitRef="usd">1311000</pubm:PropertyAndEquipmentIncludedInAccountsPayableAndAccruedExpenses>
    <pubm:PropertyAndEquipmentIncludedInAccountsPayableAndAccruedExpenses
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfNDEtMy0xLTEtODU5Mjk_e168cb35-48aa-4b09-a373-187d7ac09a2e"
      unitRef="usd">334000</pubm:PropertyAndEquipmentIncludedInAccountsPayableAndAccruedExpenses>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfNDItMS0xLTEtODU5Mjk_bb55eb5f-74a8-4fca-b733-8b08d0a3c6cb"
      unitRef="usd">820000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfNDItMy0xLTEtODU5Mjk_6a016c9e-8098-4295-b68f-5cf67bf1a3b6"
      unitRef="usd">516000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfNDMtMS0xLTEtODU5Mjk_f17051f4-cc63-40cd-b7b2-0fd0e9a378b3"
      unitRef="usd">167000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfNDMtMy0xLTEtODU5Mjk_2fb6e432-c30e-4952-b6e5-528715210dcc"
      unitRef="usd">4632000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <pubm:NoncashOrPartNoncashAcquisitionIndemnificationClaimsHoldback
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfNDQtMS0xLTEtODU5Mjk_135f93d6-bfbe-419e-acb2-42c293c56177"
      unitRef="usd">2148000</pubm:NoncashOrPartNoncashAcquisitionIndemnificationClaimsHoldback>
    <pubm:NoncashOrPartNoncashAcquisitionIndemnificationClaimsHoldback
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8yOC9mcmFnOjlkODE5OWZhNDU3MjRiNzM4NTY0ZjM3MTlhZTg4ZTBkL3RhYmxlOjUyNjIwZTgzOWRkNDRhMTJhZjBjMTk2ZmNhMWE2MTg1L3RhYmxlcmFuZ2U6NTI2MjBlODM5ZGQ0NGExMmFmMGMxOTZmY2ExYTYxODVfNDQtMy0xLTEtODU5Mjk_d3c5579d-9d94-4028-a9f7-ab1a3c706d98"
      unitRef="usd">0</pubm:NoncashOrPartNoncashAcquisitionIndemnificationClaimsHoldback>
    <us-gaap:NatureOfOperations
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8zNC9mcmFnOmNhOWI3ZmZlMTlmMTQ4MjE4NmM0ODlhMjc2ZTE0ZGFkL3RleHRyZWdpb246Y2E5YjdmZmUxOWYxNDgyMTg2YzQ4OWEyNzZlMTRkYWRfNjA1_1044bc4e-93c9-4acb-9d81-8df3ce81cf0c">Organization and Description of BusinessPubMatic, Inc. (together with its subsidiaries, the &#x201c;Company&#x201d; or &#x201c;PubMatic&#x201d;) was founded in 2006. The Company has offices in California, New York, Europe, Asia, and Australia. The Company provides a specialized cloud infrastructure platform that enables real-time programmatic advertising transactions. The purpose-built technology and infrastructure provides superior outcomes for both publishers and advertisers leveraging an efficient design, machine learning, and data processing capabilities, with customer alignment and global omnichannel reach.</us-gaap:NatureOfOperations>
    <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8zNy9mcmFnOmJmOWNjNDM0NWMzYTRkYTJhM2Q1ZWY5ZTg2MjhhYzBjL3RleHRyZWdpb246YmY5Y2M0MzQ1YzNhNGRhMmEzZDVlZjllODYyOGFjMGNfOTg5Mw_5e2c2887-43a4-4258-8a4d-3bf8eccb5c48">Basis of Presentation and Summary of Significant Accounting Policies&lt;div style="margin-top:6pt;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;Fiscal Year&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 Company&#x2019;s fiscal year ends on December&#160;31, and its fiscal quarters end on March 31, June 30, September 30, and December 31. References to fiscal year 2023, for example, refer to the fiscal year ending December&#160;31, 2023.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;Unaudited Interim Condensed Consolidated Financial Information&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 unaudited condensed consolidated financial statements include the accounts of PubMatic, Inc. and its wholly owned subsidiaries, and have been prepared in accordance with generally accepted accounting principles in the United States (&#x201c;GAAP&#x201d;) and following the requirements of the Securities and Exchange Commission (&#x201c;SEC&#x201d;) for interim reporting. As permitted under those rules, certain footnotes or other financial information that are normally required by GAAP can be condensed or omitted. These financial statements have been prepared on the same basis as the Company&#x2019;s annual financial statements and, in the opinion of management, reflect all adjustments, consisting only of normal recurring adjustments, which are necessary for the fair statement of the Company&#x2019;s financial information. These interim results are not necessarily indicative of the results to be expected for the fiscal year ending December&#160;31, 2023 or for any other interim period or for any other future year. The accompanying unaudited condensed consolidated financial statements and related financial information should be read in conjunction with the audited consolidated financial statements and the related notes contained in the Company&#x2019;s Annual Report on Form 10-K for the fiscal year ended December&#160;31, 2022, as filed with the SEC on February 28, 2023 (the &#x201c;Annual Report&#x201d;).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;Basis of Presentation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 accompanying condensed consolidated financial statements have been prepared in accordance with GAAP. The accompanying condensed consolidated financial statements include the accounts of PubMatic, Inc. and its wholly-owned subsidiaries. All intercompany accounts and transactions have been eliminated in consolidation. Certain prior period amounts reported in our condensed consolidated financial statements and notes thereto have been reclassified to conform to the current period presentation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 preparation of the condensed consolidated financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the amounts of assets and liabilities reported, disclosures about contingent assets and liabilities, and reported amounts of revenue and expenses.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 Company evaluates its estimates and assumptions on an ongoing basis using historical experience and other factors and adjusts those estimates and assumptions when facts and circumstances dictate. Actual results could materially differ from those estimates and assumptions. Due to the inherent uncertainty involved in making assumptions and estimates, events and changes in circumstances arising after March&#160;31, 2023, may result in actual outcomes that differ from those contemplated by the Company&#x2019;s assumptions and estimates.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;Concentration of Revenue and Accounts Receivable&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 Company defines its revenue concentration based on revenue recognized from individual publishers. For the three months ended March 31, 2023 and 2022, one publisher represented 11% and 14%, respectively, of the Company&#x2019;s revenue. As of March&#160;31, 2023, two buyers accounted for 32% and 20%, respectively, of accounts receivable. As of December&#160;31, 2022, three buyers accounted for 33%, 15%, and 11%, respectively, of accounts receivable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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;Recently Adopted Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;In October 2021, the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) issued Accounting Standards Update (&#x201c;ASU&#x201d;) No. 2021-08, Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers, which requires contract assets and contract liabilities acquired in a business combination to be recognized and measured in accordance with Topic 606, Revenue from Contracts with Customers, as if the acquirer had originated the contracts. Under previous GAAP, such assets and liabilities were recognized by the acquirer at fair value on the acquisition date. The Company adopted ASU 2021-08 as of January 1, 2023. The adoption of ASU 2021-08 did not have a material impact on the Company&#x2019;s condensed consolidated financial statements.&lt;/span&gt;&lt;/div&gt;</us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8zNy9mcmFnOmJmOWNjNDM0NWMzYTRkYTJhM2Q1ZWY5ZTg2MjhhYzBjL3RleHRyZWdpb246YmY5Y2M0MzQ1YzNhNGRhMmEzZDVlZjllODYyOGFjMGNfOTg5NA_bd18ba15-7cbd-43a2-9f54-4d23c88cd978">&lt;div style="margin-top:6pt;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;Basis of Presentation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 accompanying condensed consolidated financial statements have been prepared in accordance with GAAP. The accompanying condensed consolidated financial statements include the accounts of PubMatic, Inc. and its wholly-owned subsidiaries. All intercompany accounts and transactions have been eliminated in consolidation. Certain prior period amounts reported in our condensed consolidated financial statements and notes thereto have been reclassified to conform to the current period presentation.&lt;/span&gt;&lt;/div&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8zNy9mcmFnOmJmOWNjNDM0NWMzYTRkYTJhM2Q1ZWY5ZTg2MjhhYzBjL3RleHRyZWdpb246YmY5Y2M0MzQ1YzNhNGRhMmEzZDVlZjllODYyOGFjMGNfOTg5Ng_54f68205-473d-4b46-9a4a-2c516b15e77c">&lt;div style="margin-top:6pt;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;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 preparation of the condensed consolidated financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the amounts of assets and liabilities reported, disclosures about contingent assets and liabilities, and reported amounts of revenue and expenses.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 Company evaluates its estimates and assumptions on an ongoing basis using historical experience and other factors and adjusts those estimates and assumptions when facts and circumstances dictate. Actual results could materially differ from those estimates and assumptions. Due to the inherent uncertainty involved in making assumptions and estimates, events and changes in circumstances arising after March&#160;31, 2023, may result in actual outcomes that differ from those contemplated by the Company&#x2019;s assumptions and estimates.&lt;/span&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
    <us-gaap:ConcentrationRiskCreditRisk
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8zNy9mcmFnOmJmOWNjNDM0NWMzYTRkYTJhM2Q1ZWY5ZTg2MjhhYzBjL3RleHRyZWdpb246YmY5Y2M0MzQ1YzNhNGRhMmEzZDVlZjllODYyOGFjMGNfNDk0NzgwMjM0MzE0NA_bf3b3a82-dfea-49c0-aed7-28ac38019e2d">Concentration of Revenue and Accounts ReceivableThe Company defines its revenue concentration based on revenue recognized from individual publishers</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i2af8c53612e747a2a6046823eeea9636_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8zNy9mcmFnOmJmOWNjNDM0NWMzYTRkYTJhM2Q1ZWY5ZTg2MjhhYzBjL3RleHRyZWdpb246YmY5Y2M0MzQ1YzNhNGRhMmEzZDVlZjllODYyOGFjMGNfNjYzMQ_a4ff10ab-96fa-4a94-8077-6d9f8e52c727"
      unitRef="number">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i0d45637388094fa5ac849e5d2c381ea3_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8zNy9mcmFnOmJmOWNjNDM0NWMzYTRkYTJhM2Q1ZWY5ZTg2MjhhYzBjL3RleHRyZWdpb246YmY5Y2M0MzQ1YzNhNGRhMmEzZDVlZjllODYyOGFjMGNfNTQ5NzU1ODMyMDU5_e5342663-d521-476c-bcdd-7c88456e981f"
      unitRef="number">0.14</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ib0b911764ed047acb0b5b0394d159ca1_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8zNy9mcmFnOmJmOWNjNDM0NWMzYTRkYTJhM2Q1ZWY5ZTg2MjhhYzBjL3RleHRyZWdpb246YmY5Y2M0MzQ1YzNhNGRhMmEzZDVlZjllODYyOGFjMGNfNTQ5NzU1ODMyMDgx_0277da6f-9310-4086-92e9-e395b730fff9"
      unitRef="number">0.32</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ib52535a6a2c84c619df7019b901cf772_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8zNy9mcmFnOmJmOWNjNDM0NWMzYTRkYTJhM2Q1ZWY5ZTg2MjhhYzBjL3RleHRyZWdpb246YmY5Y2M0MzQ1YzNhNGRhMmEzZDVlZjllODYyOGFjMGNfNTQ5NzU1ODMyMDg3_77c73efe-aaa7-465e-b40d-aa8433eef693"
      unitRef="number">0.20</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i3bed9af82ac64274baf1e5ad4f09a301_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8zNy9mcmFnOmJmOWNjNDM0NWMzYTRkYTJhM2Q1ZWY5ZTg2MjhhYzBjL3RleHRyZWdpb246YmY5Y2M0MzQ1YzNhNGRhMmEzZDVlZjllODYyOGFjMGNfNTQ5NzU1ODMyMDk5_2701d88a-14f6-4fb4-a295-d935963a5d03"
      unitRef="number">0.33</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ic12d8e901c7147f69fcb251f92b23bc8_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8zNy9mcmFnOmJmOWNjNDM0NWMzYTRkYTJhM2Q1ZWY5ZTg2MjhhYzBjL3RleHRyZWdpb246YmY5Y2M0MzQ1YzNhNGRhMmEzZDVlZjllODYyOGFjMGNfNTQ5NzU1ODMyMTA0_cb4adc2a-33f8-427d-8642-bbefb4ae288f"
      unitRef="number">0.15</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ib379847039f041ae96060bc3330eb9fa_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8zNy9mcmFnOmJmOWNjNDM0NWMzYTRkYTJhM2Q1ZWY5ZTg2MjhhYzBjL3RleHRyZWdpb246YmY5Y2M0MzQ1YzNhNGRhMmEzZDVlZjllODYyOGFjMGNfNTQ5NzU1ODMyMTEx_39231648-93de-4713-8f2c-c2b7afbadadf"
      unitRef="number">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV8zNy9mcmFnOmJmOWNjNDM0NWMzYTRkYTJhM2Q1ZWY5ZTg2MjhhYzBjL3RleHRyZWdpb246YmY5Y2M0MzQ1YzNhNGRhMmEzZDVlZjllODYyOGFjMGNfOTg5Mg_ab507910-1693-4089-9952-0d43ea70b4b2">&lt;div style="margin-top:9pt"&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;Recently Adopted Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;In October 2021, the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) issued Accounting Standards Update (&#x201c;ASU&#x201d;) No. 2021-08, Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers, which requires contract assets and contract liabilities acquired in a business combination to be recognized and measured in accordance with Topic 606, Revenue from Contracts with Customers, as if the acquirer had originated the contracts. Under previous GAAP, such assets and liabilities were recognized by the acquirer at fair value on the acquisition date. The Company adopted ASU 2021-08 as of January 1, 2023. The adoption of ASU 2021-08 did not have a material impact on the Company&#x2019;s condensed consolidated financial statements.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RleHRyZWdpb246ODdhYjE0MzVkNzA0NDE4N2I0YWNiM2RjYTRiODY5MDNfMTEwNg_6cf9ab68-ecfc-4c03-8287-fbd64374c872">Fair Value Measurements&lt;div style="margin-top:6pt;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 set forth the fair value of the Company&#x2019;s financial assets and liabilities measured on a recurring basis by level within the fair value hierarchy (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&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:44.354%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.085%"/&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="21" 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:120%"&gt;March 31, 2023&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:120%"&gt;Level 1&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:120%"&gt;Level 2&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:120%"&gt;Level 3&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:120%"&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:700;line-height:120%"&gt;Financial Assets&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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Money market funds&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;48,961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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;&#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;48,961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certificates of deposit&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;8,257&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;8,257&#160;&lt;/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:120%"&gt;Cash equivalents&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;48,961&#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:120%"&gt;8,257&#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:120%"&gt;&#x2014;&#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:120%"&gt;57,218&#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 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Commercial paper&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:120%"&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:120%"&gt;59,745&#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:120%"&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:120%"&gt;59,745&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Agency debt securities&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;14,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;14,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. Treasury and government debt securities&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;19,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: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;19,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;/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:120%"&gt;Marketable securities&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;&#x2014;&#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:120%"&gt;93,932&#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:120%"&gt;&#x2014;&#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:120%"&gt;93,932&#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 2px 13pt;text-align:left;vertical-align: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 Financial Assets&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;48,961&#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;102,189&#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;&#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: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;151,150&#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:14pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;December 31, 2022&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:120%"&gt;Level 1&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:120%"&gt;Level 2&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:120%"&gt;Level 3&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:120%"&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:700;line-height:120%"&gt;Financial Assets&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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Money market funds&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;48,884&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;&#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;48,884&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certificates of deposit&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;4,169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;4,169&#160;&lt;/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:120%"&gt;Cash equivalents&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;48,884&#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:120%"&gt;4,169&#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:120%"&gt;&#x2014;&#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:120%"&gt;53,053&#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 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Commercial paper&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:120%"&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:120%"&gt;63,483&#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:120%"&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:120%"&gt;63,483&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Agency debt securities&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;5,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. Treasury and government debt securities&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;12,752&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;12,752&#160;&lt;/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:120%"&gt;Marketable securities&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;&#x2014;&#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:120%"&gt;82,013&#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:120%"&gt;&#x2014;&#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:120%"&gt;82,013&#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 2px 13pt;text-align:left;vertical-align: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 Financial Assets&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:120%"&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:120%"&gt;48,884&#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:120%"&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:120%"&gt;86,182&#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:120%"&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:120%"&gt;&#x2014;&#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:120%"&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:120%"&gt;135,066&#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:9pt;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 Company&#x2019;s financial assets consist of Level 1 and 2 assets. The Company had no Level 3 assets or liabilities for the periods presented. The Company classifies its cash equivalents and marketable securities within Level 1 or Level 2 because they are valued using either quoted market prices or inputs other than quoted prices which are directly or indirectly observable in the market, including readily-available pricing sources for the identical underlying security which may not be actively traded. The Company&#x2019;s fixed income available-for-sale securities consist of high quality, investment grade securities from diverse issuers. The valuation techniques used to measure the fair value of the Company&#x2019;s marketable securities were derived from non-binding market consensus prices that are corroborated by observable market data and quoted market prices for similar instruments.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RleHRyZWdpb246ODdhYjE0MzVkNzA0NDE4N2I0YWNiM2RjYTRiODY5MDNfMTEwNQ_4fdbbd82-636a-40d0-98ba-9fa3ba59da9d">&lt;div style="margin-top:6pt;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 set forth the fair value of the Company&#x2019;s financial assets and liabilities measured on a recurring basis by level within the fair value hierarchy (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&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:44.354%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.085%"/&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="21" 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:120%"&gt;March 31, 2023&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:120%"&gt;Level 1&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:120%"&gt;Level 2&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:120%"&gt;Level 3&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:120%"&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:700;line-height:120%"&gt;Financial Assets&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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Money market funds&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;48,961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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;&#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;48,961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certificates of deposit&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;8,257&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;8,257&#160;&lt;/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:120%"&gt;Cash equivalents&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;48,961&#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:120%"&gt;8,257&#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:120%"&gt;&#x2014;&#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:120%"&gt;57,218&#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 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Commercial paper&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:120%"&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:120%"&gt;59,745&#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:120%"&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:120%"&gt;59,745&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Agency debt securities&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;14,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;14,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. Treasury and government debt securities&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;19,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: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;19,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;/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:120%"&gt;Marketable securities&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;&#x2014;&#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:120%"&gt;93,932&#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:120%"&gt;&#x2014;&#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:120%"&gt;93,932&#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 2px 13pt;text-align:left;vertical-align: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 Financial Assets&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;48,961&#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;102,189&#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;&#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: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;151,150&#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:14pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;December 31, 2022&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:120%"&gt;Level 1&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:120%"&gt;Level 2&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:120%"&gt;Level 3&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:120%"&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:700;line-height:120%"&gt;Financial Assets&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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Money market funds&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;48,884&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;&#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;48,884&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certificates of deposit&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;4,169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;4,169&#160;&lt;/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:120%"&gt;Cash equivalents&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;48,884&#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:120%"&gt;4,169&#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:120%"&gt;&#x2014;&#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:120%"&gt;53,053&#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 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Commercial paper&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:120%"&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:120%"&gt;63,483&#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:120%"&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:120%"&gt;63,483&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Agency debt securities&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;5,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. Treasury and government debt securities&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;12,752&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;12,752&#160;&lt;/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:120%"&gt;Marketable securities&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;&#x2014;&#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:120%"&gt;82,013&#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:120%"&gt;&#x2014;&#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:120%"&gt;82,013&#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 2px 13pt;text-align:left;vertical-align: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 Financial Assets&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:120%"&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:120%"&gt;48,884&#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:120%"&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:120%"&gt;86,182&#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:120%"&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:120%"&gt;&#x2014;&#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:120%"&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:120%"&gt;135,066&#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:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ia016e6fbe5df4ab3bd6c5092c08fdc45_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMy0xLTEtMS04NTkyOQ_f3f1ae18-148d-49fe-b3f3-73d116fcfca9"
      unitRef="usd">48961000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ia9e75662b4ac41489d50d64dedcf5998_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMy0zLTEtMS04NTkyOQ_fed23f95-8ef8-49f9-b7c3-c9a2aa229476"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i84e266b64e8c4127b310932f63663ab7_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMy01LTEtMS04NTkyOQ_ab4b8a2b-f707-4d4c-aba4-73cb4c5bec34"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i4f5d1566bf2840878a203ccfc2bcade6_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMy03LTEtMS04NTkyOQ_983abec9-4b13-45d6-b6f4-9751462860e7"
      unitRef="usd">48961000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i7f823734ddbf4a268fa275846c16c600_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfNC0xLTEtMS04NTkyOQ_9afbfcaa-7446-4100-a342-a591981b45e1"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ie56dc55fcee9461b9c0c2338b05a267f_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfNC0zLTEtMS04NTkyOQ_b16cbb99-6420-4faf-b6b0-8e06a5a86110"
      unitRef="usd">8257000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i21b894017a4746aea57167308de21f1f_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfNC01LTEtMS04NTkyOQ_bf82d0df-f192-4953-923b-ccab47f6b977"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i772a88c6f65842339c2fde7166f45389_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfNC03LTEtMS04NTkyOQ_9f1398c4-b581-4fbd-af9f-165173c121f3"
      unitRef="usd">8257000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i77ffa68fd2f84e8887db96a89ce2e0d3_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfNS0xLTEtMS04NTkyOQ_57adf1b6-8290-4c2b-8cb3-dddb9325f8e4"
      unitRef="usd">48961000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i531d7fb763054df9b9707b975e97d254_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfNS0zLTEtMS04NTkyOQ_32589dfd-b2eb-444a-8dea-da392a8ae211"
      unitRef="usd">8257000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="id8f2378775184b0394e8fc88c50aad40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfNS01LTEtMS04NTkyOQ_fff44194-778d-4447-87e6-7e8ba9e67807"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i1c35deecd7b44ee0b7dd96584e40805d_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfNS03LTEtMS04NTkyOQ_f057f847-fafc-45aa-b7d9-bf51ce0f04b7"
      unitRef="usd">57218000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i59ef4e57407a4351bb624e67329c95fc_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfNi0xLTEtMS04NTkyOQ_2309f11b-ce83-4d56-add9-bafd30ccf69f"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i39e614376bca4a518ee77499b31c6afe_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfNi0zLTEtMS04NTkyOQ_454d3bc4-66c0-45f4-9cc3-92406e30b242"
      unitRef="usd">59745000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="id7160da90f6b4c62b3e4de46b71c65e4_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfNi01LTEtMS04NTkyOQ_d1261a65-6f15-48b4-becd-00cae3a07005"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i81581629259845e5b537c5034a97e03d_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfNi03LTEtMS04NTkyOQ_465c59cb-597c-4e74-a451-8f217aaa1895"
      unitRef="usd">59745000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i606a6c253019442394d8051cbc4da866_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfNy0xLTEtMS05OTMwNQ_5ffe0489-876e-4b73-91ff-a9d3b963bfd7"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ic731f388c371415ea6d622ca05208746_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfNy0zLTEtMS05OTMwNQ_4640a252-346e-4ed8-8c80-a5edc7aae3cc"
      unitRef="usd">14570000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i05d79b579fe646f98e35abdb62aea8e1_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfNy01LTEtMS05OTMwNQ_d8950f78-28ba-40e7-a7a1-9d16db2e2253"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i9fa532c14e4245068b858fb6821817ff_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfNy03LTEtMS05OTYyMQ_4bd91f93-746d-4da9-ab57-1d998f5f6e01"
      unitRef="usd">14570000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="if07e47594bac4a8da2a7def5b11f58d9_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfNy0xLTEtMS04NTkyOQ_b444a0fa-9536-4878-89fa-0ba752583b35"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i6b06b935154c4817b14fa90a51f65e99_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfNy0zLTEtMS04NTkyOQ_b5d36498-0a3a-40fc-b8e4-bad966daa6e5"
      unitRef="usd">19617000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i6643b980aca74b9e90471c5f8b1e4a6e_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfNy01LTEtMS04NTkyOQ_861d419c-f734-4a0a-9e2a-68dd3339b9ec"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ib72b312ec6224dfebcebe4886ac6d383_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfNy03LTEtMS04NTkyOQ_019c18e0-9e7c-437f-b4f2-e4249b036456"
      unitRef="usd">19617000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i5feeec08bf464553b94d0ab7d1b6e679_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfOC0xLTEtMS04NTkyOQ_8fe41fb6-34a5-491d-b2eb-efe4a0bd63f2"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i1f1ace1d59184425931c213a3451df63_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfOC0zLTEtMS04NTkyOQ_a19bf6ca-2e1c-4af1-bd6e-441c7d74d9da"
      unitRef="usd">93932000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i66e54de322284f98a0f04a06b0b649c1_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfOC01LTEtMS04NTkyOQ_b6706b7d-318f-4a20-8f88-7d260ca29cc7"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i3971b7d47b7f4c92b00f572f08d6d1fe_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfOC03LTEtMS04NTkyOQ_4715bfac-8c02-41b5-8fe3-dc4cc5fc624a"
      unitRef="usd">93932000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i5feeec08bf464553b94d0ab7d1b6e679_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMTEtMS0xLTEtODU5Mjk_15c3084a-8522-4a30-93a7-6061983913a7"
      unitRef="usd">48961000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i1f1ace1d59184425931c213a3451df63_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMTEtMy0xLTEtODU5Mjk_7e7f0143-2656-496c-b38c-ba78626e81a9"
      unitRef="usd">102189000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i66e54de322284f98a0f04a06b0b649c1_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMTEtNS0xLTEtODU5Mjk_dfa655c2-c9ea-460f-95ce-ce9b39d76a1a"
      unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i3971b7d47b7f4c92b00f572f08d6d1fe_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMTEtNy0xLTEtODU5Mjk_4c013de9-8ea9-426a-af36-91e8f51c5efe"
      unitRef="usd">151150000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i528bc6f2685642fdbdf91f35c091d67a_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMTgtMS0xLTEtODU5Mjk_8f2bab89-1d78-41f0-a9b1-0668bb5c9c6c"
      unitRef="usd">48884000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i251f280b52d94c9f88a8afe7dbe673b9_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMTgtMy0xLTEtODU5Mjk_b87fdf2e-8836-4641-b3c1-fa3b0720852c"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i84801db0f75743c985b7f1f49f9b86fb_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMTgtNS0xLTEtODU5Mjk_d91cf195-2974-4625-ad7a-3758ef7ed966"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ib34b61320ef7401c9c64e3ec386b942f_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMTgtNy0xLTEtODU5Mjk_a66fe9b5-7717-47d6-bb61-adf33a63dda9"
      unitRef="usd">48884000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i1dfe5a3efbf24a72ba4d9b1366217c29_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMTktMS0xLTEtODU5Mjk_cadc9ddd-cfdf-4d9f-b24c-13e35f89f586"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ia040f110a8264d31a59529311bec10b4_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMTktMy0xLTEtODU5Mjk_031ef305-5f80-48a4-9eda-d4282df86da3"
      unitRef="usd">4169000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i66f345fb0e96491a8fa4f804805fff08_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMTktNS0xLTEtODU5Mjk_614d0333-d7c1-4bbc-9bbf-8bbf8102f490"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="iccb80b67f5bc4186ba70ce573334dc80_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMTktNy0xLTEtODU5Mjk_61b754c6-4d89-4b25-af3c-75545f5764c9"
      unitRef="usd">4169000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i761ff778c0cb4d7b801181c4c5265881_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMjAtMS0xLTEtODU5Mjk_2145607c-3f2c-4a80-b408-d92df314073d"
      unitRef="usd">48884000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i76b52b175c7b40e29c5c24a2e8ae6ecd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMjAtMy0xLTEtODU5Mjk_246a70e1-dd02-4450-bf2e-799d2621f7b2"
      unitRef="usd">4169000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="id80b458b237b4696bf637fa23464ad48_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMjAtNS0xLTEtODU5Mjk_57585bca-433e-477e-ba3b-bd9f268e6999"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="id24ae7367e4545659f15c9345f2b89b6_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMjAtNy0xLTEtODU5Mjk_7399903a-1dd8-45d4-9a53-920c994cd37a"
      unitRef="usd">53053000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ic97df53e88d9483bb991a7fbf89a3fc9_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMjEtMS0xLTEtODU5Mjk_356c331b-3eb3-4f68-8ec8-e41be43a8f76"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ie440fa529f8846ef93695f4977c181ce_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMjEtMy0xLTEtODU5Mjk_9ba5eb0a-8566-4bd5-8860-01b73ec3d1c2"
      unitRef="usd">63483000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i5d73ff64c5854f1d96b20e5ba6110e75_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMjEtNS0xLTEtODU5Mjk_072b350f-ed16-4673-9c6e-ec38a3a933a7"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ic8289869542e4a7e8dcdc66d6a86d199_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMjEtNy0xLTEtODU5Mjk_6683ecdc-cd0a-4b3f-8d95-e8af8202068b"
      unitRef="usd">63483000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i50d47d2a5de5403aae38029c193e756c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMTgtMS0xLTEtOTc4MzY_9d0fb66f-4c6f-4190-94ed-c67c64734c44"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ib03a4d8379c840ecae88efbf9963e9b0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMTgtMy0xLTEtOTc4MzY_c7bb05d9-d6d1-4002-b083-a580f6b4c8ed"
      unitRef="usd">5778000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i2811860d265943879814738c35a3bd89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMTgtNS0xLTEtOTc4MzY_44c3c20e-6e92-4032-b8cf-8f1138a9308d"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i6dd0601551294a76ae674c31f19f3d4a_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMjEtNy0xLTEtOTg3MzA_5a09efdd-3b87-474d-bed6-bd2d52f4b2c5"
      unitRef="usd">5778000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i38c43804bb4445f1a955b328f8e27233_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMjItMS0xLTEtODU5Mjk_e1c3d0af-2757-48ad-8138-f1c6032a829e"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i16660327ee794a0cbb76a850c800fb6e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMjItMy0xLTEtODU5Mjk_14e7f36a-1833-40f2-9890-161b82371d8e"
      unitRef="usd">12752000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i39448798a7a34d53b5b5dabc572b9be4_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMjItNS0xLTEtODU5Mjk_53dd7e80-ec54-4ef8-9b2a-98e0ddaf915d"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i3624bcd826fd4716941af757f176c9c2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMjItNy0xLTEtODU5Mjk_6f3c6be7-9ed7-4e61-a8bd-833c725de71e"
      unitRef="usd">12752000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="iae2e9726e84a4433b64f31f92635c074_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMjMtMS0xLTEtODU5Mjk_f61e7d67-d33c-482c-9a4c-e3a6ecbcc6f1"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i6264dedf4922418e88fcb51bb424e2e6_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMjMtMy0xLTEtODU5Mjk_85548519-7f1c-4a28-970d-dadb990a4a9b"
      unitRef="usd">82013000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ib8717426a5b84ab887653949d524de7c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMjMtNS0xLTEtODU5Mjk_72a6513a-a84c-4458-aa3e-3fe729133a7d"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i12b058e8179942ffb46d7c8c5da01136_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMjMtNy0xLTEtODU5Mjk_29e87606-a293-4471-a694-59a9a93a1b2b"
      unitRef="usd">82013000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="iae2e9726e84a4433b64f31f92635c074_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMjYtMS0xLTEtODU5Mjk_4b9164e0-2466-4695-9bdf-6ba7af629df1"
      unitRef="usd">48884000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i6264dedf4922418e88fcb51bb424e2e6_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMjYtMy0xLTEtODU5Mjk_b992d5a5-3fe4-4623-8e65-45d5f6f47240"
      unitRef="usd">86182000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ib8717426a5b84ab887653949d524de7c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMjYtNS0xLTEtODU5Mjk_aa46c0cb-eabe-4283-a32a-42adc0653637"
      unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i12b058e8179942ffb46d7c8c5da01136_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80MC9mcmFnOjg3YWIxNDM1ZDcwNDQxODdiNGFjYjNkY2E0Yjg2OTAzL3RhYmxlOjI3NmZiMmYyMjdjODRjZTlhMzIxMjM5NmNkYmRmYzIyL3RhYmxlcmFuZ2U6Mjc2ZmIyZjIyN2M4NGNlOWEzMjEyMzk2Y2RiZGZjMjJfMjYtNy0xLTEtODU5Mjk_a8979f49-3369-4310-8756-231807bac289"
      unitRef="usd">135066000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:SupplementalBalanceSheetDisclosuresTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RleHRyZWdpb246MTc1YzIyYmFkNmE0NDk1YWIyZjhkNjhjY2M4NTg1MmRfMTkzMQ_ff9c3504-784e-49fa-a07b-5ae1f07796bb">Balance Sheet Components&lt;div style="margin-top:6pt"&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;Marketable Securities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 following tables summarize the Company&#x2019;s marketable securities by significant investment categories (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&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:44.354%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.085%"/&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="21" 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:120%"&gt;March 31, 2023&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:120%"&gt;Amortized Cost&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:120%"&gt;Unrealized Gain&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:120%"&gt;Unrealized Loss&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:120%"&gt;Fair 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:120%"&gt;Commercial paper&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;59,745&#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;&#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: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;&#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: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;59,745&#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:120%"&gt;Agency debt securities&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;14,556&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;14,570&#160;&lt;/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:120%"&gt;U.S. Treasury and government debt securities&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,623&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(11)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&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:120%"&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:120%"&gt;93,924&#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:120%"&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:120%"&gt;19&#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:120%"&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:120%"&gt;(11)&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:120%"&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:120%"&gt;93,932&#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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;December 31, 2022&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:120%"&gt;Amortized Cost&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:120%"&gt;Unrealized Gain&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:120%"&gt;Unrealized Loss&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:120%"&gt;Fair 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:120%"&gt;Commercial paper&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;63,483&#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;&#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: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;&#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: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;63,483&#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:120%"&gt;Agency debt securities&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;5,762&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,779&#160;&lt;/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:120%"&gt;U.S. Treasury and government debt securities&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;12,777&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,751&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&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 2px 1pt;text-align:left;vertical-align: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 #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:120%"&gt;82,022&#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:120%"&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:120%"&gt;19&#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:120%"&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:120%"&gt;(28)&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:120%"&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:120%"&gt;82,013&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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 remaining contractual maturity of all marketable securities was within one year as of March&#160;31, 2023 and December&#160;31, 2022. Realized gains and losses were immaterial for the three months ended March 31, 2023 and 2022. As of March&#160;31, 2023 and 2022, there were no securities that were in an unrealized loss position for more than twelve months.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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;Property, Equipment and Software, Net&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;Property, equipment and software, net consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:8pt;font-weight:700;line-height:120%"&gt;March 31,&lt;br/&gt;2023&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:8pt;font-weight:700;line-height:120%"&gt;December 31,&lt;br/&gt;2022&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;Internal-use software&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;46,393&#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;40,794&#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:120%"&gt;Network hardware, computer equipment and software&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;130,963&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;129,212&#160;&lt;/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:120%"&gt;Leasehold improvements&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;4,143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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;/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:120%"&gt;Furniture and fixtures&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,123&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,087&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property, equipment and software, gross&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:120%"&gt;183,622&#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:120%"&gt;176,119&#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:120%"&gt;Less: accumulated depreciation 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:120%"&gt;(115,069)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,963)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total property, equipment and software, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:0.5pt 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-bottom:3pt double #000;border-top:0.5pt 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;68,553&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:0.5pt 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:0.5pt 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-bottom:3pt double #000;border-top:0.5pt 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;71,156&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:0.5pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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;Depreciation and amortization expense related to property, equipment, and software (excluding amortization of internal-use software) was $7.3&#160;million and $5.0&#160;million for the three months ended March 31, 2023 and 2022, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 Company capitalized $5.4&#160;million and $3.3&#160;million in software development costs during the three months ended March 31, 2023 and 2022, respectively. Amortization expense of internal-use software was $2.8&#160;million and $2.2&#160;million during the three months ended March 31, 2023 and 2022, respectively. These costs are included within cost of revenue in the condensed consolidated statements of operations. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 Company did not recognize any impairment charges on its long-lived assets during the three months ended March 31, 2023 and 2022, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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;Accounts Payable &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;Accounts payable consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:8pt;font-weight:700;line-height:120%"&gt;March 31,&lt;br/&gt;2023&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:8pt;font-weight:700;line-height:120%"&gt;December 31,&lt;br/&gt;2022&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;Payable to publishers&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;216,264&#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;266,506&#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:120%"&gt;Trade payables&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;6,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:120%"&gt;10,908&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total accounts payable&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.5pt 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-bottom:3pt double #000000;border-top:0.5pt 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;222,579&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.5pt 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:0.5pt 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-bottom:3pt double #000;border-top:0.5pt 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;277,414&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:0.5pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Accrued Liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;Accrued liabilities consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:8pt;font-weight:700;line-height:120%"&gt;March 31,&lt;br/&gt;2023&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:8pt;font-weight:700;line-height:120%"&gt;December 31,&lt;br/&gt;2022&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;Accrued compensation&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;9,899&#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;14,587&#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:120%"&gt;Accrued and other 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:120%"&gt;9,415&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,349&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total accrued liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.5pt 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-bottom:3pt double #000000;border-top:0.5pt 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;19,314&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.5pt 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:0.5pt 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-bottom:3pt double #000;border-top:0.5pt 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;18,936&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:0.5pt 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:SupplementalBalanceSheetDisclosuresTextBlock>
    <us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RleHRyZWdpb246MTc1YzIyYmFkNmE0NDk1YWIyZjhkNjhjY2M4NTg1MmRfMTkyOA_06e00497-d0de-4834-b619-813d93efeb96">&lt;div style="margin-top:6pt;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 following tables summarize the Company&#x2019;s marketable securities by significant investment categories (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&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:44.354%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.085%"/&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="21" 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:120%"&gt;March 31, 2023&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:120%"&gt;Amortized Cost&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:120%"&gt;Unrealized Gain&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:120%"&gt;Unrealized Loss&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:120%"&gt;Fair 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:120%"&gt;Commercial paper&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;59,745&#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;&#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: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;&#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: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;59,745&#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:120%"&gt;Agency debt securities&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;14,556&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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;14,570&#160;&lt;/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:120%"&gt;U.S. Treasury and government debt securities&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,623&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(11)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&lt;/span&gt;&lt;/td&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:120%"&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:120%"&gt;93,924&#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:120%"&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:120%"&gt;19&#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:120%"&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:120%"&gt;(11)&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:120%"&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:120%"&gt;93,932&#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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%"&gt;December 31, 2022&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:120%"&gt;Amortized Cost&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:120%"&gt;Unrealized Gain&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:120%"&gt;Unrealized Loss&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:120%"&gt;Fair 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:120%"&gt;Commercial paper&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;63,483&#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;&#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: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;&#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: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;63,483&#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:120%"&gt;Agency debt securities&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;5,762&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,779&#160;&lt;/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:120%"&gt;U.S. Treasury and government debt securities&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;12,777&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,751&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total&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 2px 1pt;text-align:left;vertical-align: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 #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:120%"&gt;82,022&#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:120%"&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:120%"&gt;19&#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:120%"&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:120%"&gt;(28)&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:120%"&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:120%"&gt;82,013&#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:DebtSecuritiesAvailableForSaleTableTextBlock>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i0429b2a4d2fd4efe9f38e49dd4c34f62_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfMi0xLTEtMS04NTkyOQ_8f04c0a8-57d6-4178-9b3a-dde4690f1b6c"
      unitRef="usd">59745000</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i0429b2a4d2fd4efe9f38e49dd4c34f62_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfMi0zLTEtMS04NTkyOQ_688c66b6-1ab1-4153-8ee0-76a3b3820ab2"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i0429b2a4d2fd4efe9f38e49dd4c34f62_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfMy01LTEtMS05ODc0Nw_7d2b1e2c-3de0-4533-95cb-07f49f431e88"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i0429b2a4d2fd4efe9f38e49dd4c34f62_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfMi01LTEtMS04NTkyOQ_f79064c1-202f-4c0a-83b0-b7cc7da98ab0"
      unitRef="usd">59745000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i27c15babd5b244fa8819cc7ffd369657_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfNC0xLTEtMS05ODc0Nw_f2594f6e-4b72-4ea0-a9d7-6e77fc30394a"
      unitRef="usd">14556000</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i27c15babd5b244fa8819cc7ffd369657_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfNC0zLTEtMS05ODc0Nw_88c21bf3-6611-44c6-a5d6-24eba86daa34"
      unitRef="usd">14000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i27c15babd5b244fa8819cc7ffd369657_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfNC01LTEtMS05ODc0Nw_8dfeeb14-eb4a-4ae1-bb2a-f5f82aef5765"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i27c15babd5b244fa8819cc7ffd369657_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfNC03LTEtMS05ODc0Nw_d7f5be60-106e-4f6a-8d40-db09d52df4fe"
      unitRef="usd">14570000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i8eb7cae8530b4f04aed70f913b16dd62_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfMy0xLTEtMS04NTkyOQ_23fbe470-d591-48f4-a52a-12aa138e6781"
      unitRef="usd">19623000</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i8eb7cae8530b4f04aed70f913b16dd62_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfMy0zLTEtMS04NTkyOQ_aa17c2ce-c75b-4a93-8cc8-99d3c027d51d"
      unitRef="usd">5000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i8eb7cae8530b4f04aed70f913b16dd62_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfNS01LTEtMS05ODc0Nw_c696cdf8-1d90-4481-bd6b-356ed161da81"
      unitRef="usd">11000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i8eb7cae8530b4f04aed70f913b16dd62_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfMy01LTEtMS04NTkyOQ_c4cedc03-98df-4858-9c98-70517b77667e"
      unitRef="usd">19617000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfNC0xLTEtMS04NTkyOQ_0100828d-62ef-4ec1-a6aa-bd9cb020200b"
      unitRef="usd">93924000</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfNC0zLTEtMS04NTkyOQ_4621a8ec-0254-4c2c-ae0a-712da7f98dcb"
      unitRef="usd">19000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfNy01LTEtMS05ODc0Nw_2fc499c4-ed3a-4fbc-a7bf-52ef2c7d4db2"
      unitRef="usd">11000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfNC01LTEtMS04NTkyOQ_e8b04fa2-38be-49ba-aaac-c3829be6d46f"
      unitRef="usd">93932000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="ie49f2fdb77bd4f5f82bd207f3735f021_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfOC0xLTEtMS04NTkyOQ_08c6364b-9840-437b-8f71-1e1676f2edd8"
      unitRef="usd">63483000</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="ie49f2fdb77bd4f5f82bd207f3735f021_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfOC0zLTEtMS04NTkyOQ_27c4f486-43e3-4863-8c72-206bdd0db646"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="ie49f2fdb77bd4f5f82bd207f3735f021_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfOS01LTEtMS05NzkxMw_e0a51c55-b715-4d40-8c85-a31fb1c6f0e6"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="ie49f2fdb77bd4f5f82bd207f3735f021_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfOC01LTEtMS04NTkyOQ_4e693b75-cb15-4a2f-b0a2-c02d8bbee7ca"
      unitRef="usd">63483000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i4337f46ee1f84a4ea45cdbd2df14f70e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfMTAtMS0xLTEtOTc5MTM_7dbe13bf-94ce-49a9-9685-389c0e5b56ce"
      unitRef="usd">5762000</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i4337f46ee1f84a4ea45cdbd2df14f70e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfMTAtMy0xLTEtOTc5MTM_e62f204f-06b7-4e18-bb1d-efbbc2163570"
      unitRef="usd">17000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i4337f46ee1f84a4ea45cdbd2df14f70e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfMTAtNS0xLTEtOTc5MTM_07d0172e-f468-4413-8ffb-11797671d851"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i4337f46ee1f84a4ea45cdbd2df14f70e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfMTMtNy0xLTEtOTg3NTY_f4ce698e-6a52-478c-a29c-53696f7b2779"
      unitRef="usd">5779000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="ia9235a5e79d149fbb3c6db59d64bdb08_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfOS0xLTEtMS04NTkyOQ_d81473f2-fa96-4c90-8a9e-0649c95e9e4d"
      unitRef="usd">12777000</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="ia9235a5e79d149fbb3c6db59d64bdb08_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfOS0zLTEtMS04NTkyOQ_590a25cb-ffff-424c-93db-d46580ef5f71"
      unitRef="usd">2000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="ia9235a5e79d149fbb3c6db59d64bdb08_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfMTEtNS0xLTEtOTc5MTM_e931cae3-31f9-4c82-ad10-f498bd93b6e9"
      unitRef="usd">28000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="ia9235a5e79d149fbb3c6db59d64bdb08_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfOS01LTEtMS04NTkyOQ_3f8f2fad-1d47-4341-a937-0e86376d4e02"
      unitRef="usd">12751000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfMTAtMS0xLTEtODU5Mjk_db37e1db-7442-48ec-ab92-e47c27570a5c"
      unitRef="usd">82022000</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfMTAtMy0xLTEtODU5Mjk_c815ea0f-afef-4900-b7e8-d1285ecd89fd"
      unitRef="usd">19000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfMTYtNS0xLTEtOTg3NTY_a6bf6d70-e15c-4d23-875f-f1d02b51461d"
      unitRef="usd">28000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmUxMzBkNWQyMzM4YTQ2N2E5YmExMjk5YzY0YzkxZDExL3RhYmxlcmFuZ2U6ZTEzMGQ1ZDIzMzhhNDY3YTliYTEyOTljNjRjOTFkMTFfMTAtNS0xLTEtODU5Mjk_f97fc23b-59d8-43d4-b7fd-833c825e181b"
      unitRef="usd">82013000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RleHRyZWdpb246MTc1YzIyYmFkNmE0NDk1YWIyZjhkNjhjY2M4NTg1MmRfMTkzMg_438664d8-89a9-49df-acdc-6205450bf335">&lt;div style="margin-top:6pt;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;Property, equipment and software, net consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:8pt;font-weight:700;line-height:120%"&gt;March 31,&lt;br/&gt;2023&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:8pt;font-weight:700;line-height:120%"&gt;December 31,&lt;br/&gt;2022&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;Internal-use software&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;46,393&#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;40,794&#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:120%"&gt;Network hardware, computer equipment and software&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;130,963&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;129,212&#160;&lt;/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:120%"&gt;Leasehold improvements&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;4,143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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;/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:120%"&gt;Furniture and fixtures&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,123&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,087&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property, equipment and software, gross&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:120%"&gt;183,622&#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:120%"&gt;176,119&#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:120%"&gt;Less: accumulated depreciation 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:120%"&gt;(115,069)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,963)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total property, equipment and software, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:0.5pt 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-bottom:3pt double #000;border-top:0.5pt 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;68,553&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:0.5pt 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:0.5pt 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-bottom:3pt double #000;border-top:0.5pt 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;71,156&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:0.5pt 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:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i56e27174cabc4a48ab3c995810d358ed_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOjdmMGQ3YmUzZWFmZjRhN2M5YThjZTQ2OTViNTcxZWFlL3RhYmxlcmFuZ2U6N2YwZDdiZTNlYWZmNGE3YzlhOGNlNDY5NWI1NzFlYWVfMS0xLTEtMS04NTkyOQ_669addbe-04c8-433d-b0cb-ec3f28eab2e4"
      unitRef="usd">46393000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i3318d5c600324d32b6b0f6ba1d936c50_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOjdmMGQ3YmUzZWFmZjRhN2M5YThjZTQ2OTViNTcxZWFlL3RhYmxlcmFuZ2U6N2YwZDdiZTNlYWZmNGE3YzlhOGNlNDY5NWI1NzFlYWVfMS0zLTEtMS04NTkyOQ_8f1b8de4-5377-4210-b397-a49321649733"
      unitRef="usd">40794000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i1215dd3f312b4de1ba38140a95961621_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOjdmMGQ3YmUzZWFmZjRhN2M5YThjZTQ2OTViNTcxZWFlL3RhYmxlcmFuZ2U6N2YwZDdiZTNlYWZmNGE3YzlhOGNlNDY5NWI1NzFlYWVfMi0xLTEtMS04NTkyOQ_aa732dca-bf9b-4c89-b0d7-aa1d48a87145"
      unitRef="usd">130963000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i780ef6e8bec746eb9f3e428ed461b1cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOjdmMGQ3YmUzZWFmZjRhN2M5YThjZTQ2OTViNTcxZWFlL3RhYmxlcmFuZ2U6N2YwZDdiZTNlYWZmNGE3YzlhOGNlNDY5NWI1NzFlYWVfMi0zLTEtMS04NTkyOQ_ee387cf5-2e86-41c5-ba5a-2bd92283b0d6"
      unitRef="usd">129212000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ifca96406c2334df38079bfb749980874_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOjdmMGQ3YmUzZWFmZjRhN2M5YThjZTQ2OTViNTcxZWFlL3RhYmxlcmFuZ2U6N2YwZDdiZTNlYWZmNGE3YzlhOGNlNDY5NWI1NzFlYWVfMy0xLTEtMS04NTkyOQ_1abaaba6-5268-4fe3-b5b2-6cc684927b6e"
      unitRef="usd">4143000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i7cdd3df977244956b09520dd4641e2e7_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOjdmMGQ3YmUzZWFmZjRhN2M5YThjZTQ2OTViNTcxZWFlL3RhYmxlcmFuZ2U6N2YwZDdiZTNlYWZmNGE3YzlhOGNlNDY5NWI1NzFlYWVfMy0zLTEtMS04NTkyOQ_737ea5cb-f0d3-46aa-a055-4a2277455a33"
      unitRef="usd">4026000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i9584b27aead24c58b94c28f8d4366c68_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOjdmMGQ3YmUzZWFmZjRhN2M5YThjZTQ2OTViNTcxZWFlL3RhYmxlcmFuZ2U6N2YwZDdiZTNlYWZmNGE3YzlhOGNlNDY5NWI1NzFlYWVfNC0xLTEtMS04NTkyOQ_8d1fb38e-c1dd-405c-b78f-a1f92b5cc330"
      unitRef="usd">2123000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ie1fbe103e1b84155950160feb3c67e0d_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOjdmMGQ3YmUzZWFmZjRhN2M5YThjZTQ2OTViNTcxZWFlL3RhYmxlcmFuZ2U6N2YwZDdiZTNlYWZmNGE3YzlhOGNlNDY5NWI1NzFlYWVfNC0zLTEtMS04NTkyOQ_bc7aa911-ba7b-4c29-9ec7-5c58c0996efb"
      unitRef="usd">2087000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOjdmMGQ3YmUzZWFmZjRhN2M5YThjZTQ2OTViNTcxZWFlL3RhYmxlcmFuZ2U6N2YwZDdiZTNlYWZmNGE3YzlhOGNlNDY5NWI1NzFlYWVfNS0xLTEtMS04NTkyOQ_b2cc45e6-0935-43d6-bded-6887edd200ae"
      unitRef="usd">183622000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOjdmMGQ3YmUzZWFmZjRhN2M5YThjZTQ2OTViNTcxZWFlL3RhYmxlcmFuZ2U6N2YwZDdiZTNlYWZmNGE3YzlhOGNlNDY5NWI1NzFlYWVfNS0zLTEtMS04NTkyOQ_788667ba-aa19-49d5-8c71-37d557646494"
      unitRef="usd">176119000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOjdmMGQ3YmUzZWFmZjRhN2M5YThjZTQ2OTViNTcxZWFlL3RhYmxlcmFuZ2U6N2YwZDdiZTNlYWZmNGE3YzlhOGNlNDY5NWI1NzFlYWVfNi0xLTEtMS04NTkyOQ_79d5dab0-384b-4e86-b1ac-68215ff87364"
      unitRef="usd">115069000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOjdmMGQ3YmUzZWFmZjRhN2M5YThjZTQ2OTViNTcxZWFlL3RhYmxlcmFuZ2U6N2YwZDdiZTNlYWZmNGE3YzlhOGNlNDY5NWI1NzFlYWVfNi0zLTEtMS04NTkyOQ_fc0331a8-414a-4c18-b22f-74df4c6d785f"
      unitRef="usd">104963000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOjdmMGQ3YmUzZWFmZjRhN2M5YThjZTQ2OTViNTcxZWFlL3RhYmxlcmFuZ2U6N2YwZDdiZTNlYWZmNGE3YzlhOGNlNDY5NWI1NzFlYWVfNy0xLTEtMS04NTkyOQ_861b0ac2-6d35-47f2-80ce-6beaa46c2998"
      unitRef="usd">68553000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOjdmMGQ3YmUzZWFmZjRhN2M5YThjZTQ2OTViNTcxZWFlL3RhYmxlcmFuZ2U6N2YwZDdiZTNlYWZmNGE3YzlhOGNlNDY5NWI1NzFlYWVfNy0zLTEtMS04NTkyOQ_3d9f3d7d-6cf5-4896-bcc9-d441da949547"
      unitRef="usd">71156000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RleHRyZWdpb246MTc1YzIyYmFkNmE0NDk1YWIyZjhkNjhjY2M4NTg1MmRfNzI1_34770dd8-81b4-4ec0-9921-d67c1bc0f0ff"
      unitRef="usd">7300000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RleHRyZWdpb246MTc1YzIyYmFkNmE0NDk1YWIyZjhkNjhjY2M4NTg1MmRfNzMy_9a7bc714-0e3e-4599-a347-feb60908dad9"
      unitRef="usd">5000000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:CapitalizedComputerSoftwareAdditions
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RleHRyZWdpb246MTc1YzIyYmFkNmE0NDk1YWIyZjhkNjhjY2M4NTg1MmRfNTQ5NzU1ODE2ODI5_7ffee7bb-b48e-4190-a69c-bbf9c3b3e3ec"
      unitRef="usd">5400000</us-gaap:CapitalizedComputerSoftwareAdditions>
    <us-gaap:CapitalizedComputerSoftwareAdditions
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RleHRyZWdpb246MTc1YzIyYmFkNmE0NDk1YWIyZjhkNjhjY2M4NTg1MmRfNTQ5NzU1ODE2ODUx_f9f140c7-f5a4-4f4d-b69c-83a55166055f"
      unitRef="usd">3300000</us-gaap:CapitalizedComputerSoftwareAdditions>
    <us-gaap:AdjustmentForAmortization
      contextRef="i58e65abf78c74a64a0b362fb7c603058_D20230101-20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RleHRyZWdpb246MTc1YzIyYmFkNmE0NDk1YWIyZjhkNjhjY2M4NTg1MmRfMTAxMg_349f4110-995e-4af2-8aef-3751796d99c7"
      unitRef="usd">2800000</us-gaap:AdjustmentForAmortization>
    <us-gaap:AdjustmentForAmortization
      contextRef="i0f03cfeb083f4a09985c8c9785dfe10e_D20220101-20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RleHRyZWdpb246MTc1YzIyYmFkNmE0NDk1YWIyZjhkNjhjY2M4NTg1MmRfMTAxOQ_330ef4e3-0a73-46c1-8465-f2808328c1d6"
      unitRef="usd">2200000</us-gaap:AdjustmentForAmortization>
    <us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RleHRyZWdpb246MTc1YzIyYmFkNmE0NDk1YWIyZjhkNjhjY2M4NTg1MmRfMTkzMw_78892314-cceb-49de-816a-2bd69f344f45">&lt;div style="margin-top:6pt;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;Accounts payable consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:8pt;font-weight:700;line-height:120%"&gt;March 31,&lt;br/&gt;2023&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:8pt;font-weight:700;line-height:120%"&gt;December 31,&lt;br/&gt;2022&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;Payable to publishers&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;216,264&#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;266,506&#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:120%"&gt;Trade payables&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;6,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:120%"&gt;10,908&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total accounts payable&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.5pt 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-bottom:3pt double #000000;border-top:0.5pt 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;222,579&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.5pt 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:0.5pt 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-bottom:3pt double #000;border-top:0.5pt 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;277,414&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:0.5pt 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:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock>
    <us-gaap:AccountsPayableTradeCurrent
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmE5ODJlZTZhMzIwYTQ5MDA5N2U1NzM3ZmI2YjYyZDZmL3RhYmxlcmFuZ2U6YTk4MmVlNmEzMjBhNDkwMDk3ZTU3MzdmYjZiNjJkNmZfMS0xLTEtMS04NTkyOQ_201800ab-78e0-4a44-a876-298bb684b5d4"
      unitRef="usd">216264000</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:AccountsPayableTradeCurrent
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmE5ODJlZTZhMzIwYTQ5MDA5N2U1NzM3ZmI2YjYyZDZmL3RhYmxlcmFuZ2U6YTk4MmVlNmEzMjBhNDkwMDk3ZTU3MzdmYjZiNjJkNmZfMS0zLTEtMS04NTkyOQ_1c3d5383-8598-4f30-b862-b45208167733"
      unitRef="usd">266506000</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:AccountsPayableOtherCurrent
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmE5ODJlZTZhMzIwYTQ5MDA5N2U1NzM3ZmI2YjYyZDZmL3RhYmxlcmFuZ2U6YTk4MmVlNmEzMjBhNDkwMDk3ZTU3MzdmYjZiNjJkNmZfMi0xLTEtMS04NTkyOQ_f55abeb0-ba08-418e-a8ba-ca6a8ca7abd5"
      unitRef="usd">6315000</us-gaap:AccountsPayableOtherCurrent>
    <us-gaap:AccountsPayableOtherCurrent
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmE5ODJlZTZhMzIwYTQ5MDA5N2U1NzM3ZmI2YjYyZDZmL3RhYmxlcmFuZ2U6YTk4MmVlNmEzMjBhNDkwMDk3ZTU3MzdmYjZiNjJkNmZfMi0zLTEtMS04NTkyOQ_9da91caf-f538-4d3d-9095-2b7487f18ffb"
      unitRef="usd">10908000</us-gaap:AccountsPayableOtherCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmE5ODJlZTZhMzIwYTQ5MDA5N2U1NzM3ZmI2YjYyZDZmL3RhYmxlcmFuZ2U6YTk4MmVlNmEzMjBhNDkwMDk3ZTU3MzdmYjZiNjJkNmZfMy0xLTEtMS04NTkyOQ_e30a5adc-61eb-410d-9a55-568f17277d42"
      unitRef="usd">222579000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmE5ODJlZTZhMzIwYTQ5MDA5N2U1NzM3ZmI2YjYyZDZmL3RhYmxlcmFuZ2U6YTk4MmVlNmEzMjBhNDkwMDk3ZTU3MzdmYjZiNjJkNmZfMy0zLTEtMS04NTkyOQ_5a0f2481-0f7b-46f1-a6ac-baba4109ea61"
      unitRef="usd">277414000</us-gaap:AccountsPayableCurrent>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RleHRyZWdpb246MTc1YzIyYmFkNmE0NDk1YWIyZjhkNjhjY2M4NTg1MmRfMTkzNA_2db7f012-f7d0-46d6-a4e1-51e751c2fbb3">&lt;div style="margin-top:6pt;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;Accrued liabilities consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:8pt;font-weight:700;line-height:120%"&gt;March 31,&lt;br/&gt;2023&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:8pt;font-weight:700;line-height:120%"&gt;December 31,&lt;br/&gt;2022&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;Accrued compensation&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;9,899&#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;14,587&#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:120%"&gt;Accrued and other 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:120%"&gt;9,415&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,349&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total accrued liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.5pt 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-bottom:3pt double #000000;border-top:0.5pt 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;19,314&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:0.5pt 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:0.5pt 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-bottom:3pt double #000;border-top:0.5pt 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;18,936&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:0.5pt 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:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmRjY2QxMTJiM2UyYTRmODlhMzE1MjljNGFhN2NjMzU4L3RhYmxlcmFuZ2U6ZGNjZDExMmIzZTJhNGY4OWEzMTUyOWM0YWE3Y2MzNThfMS0xLTEtMS04NTkyOQ_890ba23b-ca7a-43e7-8aa4-6b1c61c7ec24"
      unitRef="usd">9899000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmRjY2QxMTJiM2UyYTRmODlhMzE1MjljNGFhN2NjMzU4L3RhYmxlcmFuZ2U6ZGNjZDExMmIzZTJhNGY4OWEzMTUyOWM0YWE3Y2MzNThfMS0zLTEtMS04NTkyOQ_aa3668a6-726c-4e85-a90a-a8e5e7064deb"
      unitRef="usd">14587000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmRjY2QxMTJiM2UyYTRmODlhMzE1MjljNGFhN2NjMzU4L3RhYmxlcmFuZ2U6ZGNjZDExMmIzZTJhNGY4OWEzMTUyOWM0YWE3Y2MzNThfMi0xLTEtMS04NTkyOQ_6389211e-e8ff-4134-9f5c-670f0f09515a"
      unitRef="usd">9415000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmRjY2QxMTJiM2UyYTRmODlhMzE1MjljNGFhN2NjMzU4L3RhYmxlcmFuZ2U6ZGNjZDExMmIzZTJhNGY4OWEzMTUyOWM0YWE3Y2MzNThfMi0zLTEtMS04NTkyOQ_62a6285e-9a98-457c-91a8-1bf3fae5feac"
      unitRef="usd">4349000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmRjY2QxMTJiM2UyYTRmODlhMzE1MjljNGFhN2NjMzU4L3RhYmxlcmFuZ2U6ZGNjZDExMmIzZTJhNGY4OWEzMTUyOWM0YWE3Y2MzNThfMy0xLTEtMS04NTkyOQ_ec15a424-6d33-46b0-800f-a63a8223a739"
      unitRef="usd">19314000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80My9mcmFnOjE3NWMyMmJhZDZhNDQ5NWFiMmY4ZDY4Y2NjODU4NTJkL3RhYmxlOmRjY2QxMTJiM2UyYTRmODlhMzE1MjljNGFhN2NjMzU4L3RhYmxlcmFuZ2U6ZGNjZDExMmIzZTJhNGY4OWEzMTUyOWM0YWE3Y2MzNThfMy0zLTEtMS04NTkyOQ_c8c01526-693d-4835-a953-8a679955ade1"
      unitRef="usd">18936000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80Ni9mcmFnOmVjNjFhNjBjZjA0NTQyZThhZGFlOTM5NjU2Njg0ZmViL3RleHRyZWdpb246ZWM2MWE2MGNmMDQ1NDJlOGFkYWU5Mzk2NTY2ODRmZWJfMjE4MA_5dc38fcc-f979-440c-9d7f-d63d22a6bf34">Senior Secured Credit Facilities Agreement&lt;div style="margin-top:6pt;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;On October 17, 2022, the Company entered into a Senior Secured Credit Facilities Credit Agreement (the &#x201c;Credit Agreement&#x201d;) with the several lenders parties thereto (the &#x201c;Lenders&#x201d;), and Silicon Valley Bank (&#x201c;SVB&#x201d;), as administrative agent, lead arranger, issuing lender, and swingline lender. The Credit Agreement matures on October 17, 2027.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 Credit Agreement provides a revolving credit facility in an aggregate principal amount of $110.0&#160;million (&#x201c;the Revolving Credit Facility&#x201d;), including a $25.0&#160;million letter of credit sub-facility and a $25.0&#160;million swingline sub-facility. The Company&#x2019;s obligations under the Revolving Credit Facility and the letter of credit sub-facility (described in Note 9) with SVB are secured by substantially all of its assets excluding its intellectual property. The Company may, subject to certain customary conditions, on one or more occasions increase commitments under the Revolving Credit Facility in an amount not to exceed $90.0&#160;million in the aggregate (the &#x201c;Incremental Facility&#x201d;). Each Lender will have discretion to determine whether it will participate in any Incremental Facility. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;Borrowings under the Revolving Credit Facility will accrue interest at rates equal, at the Company&#x2019;s election, to (i) the applicable secured overnight financing rate (&#x201c;SOFR&#x201d;), plus the applicable margin for such loans, or (ii) the alternate base rate (&#x201c;ABR&#x201d;), which is defined as the highest of (a) the prime rate in effect from time to time, (b) the federal funds effective rate in effect from time to time plus 0.50%, and (c) the adjusted term SOFR for a one (1) month tenor in effect from time to time plus 1.0%, plus the applicable margin for such loans. The applicable margin for borrowings bearing interest on the SOFR ranges from 2.00% to 2.75%, and the applicable margin for borrowings bearing interest based on the ABR ranges from 1.00% to 1.75%. As of March&#160;31, 2023, the applicable interest rate under the revolving credit facility was 7.00%. The Company will pay a quarterly commitment fee during the term of the Credit Agreement for the non-use of available funds ranging from 0.25% to 0.35%. In addition, the Credit Agreement provides a mechanism to determine a successor reference rate to the applicable reference rate if, among other things, the applicable reference rate becomes unavailable or is generally replaced as a benchmark interest rate. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 Credit Agreement contains customary representations and warranties as well as customary affirmative and negative covenants. Negative covenants include, among others, limitations on incurrence of indebtedness, liens, disposition of property and investments by the Company and its subsidiaries. In addition, the Credit Agreement requires the Company to maintain certain interest coverage, leverage and senior leverage ratios. To date, the Company is in compliance with the affirmative and negative covenants.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 Credit Agreement contains customary events of default. Upon the occurrence and during the continuance of an event of default, the Lenders may declare the outstanding advances and all other obligations under the Credit Agreement immediately due and payable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 Company may use amounts borrowed under the Credit Agreement for general corporate purposes or working capital financing. The Company may borrow additional amounts under the Credit Agreement from time to time as opportunities and needs arise.&lt;/span&gt;&lt;/div&gt;Following the SVB closure by the California Department of Financial Protection and Innovation on March 10, 2023, and its subsequent receivership by the Federal Deposit Insurance Corporation (&#x201c;FDIC&#x201d;), the FDIC announced that all of SVB&#x2019;s deposits and substantially all of its assets had been transferred to a newly created, full-service FDIC-operated bridge bank, Silicon Valley Bridge Bank N.A. (&#x201c;SVBB&#x201d;).  On March 27, 2023, First Citizens Bank &amp;amp; Trust Company (&#x201c;First Citizens&#x201d;) acquired substantially all of the loans and certain other assets of the former SVB, and assumed all customer deposits and certain other liabilities of the former SVB.  As such First Citizen assumed SVB&#x2019;s obligations under the Credit Agreement.</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i37363d60e957417c84fd44c364dcdb85_I20221017"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80Ni9mcmFnOmVjNjFhNjBjZjA0NTQyZThhZGFlOTM5NjU2Njg0ZmViL3RleHRyZWdpb246ZWM2MWE2MGNmMDQ1NDJlOGFkYWU5Mzk2NTY2ODRmZWJfMjc0ODc3OTA3NzI5OQ_0a2f4789-763d-4867-bd12-3f7072522219"
      unitRef="usd">110000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i0080bbd094f241b4a3cb8627d87fb928_I20221017"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80Ni9mcmFnOmVjNjFhNjBjZjA0NTQyZThhZGFlOTM5NjU2Njg0ZmViL3RleHRyZWdpb246ZWM2MWE2MGNmMDQ1NDJlOGFkYWU5Mzk2NTY2ODRmZWJfMjc0ODc3OTA3NzMxOA_c87fa5f2-8bb7-4395-928c-9c1a81dfeb53"
      unitRef="usd">25000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i1e79636bdb5a4480b4d60b5ff610da9e_I20221017"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80Ni9mcmFnOmVjNjFhNjBjZjA0NTQyZThhZGFlOTM5NjU2Njg0ZmViL3RleHRyZWdpb246ZWM2MWE2MGNmMDQ1NDJlOGFkYWU5Mzk2NTY2ODRmZWJfMjc0ODc3OTA3NzMzNg_bb15927f-ab86-4051-83b7-bc5fb5eac6da"
      unitRef="usd">25000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <pubm:LineOfCreditFacilityAccordionFeatureIncreaseLimit
      contextRef="i37363d60e957417c84fd44c364dcdb85_I20221017"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80Ni9mcmFnOmVjNjFhNjBjZjA0NTQyZThhZGFlOTM5NjU2Njg0ZmViL3RleHRyZWdpb246ZWM2MWE2MGNmMDQ1NDJlOGFkYWU5Mzk2NTY2ODRmZWJfMjc0ODc3OTA3NzM1NA_f10e121d-695e-4d66-99a4-622d78ab64c2"
      unitRef="usd">90000000</pubm:LineOfCreditFacilityAccordionFeatureIncreaseLimit>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i126aaacac65a437cb300d321c4d692ed_D20221017-20221017"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80Ni9mcmFnOmVjNjFhNjBjZjA0NTQyZThhZGFlOTM5NjU2Njg0ZmViL3RleHRyZWdpb246ZWM2MWE2MGNmMDQ1NDJlOGFkYWU5Mzk2NTY2ODRmZWJfMjc0ODc3OTA3NzM3Mg_074d9736-72a0-4403-9bd8-6fc8d73e40cc"
      unitRef="number">0.0050</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i1d76d6418b934eebb42d8e2591f7d276_D20221017-20221017"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80Ni9mcmFnOmVjNjFhNjBjZjA0NTQyZThhZGFlOTM5NjU2Njg0ZmViL3RleHRyZWdpb246ZWM2MWE2MGNmMDQ1NDJlOGFkYWU5Mzk2NTY2ODRmZWJfMjc0ODc3OTA3NzM3OQ_585001b2-4c3a-4ef8-b09b-3ad9fba64370"
      unitRef="number">0.010</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ia91054148fff426bbc0fb072ab58e370_D20221017-20221017"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80Ni9mcmFnOmVjNjFhNjBjZjA0NTQyZThhZGFlOTM5NjU2Njg0ZmViL3RleHRyZWdpb246ZWM2MWE2MGNmMDQ1NDJlOGFkYWU5Mzk2NTY2ODRmZWJfMjc0ODc3OTA3NzM4NQ_1ee11dce-3063-42bb-9687-57927bce8eb9"
      unitRef="number">0.0200</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i5d0983847136443d8ca3fe403d50914a_D20221017-20221017"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80Ni9mcmFnOmVjNjFhNjBjZjA0NTQyZThhZGFlOTM5NjU2Njg0ZmViL3RleHRyZWdpb246ZWM2MWE2MGNmMDQ1NDJlOGFkYWU5Mzk2NTY2ODRmZWJfMjc0ODc3OTA3NzM5Mg_61e03e00-6a9b-4285-a441-2cdbef1f8108"
      unitRef="number">0.0275</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i993304b73abe4506be7d63adfb4446d9_D20221017-20221017"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80Ni9mcmFnOmVjNjFhNjBjZjA0NTQyZThhZGFlOTM5NjU2Njg0ZmViL3RleHRyZWdpb246ZWM2MWE2MGNmMDQ1NDJlOGFkYWU5Mzk2NTY2ODRmZWJfMjc0ODc3OTA3NzM5OQ_4713e8e1-6629-4cfa-aaa0-9209eb964124"
      unitRef="number">0.0100</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i9ea80303b8954881908bad94f3ad4bc4_D20221017-20221017"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80Ni9mcmFnOmVjNjFhNjBjZjA0NTQyZThhZGFlOTM5NjU2Njg0ZmViL3RleHRyZWdpb246ZWM2MWE2MGNmMDQ1NDJlOGFkYWU5Mzk2NTY2ODRmZWJfMjc0ODc3OTA3NzQwNg_1360988e-ddfa-4e06-9e72-79c136b64635"
      unitRef="number">0.0175</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i0e541e0fd1c544a687325a8e44f87881_D20221017-20221017"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80Ni9mcmFnOmVjNjFhNjBjZjA0NTQyZThhZGFlOTM5NjU2Njg0ZmViL3RleHRyZWdpb246ZWM2MWE2MGNmMDQ1NDJlOGFkYWU5Mzk2NTY2ODRmZWJfNTQ5NzU1ODIyNDEy_827a5780-38f0-40ba-90bf-b6bda1e1942b"
      unitRef="number">0.0700</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="ic50578b9e92e46019806f60c650bc240_D20221017-20221017"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80Ni9mcmFnOmVjNjFhNjBjZjA0NTQyZThhZGFlOTM5NjU2Njg0ZmViL3RleHRyZWdpb246ZWM2MWE2MGNmMDQ1NDJlOGFkYWU5Mzk2NTY2ODRmZWJfMjc0ODc3OTA3NzQxMw_63cb9ac4-a446-4f99-a640-904d3e455964"
      unitRef="number">0.0025</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="ifedb639fc0124b929481dc32ea1ea9f8_D20221017-20221017"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80Ni9mcmFnOmVjNjFhNjBjZjA0NTQyZThhZGFlOTM5NjU2Njg0ZmViL3RleHRyZWdpb246ZWM2MWE2MGNmMDQ1NDJlOGFkYWU5Mzk2NTY2ODRmZWJfMjc0ODc3OTA3NzQyMA_1386777e-52c1-4412-a042-956041cafdb5"
      unitRef="number">0.0035</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RleHRyZWdpb246OTI2MGVjYWU3M2NiNGYwZDk1NjA0N2JmMGIyNjBmZDdfMTAzNg_89ad3974-71cd-45cb-aeca-9cfba03cac30">Leases&lt;div style="margin-top:6pt;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;Operating lease cost is recognized on a straight-line basis over the lease term. Finance lease cost is recognized as a combination of the amortization expense for the right-of-use assets and interest expense for the outstanding lease liabilities, and results in a front-loaded expense pattern over the lease term. Short-term and variable lease costs are not material to the Company&#x2019;s condensed consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 cost were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:2pt"&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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:8pt;font-weight:700;line-height:120%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&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="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:120%"&gt;2023&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:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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 #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;1,834&#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;1,393&#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="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:120%"&gt;Finance lease cost - amortization of right-of-use 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;43&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&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 - interest on 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;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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 13pt;text-align:left;vertical-align: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 lease cost&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 2px 1pt;text-align:left;vertical-align: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 #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:120%"&gt;1,881&#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:120%"&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:120%"&gt;1,441&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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;As of March&#160;31, 2023, a weighted average discount rate of 3.25% and 2.24% has been applied to the remaining operating and finance lease payments, respectively, to calculate the lease liabilities included within the condensed consolidated balance sheets. The weighted average remaining lease term of operating and finance leases is 4.4 and 5.0 years, respectively, as of March&#160;31, 2023.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;As of March&#160;31, 2023, the maturities of lease liabilities under operating and finance leases were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:2pt;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:58.142%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.084%"/&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:8pt;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:8pt;font-weight:700;line-height:120%"&gt;Finance 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:8pt;font-weight:700;line-height:120%"&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:120%"&gt;Remainder of 2023&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;5,013&#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;105&#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;5,118&#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:120%"&gt;2024&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;6,589&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,734&#160;&lt;/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:120%"&gt;2025&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;5,146&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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;text-align:left;vertical-align:bottom"&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:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,359&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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:120%"&gt;2027&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;4,259&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;158&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,417&#160;&lt;/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:120%"&gt;Thereafter&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;990&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,031&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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 #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;27,356&#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:120%"&gt;751&#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:120%"&gt;28,107&#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: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;(1,863)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,904)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total present value of lease liabilities&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:120%"&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:120%"&gt;25,493&#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:120%"&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:120%"&gt;710&#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:120%"&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:120%"&gt;26,203&#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:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeFinanceLeasesTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RleHRyZWdpb246OTI2MGVjYWU3M2NiNGYwZDk1NjA0N2JmMGIyNjBmZDdfMTAzNg_caa992b3-08c5-456e-a532-1c2eb9a723ee">Leases&lt;div style="margin-top:6pt;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;Operating lease cost is recognized on a straight-line basis over the lease term. Finance lease cost is recognized as a combination of the amortization expense for the right-of-use assets and interest expense for the outstanding lease liabilities, and results in a front-loaded expense pattern over the lease term. Short-term and variable lease costs are not material to the Company&#x2019;s condensed consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 cost were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:2pt"&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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:8pt;font-weight:700;line-height:120%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&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="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:120%"&gt;2023&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:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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 #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;1,834&#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;1,393&#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="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:120%"&gt;Finance lease cost - amortization of right-of-use 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;43&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&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 - interest on 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;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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 13pt;text-align:left;vertical-align: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 lease cost&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 2px 1pt;text-align:left;vertical-align: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 #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:120%"&gt;1,881&#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:120%"&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:120%"&gt;1,441&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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;As of March&#160;31, 2023, a weighted average discount rate of 3.25% and 2.24% has been applied to the remaining operating and finance lease payments, respectively, to calculate the lease liabilities included within the condensed consolidated balance sheets. The weighted average remaining lease term of operating and finance leases is 4.4 and 5.0 years, respectively, as of March&#160;31, 2023.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;As of March&#160;31, 2023, the maturities of lease liabilities under operating and finance leases were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:2pt;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:58.142%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.084%"/&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:8pt;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:8pt;font-weight:700;line-height:120%"&gt;Finance 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:8pt;font-weight:700;line-height:120%"&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:120%"&gt;Remainder of 2023&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;5,013&#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;105&#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;5,118&#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:120%"&gt;2024&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;6,589&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,734&#160;&lt;/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:120%"&gt;2025&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;5,146&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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;text-align:left;vertical-align:bottom"&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:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,359&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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:120%"&gt;2027&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;4,259&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;158&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,417&#160;&lt;/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:120%"&gt;Thereafter&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;990&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,031&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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 #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;27,356&#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:120%"&gt;751&#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:120%"&gt;28,107&#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: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;(1,863)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,904)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total present value of lease liabilities&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:120%"&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:120%"&gt;25,493&#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:120%"&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:120%"&gt;710&#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:120%"&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:120%"&gt;26,203&#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:LesseeFinanceLeasesTextBlock>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RleHRyZWdpb246OTI2MGVjYWU3M2NiNGYwZDk1NjA0N2JmMGIyNjBmZDdfMTAzNA_e02074cb-aa36-4f88-b01a-4533793acb4d">&lt;div style="margin-top:6pt;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 cost were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:2pt"&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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:8pt;font-weight:700;line-height:120%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&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="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:120%"&gt;2023&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:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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 #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;1,834&#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;1,393&#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="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:120%"&gt;Finance lease cost - amortization of right-of-use 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;43&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&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 - interest on 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;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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 13pt;text-align:left;vertical-align: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 lease cost&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 2px 1pt;text-align:left;vertical-align: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 #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:120%"&gt;1,881&#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:120%"&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:120%"&gt;1,441&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjQ2NzdhNzdjZDJkYzRjMDhiMmIwYmFkMjYwNTQ1ZGM1L3RhYmxlcmFuZ2U6NDY3N2E3N2NkMmRjNGMwOGIyYjBiYWQyNjA1NDVkYzVfMi0xLTEtMS04NTkyOQ_1e81acab-8ecb-4436-9597-e6e5c3fd3ca0"
      unitRef="usd">1834000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjQ2NzdhNzdjZDJkYzRjMDhiMmIwYmFkMjYwNTQ1ZGM1L3RhYmxlcmFuZ2U6NDY3N2E3N2NkMmRjNGMwOGIyYjBiYWQyNjA1NDVkYzVfMi0zLTEtMS04NTkyOQ_6f7f2d89-6b80-47aa-bb7d-4cb88009766d"
      unitRef="usd">1393000</us-gaap:OperatingLeaseCost>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjQ2NzdhNzdjZDJkYzRjMDhiMmIwYmFkMjYwNTQ1ZGM1L3RhYmxlcmFuZ2U6NDY3N2E3N2NkMmRjNGMwOGIyYjBiYWQyNjA1NDVkYzVfMy0xLTEtMS04NTkyOQ_179b775b-cf23-443d-9896-5a9dea92eca9"
      unitRef="usd">43000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjQ2NzdhNzdjZDJkYzRjMDhiMmIwYmFkMjYwNTQ1ZGM1L3RhYmxlcmFuZ2U6NDY3N2E3N2NkMmRjNGMwOGIyYjBiYWQyNjA1NDVkYzVfMy0zLTEtMS04NTkyOQ_5220ea70-dbeb-4958-bd4a-9be91397bb02"
      unitRef="usd">43000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjQ2NzdhNzdjZDJkYzRjMDhiMmIwYmFkMjYwNTQ1ZGM1L3RhYmxlcmFuZ2U6NDY3N2E3N2NkMmRjNGMwOGIyYjBiYWQyNjA1NDVkYzVfNC0xLTEtMS04NTkyOQ_2ba14511-8986-4273-b102-6e9ea9d12b84"
      unitRef="usd">4000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjQ2NzdhNzdjZDJkYzRjMDhiMmIwYmFkMjYwNTQ1ZGM1L3RhYmxlcmFuZ2U6NDY3N2E3N2NkMmRjNGMwOGIyYjBiYWQyNjA1NDVkYzVfNC0zLTEtMS04NTkyOQ_3ab4eeef-44db-4634-a02a-77bf32392e7a"
      unitRef="usd">5000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:LeaseCost
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjQ2NzdhNzdjZDJkYzRjMDhiMmIwYmFkMjYwNTQ1ZGM1L3RhYmxlcmFuZ2U6NDY3N2E3N2NkMmRjNGMwOGIyYjBiYWQyNjA1NDVkYzVfNS0xLTEtMS04NTkyOQ_75a86f1d-cad9-4d07-a034-86f01506ec4d"
      unitRef="usd">1881000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjQ2NzdhNzdjZDJkYzRjMDhiMmIwYmFkMjYwNTQ1ZGM1L3RhYmxlcmFuZ2U6NDY3N2E3N2NkMmRjNGMwOGIyYjBiYWQyNjA1NDVkYzVfNS0zLTEtMS04NTkyOQ_49031fa9-5e06-42e1-8423-259bedf652d7"
      unitRef="usd">1441000</us-gaap:LeaseCost>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RleHRyZWdpb246OTI2MGVjYWU3M2NiNGYwZDk1NjA0N2JmMGIyNjBmZDdfNjE5_44f59344-9614-4fdf-9699-0d6a5d442936"
      unitRef="number">0.0325</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RleHRyZWdpb246OTI2MGVjYWU3M2NiNGYwZDk1NjA0N2JmMGIyNjBmZDdfNjI2_153ac71a-b5c9-4021-9c8d-00b42339f599"
      unitRef="number">0.0224</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RleHRyZWdpb246OTI2MGVjYWU3M2NiNGYwZDk1NjA0N2JmMGIyNjBmZDdfODg2_1a15b362-9043-4d8b-99d5-f872708156ab">P4Y4M24D</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:LesseeFinanceLeaseTermOfContract1
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RleHRyZWdpb246OTI2MGVjYWU3M2NiNGYwZDk1NjA0N2JmMGIyNjBmZDdfODkz_ae5cb3dd-288b-4fc9-80bc-1e72460c1857">P5Y</us-gaap:LesseeFinanceLeaseTermOfContract1>
    <us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RleHRyZWdpb246OTI2MGVjYWU3M2NiNGYwZDk1NjA0N2JmMGIyNjBmZDdfMTAzNQ_1c83fcdb-6b86-44aa-a0cf-f5d8a3801eb8">&lt;div style="margin-top:6pt;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;As of March&#160;31, 2023, the maturities of lease liabilities under operating and finance leases were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:2pt;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:58.142%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.084%"/&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:8pt;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:8pt;font-weight:700;line-height:120%"&gt;Finance 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:8pt;font-weight:700;line-height:120%"&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:120%"&gt;Remainder of 2023&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;5,013&#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;105&#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;5,118&#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:120%"&gt;2024&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;6,589&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,734&#160;&lt;/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:120%"&gt;2025&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;5,146&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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;text-align:left;vertical-align:bottom"&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:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,359&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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:120%"&gt;2027&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;4,259&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;158&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,417&#160;&lt;/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:120%"&gt;Thereafter&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;990&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,031&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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 #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;27,356&#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:120%"&gt;751&#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:120%"&gt;28,107&#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: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;(1,863)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,904)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total present value of lease liabilities&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:120%"&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:120%"&gt;25,493&#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:120%"&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:120%"&gt;710&#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:120%"&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:120%"&gt;26,203&#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:FinanceLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RleHRyZWdpb246OTI2MGVjYWU3M2NiNGYwZDk1NjA0N2JmMGIyNjBmZDdfMTAzNQ_5148b18b-c704-4ac7-9e9c-0b4abbd4016e">&lt;div style="margin-top:6pt;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;As of March&#160;31, 2023, the maturities of lease liabilities under operating and finance leases were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:2pt;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:58.142%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.084%"/&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:8pt;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:8pt;font-weight:700;line-height:120%"&gt;Finance 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:8pt;font-weight:700;line-height:120%"&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:120%"&gt;Remainder of 2023&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;5,013&#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;105&#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;5,118&#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:120%"&gt;2024&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;6,589&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,734&#160;&lt;/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:120%"&gt;2025&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;5,146&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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;text-align:left;vertical-align:bottom"&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:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,359&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,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:120%"&gt;2027&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;4,259&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;158&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,417&#160;&lt;/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:120%"&gt;Thereafter&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;990&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,031&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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 #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;27,356&#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:120%"&gt;751&#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:120%"&gt;28,107&#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: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;(1,863)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,904)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total present value of lease liabilities&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:120%"&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:120%"&gt;25,493&#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:120%"&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:120%"&gt;710&#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:120%"&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:120%"&gt;26,203&#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:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfMS0xLTEtMS04NTkyOQ_e4a59d7e-c190-4663-9cb3-46c501e56b16"
      unitRef="usd">5013000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfMS0zLTEtMS04NTkyOQ_49a10157-3987-4ee1-89fb-fd01e293f111"
      unitRef="usd">105000</us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <pubm:LesseeOperatingAndFinanceLeaseLiabilityToBePaidRemainderOfFiscalYear
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfMS01LTEtMS04NTkyOQ_1d085ce6-42b9-4706-bca0-68a7769f0c07"
      unitRef="usd">5118000</pubm:LesseeOperatingAndFinanceLeaseLiabilityToBePaidRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfMi0xLTEtMS04NTkyOQ_089f58c3-c1c8-44a2-8b24-d4ac49c89d79"
      unitRef="usd">6589000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfMi0zLTEtMS04NTkyOQ_6b558a19-7611-401c-9706-ceae7de3b6c2"
      unitRef="usd">145000</us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths>
    <pubm:LesseeOperatingAndFinanceLeaseLiabilityToBePaidYearOne
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfMi01LTEtMS04NTkyOQ_bb3defed-afe0-446f-806e-dbc9af9fcaa5"
      unitRef="usd">6734000</pubm:LesseeOperatingAndFinanceLeaseLiabilityToBePaidYearOne>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfMy0xLTEtMS04NTkyOQ_64266f3b-a982-44e8-ad18-87924bc6cb51"
      unitRef="usd">5146000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfMy0zLTEtMS04NTkyOQ_a9f2e777-697a-4084-bc47-1d9ef7935990"
      unitRef="usd">149000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo>
    <pubm:LesseeOperatingAndFinanceLeaseLiabilityToBePaidYearTwo
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfMy01LTEtMS04NTkyOQ_121e8d7a-f7b0-43fb-8889-6d97988c9801"
      unitRef="usd">5295000</pubm:LesseeOperatingAndFinanceLeaseLiabilityToBePaidYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfNC0xLTEtMS04NTkyOQ_4913c55f-7724-4564-9777-639f9695d4e8"
      unitRef="usd">5359000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfNC0zLTEtMS04NTkyOQ_4ca7c676-4bc6-4851-aaab-213081d77890"
      unitRef="usd">153000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree>
    <pubm:LesseeOperatingAndFinanceLeaseLiabilityToBePaidYearThree
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfNC01LTEtMS04NTkyOQ_2777b4d6-4de0-4c03-a75e-66112a981ed1"
      unitRef="usd">5512000</pubm:LesseeOperatingAndFinanceLeaseLiabilityToBePaidYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfNS0xLTEtMS04NTkyOQ_4570d7ce-1455-467e-9167-a87c53b80dfe"
      unitRef="usd">4259000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfNS0zLTEtMS04NTkyOQ_027932e3-d1c1-4cdc-bba2-0761c98b2931"
      unitRef="usd">158000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour>
    <pubm:LesseeOperatingAndFinanceLeaseLiabilityToBePaidYearFour
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfNS01LTEtMS04NTkyOQ_b9b6a349-5a26-40ff-946b-e380724f8a1f"
      unitRef="usd">4417000</pubm:LesseeOperatingAndFinanceLeaseLiabilityToBePaidYearFour>
    <pubm:LesseeOperatingLeaseLiabilityToBePaidAfterYearFor
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfNi0xLTEtMS04NTkyOQ_c815902d-1351-4f60-9c74-a6efb21cf9b3"
      unitRef="usd">990000</pubm:LesseeOperatingLeaseLiabilityToBePaidAfterYearFor>
    <pubm:FinanceLeaseLiabilityToBePaidAfterYearFour
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfNi0zLTEtMS04NTkyOQ_09e6e3b0-0a5e-4fe1-9e5a-27e9c74fa95f"
      unitRef="usd">41000</pubm:FinanceLeaseLiabilityToBePaidAfterYearFour>
    <pubm:LesseeOperatingAndFinanceLeaseLiabilityToBePaidAfterYearFour
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfNi01LTEtMS04NTkyOQ_baa74958-c839-4d5d-8780-7b05893943ba"
      unitRef="usd">1031000</pubm:LesseeOperatingAndFinanceLeaseLiabilityToBePaidAfterYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfNy0xLTEtMS04NTkyOQ_f5a0ed22-f719-4214-aa0f-15122221a35e"
      unitRef="usd">27356000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:FinanceLeaseLiabilityPaymentsDue
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfNy0zLTEtMS04NTkyOQ_46c637e2-3cb8-4ed3-bbfe-d8422e059e69"
      unitRef="usd">751000</us-gaap:FinanceLeaseLiabilityPaymentsDue>
    <pubm:LesseeOperatingAndFinanceLeaseLiabilityToBePaid
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfNy01LTEtMS04NTkyOQ_70d9c841-be85-477e-8fc8-ad8934715899"
      unitRef="usd">28107000</pubm:LesseeOperatingAndFinanceLeaseLiabilityToBePaid>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfOC0xLTEtMS04NTkyOQ_52c7a6bb-f6f2-4c39-8fd0-af041d32683e"
      unitRef="usd">1863000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfOC0zLTEtMS04NTkyOQ_11574a10-ba83-4e71-b8c2-0dd2852e348d"
      unitRef="usd">41000</us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount>
    <pubm:LesseeOperatingAndFinanceLeaseLiabilityUndiscountedExcessAmount
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfOC01LTEtMS04NTkyOQ_310953af-91a1-4123-a40d-088441806cf8"
      unitRef="usd">1904000</pubm:LesseeOperatingAndFinanceLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfOS0xLTEtMS04NTkyOQ_d172fc96-1af5-48eb-81e7-077806cd4c26"
      unitRef="usd">25493000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfOS0zLTEtMS04NTkyOQ_b4a84b3c-9ea7-40aa-b548-d8c3f7e0dc52"
      unitRef="usd">710000</us-gaap:FinanceLeaseLiability>
    <pubm:OperatingAndFinanceLeaseLiability
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV80OS9mcmFnOjkyNjBlY2FlNzNjYjRmMGQ5NTYwNDdiZjBiMjYwZmQ3L3RhYmxlOjM0OWZiMWVmOGIxYjRhNDhhYTgxNDljYzUyNGY1MjFiL3RhYmxlcmFuZ2U6MzQ5ZmIxZWY4YjFiNGE0OGFhODE0OWNjNTI0ZjUyMWJfOS01LTEtMS04NTkyOQ_ba93a076-6caf-4fd3-b018-b16300e0a2e1"
      unitRef="usd">26203000</pubm:OperatingAndFinanceLeaseLiability>
    <us-gaap:BusinessCombinationDisclosureTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81Mi9mcmFnOjJmMDYwNDljMWQ1NTRiOGVhYmNkMDgwZTVlZGFlNGExL3RleHRyZWdpb246MmYwNjA0OWMxZDU1NGI4ZWFiY2QwODBlNWVkYWU0YTFfMjA0OQ_b8c4d0d7-60d5-4b18-89fe-a292796bae61">Business CombinationOn September 16, 2022, the Company acquired all outstanding stock of ConsultMates, Inc. (dba &#x201c;Martin&#x201d;), a media measurement and reporting platform, for $30.8&#160;million. The acquisition is in response to growing demand from the Company&#x2019;s buy-side customers for enhanced tools to take advantage of the Company&#x2019;s global omnichannel inventory, including market-leading addressability solutions and innovative technology to enable supply path optimization. The assets acquired and liabilities assumed were recorded at fair value. The purchase price excludes $14.2&#160;million of post-acquisition cash compensation arrangements for certain key acquired employees to be paid ratably over three years following the closing of the acquisition (subject to forfeiture upon termination). The purchase price was attributed to $7.9&#160;million of developed technology intangible assets, $1.0&#160;million of customer relationship intangible assets, $23.3&#160;million of goodwill, $1.1&#160;million of deferred tax liabilities, and $0.3&#160;million of net liabilities assumed. The fair values of assets acquired and liabilities assumed may change over the measurement period as additional information is received. The measurement period will end no later than one year from the acquisition date. The goodwill recognized was primarily attributable to the assembled workforce and the expected synergies from integrating Martin&#x2019;s technology into the Company&#x2019;s platform. Goodwill is not expected to be deductible for tax purposes. The financial results of Martin are included in the Company&#x2019;s condensed consolidated financial statements from the date of acquisition. Separate operating results and pro forma results of operations for Martin have not been presented as the effect of this acquisition was not material to the Company&#x2019;s financial results.</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i21498375862e4453a6d5febdb2e363f4_D20220916-20220916"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81Mi9mcmFnOjJmMDYwNDljMWQ1NTRiOGVhYmNkMDgwZTVlZGFlNGExL3RleHRyZWdpb246MmYwNjA0OWMxZDU1NGI4ZWFiY2QwODBlNWVkYWU0YTFfMTcx_4d52149a-6e94-45d4-ad8e-1695495d6ddf"
      unitRef="usd">30800000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationSeparatelyRecognizedTransactionsExpensesAndLossesRecognized
      contextRef="i21498375862e4453a6d5febdb2e363f4_D20220916-20220916"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81Mi9mcmFnOjJmMDYwNDljMWQ1NTRiOGVhYmNkMDgwZTVlZGFlNGExL3RleHRyZWdpb246MmYwNjA0OWMxZDU1NGI4ZWFiY2QwODBlNWVkYWU0YTFfNTU5_cc8dcb6b-6e24-43fe-a20c-3c08ac752558"
      unitRef="usd">14200000</us-gaap:BusinessCombinationSeparatelyRecognizedTransactionsExpensesAndLossesRecognized>
    <pubm:BusinessCombinationAcquisitionCostsPaymentTerm
      contextRef="i21498375862e4453a6d5febdb2e363f4_D20220916-20220916"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81Mi9mcmFnOjJmMDYwNDljMWQ1NTRiOGVhYmNkMDgwZTVlZGFlNGExL3RleHRyZWdpb246MmYwNjA0OWMxZDU1NGI4ZWFiY2QwODBlNWVkYWU0YTFfNjcy_4476967f-0271-4b54-a97a-96fdba5d1734">P3Y</pubm:BusinessCombinationAcquisitionCostsPaymentTerm>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i56f8378f66f2430898dfb41dd22e13f0_D20220916-20220916"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81Mi9mcmFnOjJmMDYwNDljMWQ1NTRiOGVhYmNkMDgwZTVlZGFlNGExL3RleHRyZWdpb246MmYwNjA0OWMxZDU1NGI4ZWFiY2QwODBlNWVkYWU0YTFfNzk1_2b3498c0-657a-49ca-9dbe-a53f8bf6dcad"
      unitRef="usd">7900000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="ib924571d148343a1a28c837c88349af4_D20220916-20220916"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81Mi9mcmFnOjJmMDYwNDljMWQ1NTRiOGVhYmNkMDgwZTVlZGFlNGExL3RleHRyZWdpb246MmYwNjA0OWMxZDU1NGI4ZWFiY2QwODBlNWVkYWU0YTFfODk1_91845ea5-4d10-4d75-88a6-73ff51839a16"
      unitRef="usd">1000000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i21498375862e4453a6d5febdb2e363f4_D20220916-20220916"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81Mi9mcmFnOjJmMDYwNDljMWQ1NTRiOGVhYmNkMDgwZTVlZGFlNGExL3RleHRyZWdpb246MmYwNjA0OWMxZDU1NGI4ZWFiY2QwODBlNWVkYWU0YTFfNTQ5NzU1ODE2MTU1_7f67c9a6-400e-4c0b-b6c3-0d5fdd74e7c8"
      unitRef="usd">23300000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="ic5532def4a6743979359e3d18c82d7d0_I20220916"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81Mi9mcmFnOjJmMDYwNDljMWQ1NTRiOGVhYmNkMDgwZTVlZGFlNGExL3RleHRyZWdpb246MmYwNjA0OWMxZDU1NGI4ZWFiY2QwODBlNWVkYWU0YTFfMTAxMg_1a1ba7a4-e57d-456e-bff0-f222d35169b3"
      unitRef="usd">1100000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities
      contextRef="ic5532def4a6743979359e3d18c82d7d0_I20220916"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81Mi9mcmFnOjJmMDYwNDljMWQ1NTRiOGVhYmNkMDgwZTVlZGFlNGExL3RleHRyZWdpb246MmYwNjA0OWMxZDU1NGI4ZWFiY2QwODBlNWVkYWU0YTFfNTQ5NzU1ODE2MTg1_744a1af8-ce18-40de-9eed-a544dffd444f"
      unitRef="usd">300000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RleHRyZWdpb246MzczZWY1ZTg0MjM2NGQyOGEzNGZkOWJmYmQyMzZkMTVfNDk0NzgwMjMzMzg0OQ_7c8b302d-ea19-4aee-94b7-904b236ed42b">Acquisition-related Intangible Assets, Net&lt;div style="margin-top:6pt"&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;Acquisition-related Intangible Assets, Net&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;Acquisition-related intangible assets, net consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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:59.354%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.084%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;March 31, 2023&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="display:none"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Gross Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Accumulated Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Net Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Developed technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&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;7,900&#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="display:none"/&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;851&#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="display:none"/&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;7,049&#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="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:120%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 acquisition-related intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&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;8,900&#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="display:none"/&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;1,851&#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="display:none"/&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;7,049&#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="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31, 2022&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="display:none"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Gross Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Accumulated Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Net Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Developed technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&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;7,900&#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="display:none"/&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;456&#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="display:none"/&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;7,444&#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="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:120%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;855&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 acquisition-related intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&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:120%"&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:120%"&gt;8,900&#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="display:none"/&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:120%"&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:120%"&gt;601&#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="display:none"/&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:120%"&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:120%"&gt;8,299&#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="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 weighted average remaining useful life of developed technology was 4.5 years as of March&#160;31, 2023. Amortization expense related to acquisition-related intangibles was $1.3 million for the three months ended March 31, 2023.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;As of March 31, 2023, estimated future amortization expense for acquisition-related intangible assets was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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:85.718%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.082%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Remainder of 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&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;1,185&#160;&lt;/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:120%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,580&#160;&lt;/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:120%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,580&#160;&lt;/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:120%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,580&#160;&lt;/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:120%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,124&#160;&lt;/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:120%"&gt;&#160;&#160;&#160;&#160;&#160;Total estimated future amortization expense for acquisition-related intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&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:120%"&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:120%"&gt;7,049&#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:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfAcquiredIndefiniteLivedIntangibleAssetsByMajorClassTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RleHRyZWdpb246MzczZWY1ZTg0MjM2NGQyOGEzNGZkOWJmYmQyMzZkMTVfNDk0NzgwMjMzMzg1MQ_312db22e-2551-49b7-94a5-879903d457e0">&lt;div style="margin-top:6pt;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;Acquisition-related intangible assets, net consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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:59.354%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.084%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;March 31, 2023&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="display:none"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Gross Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Accumulated Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Net Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Developed technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&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;7,900&#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="display:none"/&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;851&#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="display:none"/&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;7,049&#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="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:120%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'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="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 acquisition-related intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&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;8,900&#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="display:none"/&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;1,851&#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="display:none"/&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;7,049&#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="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 31, 2022&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="display:none"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Gross Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Accumulated Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Net Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Developed technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&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;7,900&#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="display:none"/&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;456&#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="display:none"/&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;7,444&#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="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:120%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;855&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 acquisition-related intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&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:120%"&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:120%"&gt;8,900&#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="display:none"/&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:120%"&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:120%"&gt;601&#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="display:none"/&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:120%"&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:120%"&gt;8,299&#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="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAcquiredIndefiniteLivedIntangibleAssetsByMajorClassTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i4d28a80d84b24768aae218890e946fbd_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RhYmxlOjQxZjIwYzFlYTYyMzQ3Nzc5ZGFjY2FlMjZmOWJjZDE1L3RhYmxlcmFuZ2U6NDFmMjBjMWVhNjIzNDc3NzlkYWNjYWUyNmY5YmNkMTVfMi0yLTEtMS05ODc4OQ_41a97e01-74d8-4d4c-b860-a473ec16099d"
      unitRef="usd">7900000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i4d28a80d84b24768aae218890e946fbd_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RhYmxlOjQxZjIwYzFlYTYyMzQ3Nzc5ZGFjY2FlMjZmOWJjZDE1L3RhYmxlcmFuZ2U6NDFmMjBjMWVhNjIzNDc3NzlkYWNjYWUyNmY5YmNkMTVfMi00LTEtMS05ODc4OQ_ebbfc966-9f53-420c-891a-bd3a31b29b41"
      unitRef="usd">851000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i4d28a80d84b24768aae218890e946fbd_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RhYmxlOjQxZjIwYzFlYTYyMzQ3Nzc5ZGFjY2FlMjZmOWJjZDE1L3RhYmxlcmFuZ2U6NDFmMjBjMWVhNjIzNDc3NzlkYWNjYWUyNmY5YmNkMTVfMi02LTEtMS05ODc4OQ_0a727251-224a-4801-bc65-6b7514236cf1"
      unitRef="usd">7049000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ic185a13f8ca64d46a826a6ac09692deb_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RhYmxlOjQxZjIwYzFlYTYyMzQ3Nzc5ZGFjY2FlMjZmOWJjZDE1L3RhYmxlcmFuZ2U6NDFmMjBjMWVhNjIzNDc3NzlkYWNjYWUyNmY5YmNkMTVfMy0yLTEtMS05ODc4OQ_4c00d0e0-2a80-4565-9da8-42be66ea7979"
      unitRef="usd">1000000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ic185a13f8ca64d46a826a6ac09692deb_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RhYmxlOjQxZjIwYzFlYTYyMzQ3Nzc5ZGFjY2FlMjZmOWJjZDE1L3RhYmxlcmFuZ2U6NDFmMjBjMWVhNjIzNDc3NzlkYWNjYWUyNmY5YmNkMTVfMy00LTEtMS05ODc4OQ_31aafa69-ff4f-49a5-a958-eb921d300b02"
      unitRef="usd">1000000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ic185a13f8ca64d46a826a6ac09692deb_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RhYmxlOjQxZjIwYzFlYTYyMzQ3Nzc5ZGFjY2FlMjZmOWJjZDE1L3RhYmxlcmFuZ2U6NDFmMjBjMWVhNjIzNDc3NzlkYWNjYWUyNmY5YmNkMTVfMy02LTEtMS05ODc4OQ_d3008b29-5c1f-4f9d-be05-e5786aa47008"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RhYmxlOjQxZjIwYzFlYTYyMzQ3Nzc5ZGFjY2FlMjZmOWJjZDE1L3RhYmxlcmFuZ2U6NDFmMjBjMWVhNjIzNDc3NzlkYWNjYWUyNmY5YmNkMTVfNC0yLTEtMS05ODc4OQ_ca5f4cab-d423-41d8-997d-c14632e7c27b"
      unitRef="usd">8900000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RhYmxlOjQxZjIwYzFlYTYyMzQ3Nzc5ZGFjY2FlMjZmOWJjZDE1L3RhYmxlcmFuZ2U6NDFmMjBjMWVhNjIzNDc3NzlkYWNjYWUyNmY5YmNkMTVfNC00LTEtMS05ODc4OQ_1319c017-9770-456a-9b04-162bf5848eb8"
      unitRef="usd">1851000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RhYmxlOjQxZjIwYzFlYTYyMzQ3Nzc5ZGFjY2FlMjZmOWJjZDE1L3RhYmxlcmFuZ2U6NDFmMjBjMWVhNjIzNDc3NzlkYWNjYWUyNmY5YmNkMTVfNC02LTEtMS05ODc4OQ_024e5c23-e099-410e-be53-6735682603d8"
      unitRef="usd">7049000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ida2e7d3c0eb74cd894bbeadc96ff7acb_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RhYmxlOjQxZjIwYzFlYTYyMzQ3Nzc5ZGFjY2FlMjZmOWJjZDE1L3RhYmxlcmFuZ2U6NDFmMjBjMWVhNjIzNDc3NzlkYWNjYWUyNmY5YmNkMTVfOC0yLTEtMS05ODE0Nw_2dfe99ce-a02e-4a34-a446-f9fcf4275639"
      unitRef="usd">7900000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ida2e7d3c0eb74cd894bbeadc96ff7acb_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RhYmxlOjQxZjIwYzFlYTYyMzQ3Nzc5ZGFjY2FlMjZmOWJjZDE1L3RhYmxlcmFuZ2U6NDFmMjBjMWVhNjIzNDc3NzlkYWNjYWUyNmY5YmNkMTVfOC00LTEtMS05ODE0Nw_a687b13f-6ea5-4b3c-ab41-8222f0da785b"
      unitRef="usd">456000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ida2e7d3c0eb74cd894bbeadc96ff7acb_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RhYmxlOjQxZjIwYzFlYTYyMzQ3Nzc5ZGFjY2FlMjZmOWJjZDE1L3RhYmxlcmFuZ2U6NDFmMjBjMWVhNjIzNDc3NzlkYWNjYWUyNmY5YmNkMTVfOC02LTEtMS05ODc5Nw_3f5251a8-d1da-4210-8ac8-93430e40fe73"
      unitRef="usd">7444000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i2cdabf5dac11447ca6ebae2ea2e342df_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RhYmxlOjQxZjIwYzFlYTYyMzQ3Nzc5ZGFjY2FlMjZmOWJjZDE1L3RhYmxlcmFuZ2U6NDFmMjBjMWVhNjIzNDc3NzlkYWNjYWUyNmY5YmNkMTVfOS0yLTEtMS05ODE0Nw_c6981c19-82dd-4a07-965e-95134a0cbb2a"
      unitRef="usd">1000000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i2cdabf5dac11447ca6ebae2ea2e342df_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RhYmxlOjQxZjIwYzFlYTYyMzQ3Nzc5ZGFjY2FlMjZmOWJjZDE1L3RhYmxlcmFuZ2U6NDFmMjBjMWVhNjIzNDc3NzlkYWNjYWUyNmY5YmNkMTVfOS00LTEtMS05ODE0Nw_8eae774e-1b4c-4094-885f-25ab9b016f9d"
      unitRef="usd">145000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i2cdabf5dac11447ca6ebae2ea2e342df_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RhYmxlOjQxZjIwYzFlYTYyMzQ3Nzc5ZGFjY2FlMjZmOWJjZDE1L3RhYmxlcmFuZ2U6NDFmMjBjMWVhNjIzNDc3NzlkYWNjYWUyNmY5YmNkMTVfOS02LTEtMS05ODc5Nw_22c7a058-05ad-42da-a8a6-010ba445d0ac"
      unitRef="usd">855000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RhYmxlOjQxZjIwYzFlYTYyMzQ3Nzc5ZGFjY2FlMjZmOWJjZDE1L3RhYmxlcmFuZ2U6NDFmMjBjMWVhNjIzNDc3NzlkYWNjYWUyNmY5YmNkMTVfMTAtMi0xLTEtOTg3OTc_1435dffd-35e6-4016-b914-8d755d76aec8"
      unitRef="usd">8900000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RhYmxlOjQxZjIwYzFlYTYyMzQ3Nzc5ZGFjY2FlMjZmOWJjZDE1L3RhYmxlcmFuZ2U6NDFmMjBjMWVhNjIzNDc3NzlkYWNjYWUyNmY5YmNkMTVfMTAtNC0xLTEtOTg3OTc_0d4887fc-e41a-470b-afde-49decf7a44db"
      unitRef="usd">601000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RhYmxlOjQxZjIwYzFlYTYyMzQ3Nzc5ZGFjY2FlMjZmOWJjZDE1L3RhYmxlcmFuZ2U6NDFmMjBjMWVhNjIzNDc3NzlkYWNjYWUyNmY5YmNkMTVfMTAtNi0xLTEtOTg3OTc_9f94e62b-3870-45f3-a85c-9e35dd815d0f"
      unitRef="usd">8299000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="ib9a0fc12b9ba43a6aeac2eeabacb0970_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RleHRyZWdpb246MzczZWY1ZTg0MjM2NGQyOGEzNGZkOWJmYmQyMzZkMTVfNTQ5NzU1ODIyOTg0_53a5d00f-1a50-4deb-a265-1a099e861c86">P4Y6M</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RleHRyZWdpb246MzczZWY1ZTg0MjM2NGQyOGEzNGZkOWJmYmQyMzZkMTVfNTQ5NzU1ODIyNjQw_6feaf9de-6f57-4d61-8bd0-d9a6addabe36"
      unitRef="usd">1300000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RleHRyZWdpb246MzczZWY1ZTg0MjM2NGQyOGEzNGZkOWJmYmQyMzZkMTVfNDk0NzgwMjMzMzg1Mg_a1876730-e692-471d-991a-d445cd12d4e1">&lt;div style="margin-top:6pt;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;As of March 31, 2023, estimated future amortization expense for acquisition-related intangible assets was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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:85.718%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.082%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Remainder of 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&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;1,185&#160;&lt;/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:120%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,580&#160;&lt;/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:120%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,580&#160;&lt;/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:120%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1,580&#160;&lt;/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:120%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,124&#160;&lt;/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:120%"&gt;&#160;&#160;&#160;&#160;&#160;Total estimated future amortization expense for acquisition-related intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&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:120%"&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:120%"&gt;7,049&#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:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RhYmxlOjA0NTE0MzZhNzdkNjRmZTM4ZGYwOTljNWIwMmVmYjEwL3RhYmxlcmFuZ2U6MDQ1MTQzNmE3N2Q2NGZlMzhkZjA5OWM1YjAyZWZiMTBfMC0yLTEtMS05ODE4Ng_dc63d11e-e770-4f6b-9a6b-8a81068f2c8b"
      unitRef="usd">1185000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RhYmxlOjA0NTE0MzZhNzdkNjRmZTM4ZGYwOTljNWIwMmVmYjEwL3RhYmxlcmFuZ2U6MDQ1MTQzNmE3N2Q2NGZlMzhkZjA5OWM1YjAyZWZiMTBfMS0yLTEtMS05ODE4Ng_29ce84b8-7c91-4668-87ed-fb4ae1f63e13"
      unitRef="usd">1580000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RhYmxlOjA0NTE0MzZhNzdkNjRmZTM4ZGYwOTljNWIwMmVmYjEwL3RhYmxlcmFuZ2U6MDQ1MTQzNmE3N2Q2NGZlMzhkZjA5OWM1YjAyZWZiMTBfMi0yLTEtMS05ODE4Ng_34736e83-9fb7-4745-af50-244ea1e12aaf"
      unitRef="usd">1580000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RhYmxlOjA0NTE0MzZhNzdkNjRmZTM4ZGYwOTljNWIwMmVmYjEwL3RhYmxlcmFuZ2U6MDQ1MTQzNmE3N2Q2NGZlMzhkZjA5OWM1YjAyZWZiMTBfMy0yLTEtMS05ODE4Ng_b9f22fe6-e859-4cbf-9e44-16067734d65a"
      unitRef="usd">1580000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RhYmxlOjA0NTE0MzZhNzdkNjRmZTM4ZGYwOTljNWIwMmVmYjEwL3RhYmxlcmFuZ2U6MDQ1MTQzNmE3N2Q2NGZlMzhkZjA5OWM1YjAyZWZiMTBfNC0yLTEtMS05ODE4Ng_7dd759e5-d325-4139-a2b9-e5dd3f615a19"
      unitRef="usd">1124000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81NS9mcmFnOjM3M2VmNWU4NDIzNjRkMjhhMzRmZDliZmJkMjM2ZDE1L3RhYmxlOjA0NTE0MzZhNzdkNjRmZTM4ZGYwOTljNWIwMmVmYjEwL3RhYmxlcmFuZ2U6MDQ1MTQzNmE3N2Q2NGZlMzhkZjA5OWM1YjAyZWZiMTBfNS0yLTEtMS05ODgwMg_7fe77451-b5f7-44c4-a089-537290f37294"
      unitRef="usd">7049000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV84MjcvZnJhZzoxZjNjNGRkMWIyNjU0NWNmOWUzOTUxOWI1ZGUyZTE1MC90ZXh0cmVnaW9uOjFmM2M0ZGQxYjI2NTQ1Y2Y5ZTM5NTE5YjVkZTJlMTUwXzMwMjU_9b317774-c286-4a42-aa91-3cb6ec100f00">Commitments and Contingencies &lt;div style="margin-top:6pt"&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;Purchase Obligations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 Company&#x2019;s purchase obligations primarily relate to minimum contractual payments due to data center providers. During the three months ended March&#160;31, 2023, there were no material changes to the Company&#x2019;s non-cancelable purchase obligations disclosed in the Company&#x2019;s Annual Report on Form 10-K for the fiscal year ended December&#160;31, 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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;Letters of Credit&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;As of March&#160;31, 2023 and December&#160;31, 2022, the Company had two irrevocable letters of credit outstanding related to non-cancelable facilities leases in the amounts of $3.5&#160;million and $0.5&#160;million, with annual automatic renewal and final expiration dates in July 2028 and April 2025, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;Legal Matters&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;From time to time, the Company is or may be involved in various claims and other legal matters arising in the normal course of business. The Company records an accrual for a liability relating to claims and other legal matters when it is both probable that a liability has been incurred and the amount of the loss can be reasonably estimated. Any such accruals are reviewed at least quarterly and adjusted for the impacts of negotiations, rulings, settlements, and other information or events pertaining to a particular matter, or on the advice of legal counsel. To date, the Company has not incurred a material loss, or a material loss in excess of a recorded accrual, with respect to any claims and other legal matters arising in the normal course of business. However, the outcomes of claims and other legal matters are inherently unpredictable and subject to significant uncertainties. If the Company subsequently concludes that there is a reasonable possibility that a loss exceeding amounts already recognized may be incurred, and the amount of such additional loss would be material, the Company will either disclose the estimated additional loss or state that such an estimate cannot be made.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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;Indemnification&lt;/span&gt;&lt;/div&gt;In the normal course of business, the Company enters into contracts and agreements that contain a variety of representations and warranties and provide for general indemnification. The Company&#x2019;s exposure under these agreements is unknown because it involves future claims that may be made against the Company but have not yet been made. To date, the Company has not paid any material claims or been required to defend any actions related to its indemnification obligations. However, the Company may record charges in the future as a result of these indemnification obligations. In addition, the Company has indemnification agreements with certain of its directors and executive officers that require it, among other things, to indemnify them against certain liabilities that may arise due to their status or service as directors or officers of the Company. The terms of such obligations may vary</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <pubm:NumberOfDebtInstruments
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV84MjcvZnJhZzoxZjNjNGRkMWIyNjU0NWNmOWUzOTUxOWI1ZGUyZTE1MC90ZXh0cmVnaW9uOjFmM2M0ZGQxYjI2NTQ1Y2Y5ZTM5NTE5YjVkZTJlMTUwXzQ2Nw_20f4ce30-d6f9-45b2-bcb0-e1d8a533794f"
      unitRef="instrument">2</pubm:NumberOfDebtInstruments>
    <pubm:NumberOfDebtInstruments
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV84MjcvZnJhZzoxZjNjNGRkMWIyNjU0NWNmOWUzOTUxOWI1ZGUyZTE1MC90ZXh0cmVnaW9uOjFmM2M0ZGQxYjI2NTQ1Y2Y5ZTM5NTE5YjVkZTJlMTUwXzQ2Nw_325f5943-709f-4b3b-917a-9b23d9ceb8d2"
      unitRef="instrument">2</pubm:NumberOfDebtInstruments>
    <us-gaap:LettersOfCreditOutstandingAmount
      contextRef="i3d6538450a3441518a5f275ffb623432_I20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV84MjcvZnJhZzoxZjNjNGRkMWIyNjU0NWNmOWUzOTUxOWI1ZGUyZTE1MC90ZXh0cmVnaW9uOjFmM2M0ZGQxYjI2NTQ1Y2Y5ZTM5NTE5YjVkZTJlMTUwXzU3NA_c478e8a2-802e-4864-884f-3a88d1273540"
      unitRef="usd">3500000</us-gaap:LettersOfCreditOutstandingAmount>
    <us-gaap:LettersOfCreditOutstandingAmount
      contextRef="i24ed291c3156405886cc10d897f16195_I20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV84MjcvZnJhZzoxZjNjNGRkMWIyNjU0NWNmOWUzOTUxOWI1ZGUyZTE1MC90ZXh0cmVnaW9uOjFmM2M0ZGQxYjI2NTQ1Y2Y5ZTM5NTE5YjVkZTJlMTUwXzU4MQ_c02590ce-bbc0-45fb-bf48-e53fd0a0ab6a"
      unitRef="usd">500000</us-gaap:LettersOfCreditOutstandingAmount>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfNDE2Mw_a0f46634-a93b-4585-a591-49990ad33779">Stockholders&#x2019; Equity and Equity Incentive Plans&lt;div style="margin-top:6pt"&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;Share Repurchases&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;In February 2023, the Company&#x2019;s board of directors authorized the Company to repurchase up to $75 million of its Class A common stock (&#x201c;2023 Repurchase Program&#x201d;). As of March&#160;31, 2023, $67.1 million remains available for repurchases. Shares are repurchased in a manner deemed in the best interest of the Company and its stockholders, dependent upon business, economic and market conditions, corporate and regulatory requirements, prevailing stock prices and other considerations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;In accordance with the authorization of the Company&#x2019;s board of directors, during the three months ended March 31, 2023, we repurchased 586,830 aggregate shares of Class A common stock for $7.9 million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;Repurchases are executed from time to time, subject to general business and market conditions and other investment opportunities, through open market purchases or privately negotiated transactions, in accordance with Rule 10b-18 and/or Rule 10b5-1 of the Exchange Act. The 2023 Repurchase Program is scheduled to terminate on December 31, 2024.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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;Equity Incentive Plans&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 Company maintains the 2020 Equity Incentive Plan (&#x201c;2020 Plan&#x201d;), pursuant to which the Company may grant stock options, restricted stock awards, stock appreciation rights, restricted stock units (&#x201c;RSUs&#x201d;), deferred stock units (&#x201c;DSUs&#x201d;) performance awards, and stock bonus awards. As of March&#160;31, 2023, the Company has reserved 6,597,753 shares of Class A common stock for the issuance of awards under the 2020 Plan. These available shares will increase automatically on January 1 for each of the first ten calendar years during the term of the 2020 Plan by the number of shares equal to the lesser of five percent (5%) of the aggregate number of outstanding shares of all classes of the Company&#x2019;s common stock outstanding as of the immediately preceding December 31, or a number as may be determined by the Company&#x2019;s board of directors or compensation committee. No new awards were issued under the Company&#x2019;s prior 2006 Plan or 2017 Plan (&#x201c;Prior Plans&#x201d;) after the effective date of the 2020 Plan. To the extent outstanding awards under the 2006 Plan and the 2017 Plan are forfeited, expire unexercised, or would otherwise have been returned to the share reserve under the Prior Plans, the shares of Class B common stock subject to such awards instead will be available for future issuance as Class A common stock under the 2020 Plan.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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;Stock Options&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 following table summarizes stock option activity and related information under the Company&#x2019;s equity incentive plans:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&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:43.748%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.687%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.085%"/&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="21" 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:120%"&gt;Stock Options&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:120%"&gt;Number of Shares Underlying Outstanding Options&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:120%"&gt;Weighted-Average Exercise Price&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:120%"&gt;Weighted Average Remaining Contractual Term (Years)&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:120%"&gt;Aggregate Intrinsic Value (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:120%"&gt;Outstanding &#x2014; December 31, 2022&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:120%"&gt;6,476,239&#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;7.38&#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:120%"&gt;6.10&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: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;55,516&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Options 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:120%"&gt;1,313,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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.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="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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Options exercised&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;(108,597)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Options canceled&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,570)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.14&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Options expired&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;(15,538)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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;33.92&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Outstanding &#x2014; March 31, 2023&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;7,662,538&#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:120%"&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:120%"&gt;8.76&#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="3" style="background-color:#ffffff;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:120%"&gt;6.24&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-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:#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:120%"&gt;59,796&#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:120%"&gt;Vested and exercisable &#x2014; March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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;5,245,258&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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:3pt double #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-bottom:3pt double #000;border-top:3pt double #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;5.27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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-bottom:3pt double #000;border-top:3pt double #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:120%"&gt;5.23&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:3pt double #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-bottom:3pt double #000;border-top:3pt double #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;53,940&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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 March&#160;31, 2023, unrecognized stock-based compensation of $23.0 million related to unvested stock options will be recognized on a straight-line basis over a weighted average period of 2.76 years. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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 Units&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 following table summarizes RSU activity and related information under the Company&#x2019;s 2020 Plan:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:8pt;font-weight:700;line-height:120%"&gt;RSUs&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:120%"&gt;Number of Shares&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:120%"&gt;Weighted-Average Grant Date Fair Value per Share&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;Unvested &#x2014; December 31, 2022&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:120%"&gt;1,581,982&#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;26.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:120%"&gt;2,049,867&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;16.07&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:120%"&gt;(95,825)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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;29.92&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Canceled/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:120%"&gt;(26,512)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;21.60&#160;&lt;/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:120%"&gt;Unvested &#x2014; March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3,509,512&#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:120%"&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:120%"&gt;20.35&#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:9pt;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;As of March&#160;31, 2023, unrecognized stock-based compensation of $65.3 million related to unvested RSUs will be recognized on a straight-line basis over a weighted average period of 3.26 years. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;2020 Employee Stock Purchase Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;In November 2020, the Company&#x2019;s board of directors adopted, and its stockholders approved, the 2020 Employee Stock Purchase Plan (&#x201c;ESPP&#x201d;), which became effective in connection with the Company&#x2019;s IPO. A total of 500,000 shares of the Company&#x2019;s Class A common stock were initially reserved for issuance under the ESPP.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 aggregate number of shares reserved for issuance under the ESPP will increase automatically on January 1st of each of the first ten calendar years during the term of the ESPP by the number of shares equal to the lesser of (a) 1% of the total outstanding shares of all classes of the Company&#x2019;s common stock as of the immediately preceding December 31, and (b) such number of shares of common stock as determined by the Company&#x2019;s board of directors. The aggregate number of shares issued over the term of the ESPP may not exceed 7,500,000 shares of Class A common stock. As of March&#160;31, 2023, the Company had reserved 529,888 shares of its Class A common stock for issuance under the ESPP. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;Under the ESPP, Class A common stock will be purchased for the accounts of employees participating in the ESPP on each purchase date at a price per share equal to 85% of the lesser of: (a) the fair market value on the offering date or (b) the fair market value on the purchase date. The ESPP provides for, at maximum,&#160;27&#160;month offering periods and&#160;each offering period may consist of one or more six-month purchase periods, whereby the latest offering period commenced on June 1, 2022, and the offering periods thereafter consist of two six-month purchase periods ending May 31, 2023. As of March&#160;31, 2023, $0.7 million has been withheld on behalf of employees for a future purchase under the ESPP due to the timing of payroll deductions and is included in accrued liabilities. For the three months ended March 31, 2023, there were no shares of our Class A common stock purchased under the ESPP.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;As of March&#160;31, 2023, unrecognized stock-based compensation expense related to the ESPP was $0.1 million, which is expected to be recognized over a weighted-average period of 0.17 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&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;Stock-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;Total stock-based compensation expense recognized in the condensed consolidated statements of operations was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:8pt;font-weight:700;line-height:120%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&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="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:120%"&gt;2023&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:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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;Cost of 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: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;316&#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;278&#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="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:120%"&gt;Technology and development&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,008&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;877&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&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:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,709&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,907&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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: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;3,026&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align: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 stock-based compensation expense&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:120%"&gt;7,059&#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:120%"&gt;5,136&#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="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:120%"&gt;Tax benefit from 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:120%"&gt;(1,318)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(831)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 stock-based compensation expense, net of tax effect&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:120%"&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:120%"&gt;5,741&#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:120%"&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:120%"&gt;4,305&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="i8e25899b838e44e589360ae7b846126f_I20230228"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfNTQ5NzU1ODIwODY4_b80faa61-46c7-4f10-b883-3f0cc9f5d708"
      unitRef="usd">75000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1
      contextRef="ibc5c30e2dbff4d12936333bf1886b8c8_I20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfNTQ5NzU1ODIwOTAx_1b5886a6-b81d-4294-b067-9cbbe6000ff1"
      unitRef="usd">67100000</us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares
      contextRef="i917dbb305f4e473ba6399aab5800d9fc_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfNTQ5NzU1ODIwOTUy_089024d1-6735-4460-8833-571aab76f8c7"
      unitRef="shares">586830</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="i917dbb305f4e473ba6399aab5800d9fc_D20230101-20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfNTQ5NzU1ODIwOTY3_f5f59df1-8a83-46eb-99d8-4fedb02a7109"
      unitRef="usd">7900000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="i1ce4265b8b1f43b980fdb9c27a2e1214_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfNDAy_6b0a4939-0cbe-4a58-af17-0f6af076be1d"
      unitRef="shares">6597753</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <pubm:ShareBasedCompensationArrangementAutomaticAnnualIncreaseTerm
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfNTcw_165ef2f7-b67b-4e9b-85a4-dfde8adafed9"
      unitRef="calendaryear">10</pubm:ShareBasedCompensationArrangementAutomaticAnnualIncreaseTerm>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfNjgy_59061f9e-05d2-48e2-b2a0-6bb52a389071"
      unitRef="number">0.05</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate>
    <us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfNDE1OQ_9e4e5399-3f0c-4c56-99da-fe6c6b81a07f">&lt;div style="margin-top:6pt;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 following table summarizes stock option activity and related information under the Company&#x2019;s equity incentive plans:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&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:43.748%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.687%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.085%"/&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="21" 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:120%"&gt;Stock Options&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:120%"&gt;Number of Shares Underlying Outstanding Options&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:120%"&gt;Weighted-Average Exercise Price&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:120%"&gt;Weighted Average Remaining Contractual Term (Years)&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:120%"&gt;Aggregate Intrinsic Value (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:120%"&gt;Outstanding &#x2014; December 31, 2022&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:120%"&gt;6,476,239&#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;7.38&#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:120%"&gt;6.10&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: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;55,516&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Options 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:120%"&gt;1,313,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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.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="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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Options exercised&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;(108,597)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Options canceled&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,570)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.14&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Options expired&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;(15,538)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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;33.92&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Outstanding &#x2014; March 31, 2023&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;7,662,538&#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:120%"&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:120%"&gt;8.76&#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="3" style="background-color:#ffffff;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:120%"&gt;6.24&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-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:#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:120%"&gt;59,796&#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:120%"&gt;Vested and exercisable &#x2014; March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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;5,245,258&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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:3pt double #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-bottom:3pt double #000;border-top:3pt double #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;5.27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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-bottom:3pt double #000;border-top:3pt double #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:120%"&gt;5.23&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:3pt double #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-bottom:3pt double #000;border-top:3pt double #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;53,940&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-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 following table summarizes RSU activity and related information under the Company&#x2019;s 2020 Plan:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:8pt;font-weight:700;line-height:120%"&gt;RSUs&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:120%"&gt;Number of Shares&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:120%"&gt;Weighted-Average Grant Date Fair Value per Share&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;Unvested &#x2014; December 31, 2022&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:120%"&gt;1,581,982&#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;26.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:120%"&gt;2,049,867&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;16.07&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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:120%"&gt;(95,825)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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;29.92&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Canceled/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:120%"&gt;(26,512)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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;21.60&#160;&lt;/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:120%"&gt;Unvested &#x2014; March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3,509,512&#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:120%"&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:120%"&gt;20.35&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOjRlNDA1NjFkYzE3ZDQzYzI4ZWZkODZkOTVhMGZiZWNkL3RhYmxlcmFuZ2U6NGU0MDU2MWRjMTdkNDNjMjhlZmQ4NmQ5NWEwZmJlY2RfMi0xLTEtMS04NTkyOQ_f50749e6-27c2-4277-9199-7e721bc85cce"
      unitRef="shares">6476239</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOjRlNDA1NjFkYzE3ZDQzYzI4ZWZkODZkOTVhMGZiZWNkL3RhYmxlcmFuZ2U6NGU0MDU2MWRjMTdkNDNjMjhlZmQ4NmQ5NWEwZmJlY2RfMi0zLTEtMS04NTkyOQ_fba8f1f8-5e80-4cd5-9c39-223c0d397ddb"
      unitRef="usdPerShare">7.38</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i97335d21e61d493dbf8de5927fc10488_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOjRlNDA1NjFkYzE3ZDQzYzI4ZWZkODZkOTVhMGZiZWNkL3RhYmxlcmFuZ2U6NGU0MDU2MWRjMTdkNDNjMjhlZmQ4NmQ5NWEwZmJlY2RfMi01LTEtMS04NTkyOQ_0e151fdd-49f2-4578-ac9c-6e2806dc0892">P6Y1M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOjRlNDA1NjFkYzE3ZDQzYzI4ZWZkODZkOTVhMGZiZWNkL3RhYmxlcmFuZ2U6NGU0MDU2MWRjMTdkNDNjMjhlZmQ4NmQ5NWEwZmJlY2RfMi03LTEtMS04NTkyOQ_cc637bd8-3e2c-49a8-ba94-bd34de52adfc"
      unitRef="usd">55516000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOjRlNDA1NjFkYzE3ZDQzYzI4ZWZkODZkOTVhMGZiZWNkL3RhYmxlcmFuZ2U6NGU0MDU2MWRjMTdkNDNjMjhlZmQ4NmQ5NWEwZmJlY2RfMy0xLTEtMS04NTkyOQ_d7eed7cd-6168-4b55-ba75-d29a3dd40e9c"
      unitRef="shares">1313004</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOjRlNDA1NjFkYzE3ZDQzYzI4ZWZkODZkOTVhMGZiZWNkL3RhYmxlcmFuZ2U6NGU0MDU2MWRjMTdkNDNjMjhlZmQ4NmQ5NWEwZmJlY2RfMy0zLTEtMS04NTkyOQ_40b18aa0-4aae-49c8-9e4c-4f4c81382ab9"
      unitRef="usdPerShare">15.40</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOjRlNDA1NjFkYzE3ZDQzYzI4ZWZkODZkOTVhMGZiZWNkL3RhYmxlcmFuZ2U6NGU0MDU2MWRjMTdkNDNjMjhlZmQ4NmQ5NWEwZmJlY2RfNC0xLTEtMS04NTkyOQ_5dce7fc1-92fc-4d2d-86a3-0cdefa455bc5"
      unitRef="shares">108597</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOjRlNDA1NjFkYzE3ZDQzYzI4ZWZkODZkOTVhMGZiZWNkL3RhYmxlcmFuZ2U6NGU0MDU2MWRjMTdkNDNjMjhlZmQ4NmQ5NWEwZmJlY2RfNC0zLTEtMS04NTkyOQ_1ced6a93-4012-41aa-9d53-eaf7be169812"
      unitRef="usdPerShare">2.88</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOjRlNDA1NjFkYzE3ZDQzYzI4ZWZkODZkOTVhMGZiZWNkL3RhYmxlcmFuZ2U6NGU0MDU2MWRjMTdkNDNjMjhlZmQ4NmQ5NWEwZmJlY2RfNS0xLTEtMS04NTkyOQ_bf78d49a-f1f9-40d9-b5a1-6b1c885f5a4b"
      unitRef="shares">2570</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOjRlNDA1NjFkYzE3ZDQzYzI4ZWZkODZkOTVhMGZiZWNkL3RhYmxlcmFuZ2U6NGU0MDU2MWRjMTdkNDNjMjhlZmQ4NmQ5NWEwZmJlY2RfNS0zLTEtMS04NTkyOQ_70daa121-1e22-430b-abd8-f8b9ffc553f6"
      unitRef="usdPerShare">6.14</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOjRlNDA1NjFkYzE3ZDQzYzI4ZWZkODZkOTVhMGZiZWNkL3RhYmxlcmFuZ2U6NGU0MDU2MWRjMTdkNDNjMjhlZmQ4NmQ5NWEwZmJlY2RfNi0xLTEtMS04NTkyOQ_54b03f80-6376-46d4-8f0d-56374650aa7d"
      unitRef="shares">15538</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOjRlNDA1NjFkYzE3ZDQzYzI4ZWZkODZkOTVhMGZiZWNkL3RhYmxlcmFuZ2U6NGU0MDU2MWRjMTdkNDNjMjhlZmQ4NmQ5NWEwZmJlY2RfNi0zLTEtMS04NTkyOQ_8f196c2d-caff-4b0c-8a32-305e4c046d41"
      unitRef="usdPerShare">33.92</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOjRlNDA1NjFkYzE3ZDQzYzI4ZWZkODZkOTVhMGZiZWNkL3RhYmxlcmFuZ2U6NGU0MDU2MWRjMTdkNDNjMjhlZmQ4NmQ5NWEwZmJlY2RfNy0xLTEtMS04NTkyOQ_f6a99182-43bd-4365-8f8d-b1a4cb016ec9"
      unitRef="shares">7662538</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOjRlNDA1NjFkYzE3ZDQzYzI4ZWZkODZkOTVhMGZiZWNkL3RhYmxlcmFuZ2U6NGU0MDU2MWRjMTdkNDNjMjhlZmQ4NmQ5NWEwZmJlY2RfNy0zLTEtMS04NTkyOQ_ccffbb35-86f5-42fd-aa0e-03d6b1d2f654"
      unitRef="usdPerShare">8.76</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOjRlNDA1NjFkYzE3ZDQzYzI4ZWZkODZkOTVhMGZiZWNkL3RhYmxlcmFuZ2U6NGU0MDU2MWRjMTdkNDNjMjhlZmQ4NmQ5NWEwZmJlY2RfNy01LTEtMS04NTkyOQ_95497f61-868e-4085-af46-bae8a02ee1df">P6Y2M26D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOjRlNDA1NjFkYzE3ZDQzYzI4ZWZkODZkOTVhMGZiZWNkL3RhYmxlcmFuZ2U6NGU0MDU2MWRjMTdkNDNjMjhlZmQ4NmQ5NWEwZmJlY2RfNy03LTEtMS04NTkyOQ_715570fc-ee1b-40a6-ab76-6ecf550e046b"
      unitRef="usd">59796000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOjRlNDA1NjFkYzE3ZDQzYzI4ZWZkODZkOTVhMGZiZWNkL3RhYmxlcmFuZ2U6NGU0MDU2MWRjMTdkNDNjMjhlZmQ4NmQ5NWEwZmJlY2RfOS0xLTEtMS04NTkyOQ_61689c9c-77c9-426e-9967-c91ddc903142"
      unitRef="shares">5245258</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOjRlNDA1NjFkYzE3ZDQzYzI4ZWZkODZkOTVhMGZiZWNkL3RhYmxlcmFuZ2U6NGU0MDU2MWRjMTdkNDNjMjhlZmQ4NmQ5NWEwZmJlY2RfOS0zLTEtMS04NTkyOQ_b7a27817-09e7-4f1e-8851-be73c7a3b8ca"
      unitRef="usdPerShare">5.27</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOjRlNDA1NjFkYzE3ZDQzYzI4ZWZkODZkOTVhMGZiZWNkL3RhYmxlcmFuZ2U6NGU0MDU2MWRjMTdkNDNjMjhlZmQ4NmQ5NWEwZmJlY2RfOS01LTEtMS04NTkyOQ_fca6ba6f-409c-4def-a194-87e460c0ba5a">P5Y2M23D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOjRlNDA1NjFkYzE3ZDQzYzI4ZWZkODZkOTVhMGZiZWNkL3RhYmxlcmFuZ2U6NGU0MDU2MWRjMTdkNDNjMjhlZmQ4NmQ5NWEwZmJlY2RfOS03LTEtMS04NTkyOQ_6d21b882-04fa-43b5-9863-130f8ef24156"
      unitRef="usd">53940000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
      contextRef="ia9182488509e4565a9de9774cf1c23a3_I20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfMTU1OA_dd38f503-0fbd-4615-9fe8-1ee2cf22baa9"
      unitRef="usd">23000000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i7c86ae800e574f389f727ec73f1ff19c_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfMTY3Mw_b2d43fd0-2a81-4d12-b430-aa797ef9e317">P2Y9M3D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="ia82476807303410a91b5319d0297d114_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOmNiZmEwY2JhNDZlMTQwNDY4OThmYmEzMTM4OTk0ODRhL3RhYmxlcmFuZ2U6Y2JmYTBjYmE0NmUxNDA0Njg5OGZiYTMxMzg5OTQ4NGFfMi0xLTEtMS04NTkyOQ_697b4c01-772c-4fd0-a6bf-aa5f14d2496c"
      unitRef="shares">1581982</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="ia82476807303410a91b5319d0297d114_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOmNiZmEwY2JhNDZlMTQwNDY4OThmYmEzMTM4OTk0ODRhL3RhYmxlcmFuZ2U6Y2JmYTBjYmE0NmUxNDA0Njg5OGZiYTMxMzg5OTQ4NGFfMi0zLTEtMS04NTkyOQ_b18555c2-2491-475e-bcce-62391299e22d"
      unitRef="usdPerShare">26.49</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ic2083dfee1c142eb892669e46e05354a_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOmNiZmEwY2JhNDZlMTQwNDY4OThmYmEzMTM4OTk0ODRhL3RhYmxlcmFuZ2U6Y2JmYTBjYmE0NmUxNDA0Njg5OGZiYTMxMzg5OTQ4NGFfMy0xLTEtMS04NTkyOQ_6919bf6b-66cb-41e1-87d5-8e7e443f0355"
      unitRef="shares">2049867</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ic2083dfee1c142eb892669e46e05354a_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOmNiZmEwY2JhNDZlMTQwNDY4OThmYmEzMTM4OTk0ODRhL3RhYmxlcmFuZ2U6Y2JmYTBjYmE0NmUxNDA0Njg5OGZiYTMxMzg5OTQ4NGFfMy0zLTEtMS04NTkyOQ_bce6a262-4811-4383-a2f2-2c3d3c7283ef"
      unitRef="usdPerShare">16.07</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="ic2083dfee1c142eb892669e46e05354a_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOmNiZmEwY2JhNDZlMTQwNDY4OThmYmEzMTM4OTk0ODRhL3RhYmxlcmFuZ2U6Y2JmYTBjYmE0NmUxNDA0Njg5OGZiYTMxMzg5OTQ4NGFfNC0xLTEtMS04NTkyOQ_babba0a2-bb12-4a13-a72b-6e8d614b3520"
      unitRef="shares">95825</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="ic2083dfee1c142eb892669e46e05354a_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOmNiZmEwY2JhNDZlMTQwNDY4OThmYmEzMTM4OTk0ODRhL3RhYmxlcmFuZ2U6Y2JmYTBjYmE0NmUxNDA0Njg5OGZiYTMxMzg5OTQ4NGFfNC0zLTEtMS04NTkyOQ_70925c80-5822-497c-8867-2661ae5c71db"
      unitRef="usdPerShare">29.92</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="ic2083dfee1c142eb892669e46e05354a_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOmNiZmEwY2JhNDZlMTQwNDY4OThmYmEzMTM4OTk0ODRhL3RhYmxlcmFuZ2U6Y2JmYTBjYmE0NmUxNDA0Njg5OGZiYTMxMzg5OTQ4NGFfNS0xLTEtMS04NTkyOQ_cca862af-6b8c-4bd3-b5ff-7fbe8c6e6402"
      unitRef="shares">26512</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="ic2083dfee1c142eb892669e46e05354a_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOmNiZmEwY2JhNDZlMTQwNDY4OThmYmEzMTM4OTk0ODRhL3RhYmxlcmFuZ2U6Y2JmYTBjYmE0NmUxNDA0Njg5OGZiYTMxMzg5OTQ4NGFfNS0zLTEtMS04NTkyOQ_183851a2-52ad-4e9c-9d12-ec04b4c5d5b3"
      unitRef="usdPerShare">21.60</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i3eccbe056a8f448a86768c813bb68e6d_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOmNiZmEwY2JhNDZlMTQwNDY4OThmYmEzMTM4OTk0ODRhL3RhYmxlcmFuZ2U6Y2JmYTBjYmE0NmUxNDA0Njg5OGZiYTMxMzg5OTQ4NGFfNi0xLTEtMS04NTkyOQ_ff8c2d51-f752-403f-8c2b-5c81fe59aac6"
      unitRef="shares">3509512</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i3eccbe056a8f448a86768c813bb68e6d_I20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOmNiZmEwY2JhNDZlMTQwNDY4OThmYmEzMTM4OTk0ODRhL3RhYmxlcmFuZ2U6Y2JmYTBjYmE0NmUxNDA0Njg5OGZiYTMxMzg5OTQ4NGFfNi0zLTEtMS04NTkyOQ_f0a64a04-5a91-482a-9872-17c1bec34699"
      unitRef="usdPerShare">20.35</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfMTg1Mw_7e0b168a-a51f-4627-ae59-eb81facbf970"
      unitRef="usd">65300000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="ic2083dfee1c142eb892669e46e05354a_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfMTk1OQ_b75812ae-9722-43f1-b6fd-9ac1a773dbb6">P3Y3M3D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="ib58a601bb3f640b8869853fe0a483f4c_I20201130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfMjIxNQ_4effd09f-7504-4baf-9bec-ef9f5f9e3ef0"
      unitRef="shares">500000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <pubm:ShareBasedCompensationArrangementAutomaticAnnualIncreaseTerm
      contextRef="ic5a7452bb4dd4ddc975be17b39bdab00_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfMjQ0OA_731a6301-bcec-4cc8-8fee-55b84f58dde9"
      unitRef="calendaryear">10</pubm:ShareBasedCompensationArrangementAutomaticAnnualIncreaseTerm>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum
      contextRef="ibb76961ed9134422a6662f25be54d2dc_D20201130-20201130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfMjU0NQ_54bc4b98-165e-42a4-a7d0-03de3687c2b2"
      unitRef="number">0.01</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="ib58a601bb3f640b8869853fe0a483f4c_I20201130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfMjg0Ng_92c6d942-e8c8-4258-95fa-f7cc6fc2d37a"
      unitRef="shares">7500000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="i3d49235fb8a14d2da32543cc8746eec7_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfMjkxNg_df0cafcf-6dba-42e2-bb89-adb45d64cdc6"
      unitRef="shares">529888</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate
      contextRef="ic5a7452bb4dd4ddc975be17b39bdab00_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfMzE0Nw_2e97f48d-2ab2-4786-85b8-00f7906ae329"
      unitRef="number">0.85</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate>
    <pubm:ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod
      contextRef="ic5a7452bb4dd4ddc975be17b39bdab00_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfMzMwMQ_514c336e-4684-42b8-9dc8-db3cc0838c6c">P27M</pubm:ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod>
    <pubm:NumberOfPurchasePeriods
      contextRef="i76a2522cef244daf97bce6f7a55cca22_D20220601-20220601"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfNDk0NzgwMjMzMjA5OA_d1b2337c-afdf-4f44-9c52-b2b79adf6e86"
      unitRef="purchaseperiod">1</pubm:NumberOfPurchasePeriods>
    <pubm:ShareBasedCompensationArrangementByShareBasedPaymentAwardPurchasePeriod
      contextRef="i6a9a7ca336b947ae9af6714ab139f867_D20220601-20220601"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfNDE2MQ_7edd35af-8af9-4c58-a512-f16318e36085">P6M</pubm:ShareBasedCompensationArrangementByShareBasedPaymentAwardPurchasePeriod>
    <pubm:NumberOfPurchasePeriods
      contextRef="i9125e72e844a47a5bf00eea53c654ab2_D20230531-20230531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfNDk0NzgwMjMzMjA3Nw_08c3fe0f-c902-48a8-83a7-b00ff4599765"
      unitRef="purchaseperiod">2</pubm:NumberOfPurchasePeriods>
    <pubm:ShareBasedCompensationArrangementByShareBasedPaymentAwardPurchasePeriod
      contextRef="i8680906e1517473eae7f0225f9a14807_D20230531-20230531"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfNDk0NzgwMjMzMjA5Nw_fbf4af4c-6d19-4687-8df9-6128c875fe0b">P6M</pubm:ShareBasedCompensationArrangementByShareBasedPaymentAwardPurchasePeriod>
    <pubm:ShareBasedCompensationArrangementByShareBasedPaymentAwardAmountWithheldForEmployeeStockPurchasePlan
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfMzU3Nw_73c10c95-e699-4315-a7d1-54a0d0fbfadb"
      unitRef="usd">700000</pubm:ShareBasedCompensationArrangementByShareBasedPaymentAwardAmountWithheldForEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="ia86bf26a71a34d4abf3f0cb308699ac5_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfMzc3OQ_da2e1916-f6d0-47ce-a8b4-e5e4df90f9fc"
      unitRef="shares">0</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="i3d49235fb8a14d2da32543cc8746eec7_I20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfMzkyMw_501b7f5f-898e-4395-b51f-beaec883f0ec"
      unitRef="usd">100000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="ic5a7452bb4dd4ddc975be17b39bdab00_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfMzk5Ng_0d5286a8-1051-4c36-90c3-d3aeb85c7d16">P0Y2M1D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RleHRyZWdpb246M2Q2MWFjMWQ4ZjI2NGVlNGEzMTU2YTQzYzk5ZDA4YjZfNDE2Mg_cf7406ba-5d18-4d51-b322-69e5e25b9c0e">otal stock-based compensation expense recognized in the condensed consolidated statements of operations was as follows (in thousands):&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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:8pt;font-weight:700;line-height:120%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&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="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:120%"&gt;2023&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:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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;Cost of 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: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;316&#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;278&#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="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:120%"&gt;Technology and development&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,008&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;877&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&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:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,709&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,907&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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: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;3,026&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align: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 stock-based compensation expense&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:120%"&gt;7,059&#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:120%"&gt;5,136&#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="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:120%"&gt;Tax benefit from 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:120%"&gt;(1,318)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(831)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 stock-based compensation expense, net of tax effect&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:120%"&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:120%"&gt;5,741&#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:120%"&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:120%"&gt;4,305&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i26ff94c4504c44cd962e1e556bc71333_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOmM1MDhiOWNiNGZlNzQ0NTdhYjg1OWZiZjMwZTZmZWY2L3RhYmxlcmFuZ2U6YzUwOGI5Y2I0ZmU3NDQ1N2FiODU5ZmJmMzBlNmZlZjZfMi0xLTEtMS04NTkyOQ_efdb082b-6509-42ee-be67-b0bdffe77ce1"
      unitRef="usd">316000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="iff640248d7c94ee38c399f51de8b1487_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOmM1MDhiOWNiNGZlNzQ0NTdhYjg1OWZiZjMwZTZmZWY2L3RhYmxlcmFuZ2U6YzUwOGI5Y2I0ZmU3NDQ1N2FiODU5ZmJmMzBlNmZlZjZfMi0zLTEtMS04NTkyOQ_c907466d-0c68-4a73-ac15-46b07a6996bf"
      unitRef="usd">278000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i01cf32567c934e6aa9696731a4392e78_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOmM1MDhiOWNiNGZlNzQ0NTdhYjg1OWZiZjMwZTZmZWY2L3RhYmxlcmFuZ2U6YzUwOGI5Y2I0ZmU3NDQ1N2FiODU5ZmJmMzBlNmZlZjZfMy0xLTEtMS04NTkyOQ_80b3c9f4-b22e-46da-9d03-9e45198a7096"
      unitRef="usd">1008000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ie55005b95f324f2a8b5f522dc5c67054_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOmM1MDhiOWNiNGZlNzQ0NTdhYjg1OWZiZjMwZTZmZWY2L3RhYmxlcmFuZ2U6YzUwOGI5Y2I0ZmU3NDQ1N2FiODU5ZmJmMzBlNmZlZjZfMy0zLTEtMS04NTkyOQ_6a2b0aa5-9fbc-4c40-b6ff-0cb0b4598294"
      unitRef="usd">877000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i713f36be6fec4518a1e21d8437c5558f_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOmM1MDhiOWNiNGZlNzQ0NTdhYjg1OWZiZjMwZTZmZWY2L3RhYmxlcmFuZ2U6YzUwOGI5Y2I0ZmU3NDQ1N2FiODU5ZmJmMzBlNmZlZjZfNC0xLTEtMS04NTkyOQ_f9dd64c9-a874-4c62-a787-6edb6ab2c313"
      unitRef="usd">2709000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i3409a1e7004c4a0cb1dd1f94e198c71a_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOmM1MDhiOWNiNGZlNzQ0NTdhYjg1OWZiZjMwZTZmZWY2L3RhYmxlcmFuZ2U6YzUwOGI5Y2I0ZmU3NDQ1N2FiODU5ZmJmMzBlNmZlZjZfNC0zLTEtMS04NTkyOQ_f257314e-bc79-4151-a567-c8088d1e1535"
      unitRef="usd">1907000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i175bc7acb7c949168ae0768383851489_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOmM1MDhiOWNiNGZlNzQ0NTdhYjg1OWZiZjMwZTZmZWY2L3RhYmxlcmFuZ2U6YzUwOGI5Y2I0ZmU3NDQ1N2FiODU5ZmJmMzBlNmZlZjZfNS0xLTEtMS04NTkyOQ_f2027e89-1281-408f-b230-fe64b678d5bf"
      unitRef="usd">3026000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i683ff0882f204e8ea73116d952d6cac0_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOmM1MDhiOWNiNGZlNzQ0NTdhYjg1OWZiZjMwZTZmZWY2L3RhYmxlcmFuZ2U6YzUwOGI5Y2I0ZmU3NDQ1N2FiODU5ZmJmMzBlNmZlZjZfNS0zLTEtMS04NTkyOQ_b56c14d6-4006-426b-9b82-e7a0808c88a8"
      unitRef="usd">2074000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOmM1MDhiOWNiNGZlNzQ0NTdhYjg1OWZiZjMwZTZmZWY2L3RhYmxlcmFuZ2U6YzUwOGI5Y2I0ZmU3NDQ1N2FiODU5ZmJmMzBlNmZlZjZfNi0xLTEtMS04NTkyOQ_88ac3e89-1336-49c0-859e-7995d8e3521e"
      unitRef="usd">7059000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOmM1MDhiOWNiNGZlNzQ0NTdhYjg1OWZiZjMwZTZmZWY2L3RhYmxlcmFuZ2U6YzUwOGI5Y2I0ZmU3NDQ1N2FiODU5ZmJmMzBlNmZlZjZfNi0zLTEtMS04NTkyOQ_2f63e3be-8c37-470c-beb1-65366202c2ef"
      unitRef="usd">5136000</us-gaap:AllocatedShareBasedCompensationExpense>
    <pubm:ShareBasedPaymentArrangementTaxBenefit
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOmM1MDhiOWNiNGZlNzQ0NTdhYjg1OWZiZjMwZTZmZWY2L3RhYmxlcmFuZ2U6YzUwOGI5Y2I0ZmU3NDQ1N2FiODU5ZmJmMzBlNmZlZjZfNy0xLTEtMS04NTkyOQ_b26e25af-63c5-44a2-9d28-542eb972d4fb"
      unitRef="usd">1318000</pubm:ShareBasedPaymentArrangementTaxBenefit>
    <pubm:ShareBasedPaymentArrangementTaxBenefit
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOmM1MDhiOWNiNGZlNzQ0NTdhYjg1OWZiZjMwZTZmZWY2L3RhYmxlcmFuZ2U6YzUwOGI5Y2I0ZmU3NDQ1N2FiODU5ZmJmMzBlNmZlZjZfNy0zLTEtMS04NTkyOQ_952a528e-ea9b-4332-9da8-6bc439947862"
      unitRef="usd">831000</pubm:ShareBasedPaymentArrangementTaxBenefit>
    <pubm:ShareBasedPaymentArrangementExpenseNet
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOmM1MDhiOWNiNGZlNzQ0NTdhYjg1OWZiZjMwZTZmZWY2L3RhYmxlcmFuZ2U6YzUwOGI5Y2I0ZmU3NDQ1N2FiODU5ZmJmMzBlNmZlZjZfOC0xLTEtMS04NTkyOQ_88232f38-2b8a-418e-97d7-ecf413a42565"
      unitRef="usd">5741000</pubm:ShareBasedPaymentArrangementExpenseNet>
    <pubm:ShareBasedPaymentArrangementExpenseNet
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV81OC9mcmFnOjNkNjFhYzFkOGYyNjRlZTRhMzE1NmE0M2M5OWQwOGI2L3RhYmxlOmM1MDhiOWNiNGZlNzQ0NTdhYjg1OWZiZjMwZTZmZWY2L3RhYmxlcmFuZ2U6YzUwOGI5Y2I0ZmU3NDQ1N2FiODU5ZmJmMzBlNmZlZjZfOC0zLTEtMS04NTkyOQ_373e3dd7-f57a-410d-a5f4-3d73da9a1ff9"
      unitRef="usd">4305000</pubm:ShareBasedPaymentArrangementExpenseNet>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RleHRyZWdpb246ZDQwNDEyMzU0ODgwNDg5ZDk3OWQ2NzAyM2JiYzdjOTZfNzU4_2d667f78-9b44-43fc-b601-28f030383728">Net Income (Loss) Per Share Attributable to Common Stockholders&lt;div style="margin-top:6pt;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 Company has two classes of common stock, Class A and Class B. Basic and diluted earnings per share (&#x201c;EPS&#x201d;) attributable to common stockholders for Class A and Class B common stock were the same because they were entitled to the same liquidation and dividend rights. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 following table sets forth the computation of the Company&#x2019;s basic and diluted net income (loss) per share (in thousands, except share and per share data):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&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.839%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.627%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.628%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:8pt;font-weight:700;line-height:120%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&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="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:120%"&gt;2023&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:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:9pt;font-weight:700;line-height:120%"&gt;Numerator:&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="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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Net income (loss) attributable to common stockholders &#x2013; 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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;(5,871)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;4,779&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Denominator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #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:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="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 16pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Weighted average common shares outstanding &#x2013; basic&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:9.5pt;font-weight:400;line-height:120%"&gt;52,740,352&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;51,910,572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 28pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Net income (loss) per share attributable to common stockholders &#x2013; 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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;(0.11)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;0.09&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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:9.5pt;font-weight:700;line-height:120%"&gt;Numerator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #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:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 16pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Net income (loss) attributable to common stockholders &#x2013; 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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;(5,871)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;4,779&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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:9.5pt;font-weight:700;line-height:120%"&gt;Denominator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #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:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 16pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Weighted average shares outstanding &#x2013; basic&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:9.5pt;font-weight:400;line-height:120%"&gt;52,740,352&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;51,910,572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Options to purchase common 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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;4,926,804&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 16pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Restricted 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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;4,348&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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 16pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Employee stock purchase plan shares&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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;46,455&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 16pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Weighted average shares outstanding &#x2013; diluted&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:9.5pt;font-weight:400;line-height:120%"&gt;52,740,352&#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:9.5pt;font-weight:400;line-height:120%"&gt;56,888,179&#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="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 22pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Net income (loss) per share attributable to common stockholders &#x2013; diluted&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #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:9.5pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #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:9.5pt;font-weight:400;line-height:120%"&gt;(0.11)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #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:3pt double #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:9.5pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #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:9.5pt;font-weight:400;line-height:120%"&gt;0.08&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 following weighted-average outstanding shares of common stock equivalents were excluded from the computation of diluted net income (loss) per share attributable to common stockholders for the periods presented because including them would have been anti-dilutive:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&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.839%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.627%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.628%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:8pt;font-weight:700;line-height:120%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&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="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:120%"&gt;2023&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:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="margin-top:6pt;padding-right:2.25pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Options to purchase common stock&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;1,892,052&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;913,742&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:9.5pt;font-weight:400;line-height:120%"&gt;Unvested restricted stock units&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:9.5pt;font-weight:400;line-height:120%"&gt;2,451,338&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:9.5pt;font-weight:400;line-height:120%"&gt;653,061&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:9.5pt;font-weight:400;line-height:120%"&gt;ESPP&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:9.5pt;font-weight:400;line-height:120%"&gt;91,661&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:9.5pt;font-weight:400;line-height:120%"&gt;21,566&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="margin-top:6pt;padding-left:21pt;padding-right:2.25pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total common stock equivalents excluded from net income per share attributable to common stockholders &#x2013; diluted&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;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:9.5pt;font-weight:400;line-height:120%"&gt;4,435,051&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;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:9.5pt;font-weight:400;line-height:120%"&gt;1,588,369&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareDilutedByCommonClassTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RleHRyZWdpb246ZDQwNDEyMzU0ODgwNDg5ZDk3OWQ2NzAyM2JiYzdjOTZfNzU5_4778c68f-f57b-4b65-b146-4bf5ef450238">&lt;div style="margin-top:6pt;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 following table sets forth the computation of the Company&#x2019;s basic and diluted net income (loss) per share (in thousands, except share and per share data):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&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.839%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.627%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.628%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:8pt;font-weight:700;line-height:120%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&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="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:120%"&gt;2023&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:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:9pt;font-weight:700;line-height:120%"&gt;Numerator:&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="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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Net income (loss) attributable to common stockholders &#x2013; 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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;(5,871)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;4,779&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Denominator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #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:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="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 16pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Weighted average common shares outstanding &#x2013; basic&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:9.5pt;font-weight:400;line-height:120%"&gt;52,740,352&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;51,910,572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 28pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Net income (loss) per share attributable to common stockholders &#x2013; 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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;(0.11)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;0.09&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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:9.5pt;font-weight:700;line-height:120%"&gt;Numerator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #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:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 16pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Net income (loss) attributable to common stockholders &#x2013; 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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;(5,871)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;4,779&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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:9.5pt;font-weight:700;line-height:120%"&gt;Denominator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #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:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 16pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Weighted average shares outstanding &#x2013; basic&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:9.5pt;font-weight:400;line-height:120%"&gt;52,740,352&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;51,910,572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Options to purchase common 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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;4,926,804&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 16pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Restricted 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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;4,348&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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 16pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Employee stock purchase plan shares&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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;46,455&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 16pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Weighted average shares outstanding &#x2013; diluted&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:9.5pt;font-weight:400;line-height:120%"&gt;52,740,352&#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:9.5pt;font-weight:400;line-height:120%"&gt;56,888,179&#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="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 22pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Net income (loss) per share attributable to common stockholders &#x2013; diluted&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #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:9.5pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #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:9.5pt;font-weight:400;line-height:120%"&gt;(0.11)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #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:3pt double #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:9.5pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #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:9.5pt;font-weight:400;line-height:120%"&gt;0.08&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareDilutedByCommonClassTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicByCommonClassTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RleHRyZWdpb246ZDQwNDEyMzU0ODgwNDg5ZDk3OWQ2NzAyM2JiYzdjOTZfNzU5_b870c250-c1a9-4b7b-9ffb-8e454a2a8449">&lt;div style="margin-top:6pt;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 following table sets forth the computation of the Company&#x2019;s basic and diluted net income (loss) per share (in thousands, except share and per share data):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&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.839%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.627%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.628%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:8pt;font-weight:700;line-height:120%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&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="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:120%"&gt;2023&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:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:9pt;font-weight:700;line-height:120%"&gt;Numerator:&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="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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Net income (loss) attributable to common stockholders &#x2013; 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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;(5,871)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;4,779&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Denominator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #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:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="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 16pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Weighted average common shares outstanding &#x2013; basic&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:9.5pt;font-weight:400;line-height:120%"&gt;52,740,352&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;51,910,572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 28pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Net income (loss) per share attributable to common stockholders &#x2013; 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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;(0.11)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;0.09&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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:9.5pt;font-weight:700;line-height:120%"&gt;Numerator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #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:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 16pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Net income (loss) attributable to common stockholders &#x2013; 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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;(5,871)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;4,779&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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:9.5pt;font-weight:700;line-height:120%"&gt;Denominator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #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:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 16pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Weighted average shares outstanding &#x2013; basic&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:9.5pt;font-weight:400;line-height:120%"&gt;52,740,352&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;51,910,572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Options to purchase common 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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;4,926,804&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 16pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Restricted 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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;4,348&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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 16pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Employee stock purchase plan shares&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:9.5pt;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:9.5pt;font-weight:400;line-height:120%"&gt;46,455&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 16pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Weighted average shares outstanding &#x2013; diluted&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:9.5pt;font-weight:400;line-height:120%"&gt;52,740,352&#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:9.5pt;font-weight:400;line-height:120%"&gt;56,888,179&#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="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 22pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Net income (loss) per share attributable to common stockholders &#x2013; diluted&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #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:9.5pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #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:9.5pt;font-weight:400;line-height:120%"&gt;(0.11)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #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:3pt double #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:9.5pt;font-weight:400;line-height:120%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #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:9.5pt;font-weight:400;line-height:120%"&gt;0.08&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicByCommonClassTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjJlYTkyNGM1MjM1ZjQyZGQ5MGVmMzNkNDI5OTM5MjAxL3RhYmxlcmFuZ2U6MmVhOTI0YzUyMzVmNDJkZDkwZWYzM2Q0Mjk5MzkyMDFfMy0xLTEtMS04NTkyOQ_0823134a-f6e2-4bb1-95b7-3ab7c9d6fec8"
      unitRef="usd">-5871000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjJlYTkyNGM1MjM1ZjQyZGQ5MGVmMzNkNDI5OTM5MjAxL3RhYmxlcmFuZ2U6MmVhOTI0YzUyMzVmNDJkZDkwZWYzM2Q0Mjk5MzkyMDFfMy0zLTEtMS04NTkyOQ_50fbb3cc-fcf0-48c3-a098-920d93f447f5"
      unitRef="usd">4779000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjJlYTkyNGM1MjM1ZjQyZGQ5MGVmMzNkNDI5OTM5MjAxL3RhYmxlcmFuZ2U6MmVhOTI0YzUyMzVmNDJkZDkwZWYzM2Q0Mjk5MzkyMDFfNS0xLTEtMS04NTkyOQ_d4216987-91da-448f-b090-fa61afcf457e"
      unitRef="shares">52740352</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjJlYTkyNGM1MjM1ZjQyZGQ5MGVmMzNkNDI5OTM5MjAxL3RhYmxlcmFuZ2U6MmVhOTI0YzUyMzVmNDJkZDkwZWYzM2Q0Mjk5MzkyMDFfNS0zLTEtMS04NTkyOQ_360f9f65-2733-4e38-b181-744ddf481c4c"
      unitRef="shares">51910572</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjJlYTkyNGM1MjM1ZjQyZGQ5MGVmMzNkNDI5OTM5MjAxL3RhYmxlcmFuZ2U6MmVhOTI0YzUyMzVmNDJkZDkwZWYzM2Q0Mjk5MzkyMDFfNi0xLTEtMS04NTkyOQ_483af407-a63d-4ba7-88b3-3cc9d9086bdc"
      unitRef="usdPerShare">-0.11</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjJlYTkyNGM1MjM1ZjQyZGQ5MGVmMzNkNDI5OTM5MjAxL3RhYmxlcmFuZ2U6MmVhOTI0YzUyMzVmNDJkZDkwZWYzM2Q0Mjk5MzkyMDFfNi0zLTEtMS04NTkyOQ_de89023b-140f-4623-84ba-f50acd8f88d7"
      unitRef="usdPerShare">0.09</us-gaap:EarningsPerShareBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjJlYTkyNGM1MjM1ZjQyZGQ5MGVmMzNkNDI5OTM5MjAxL3RhYmxlcmFuZ2U6MmVhOTI0YzUyMzVmNDJkZDkwZWYzM2Q0Mjk5MzkyMDFfOC0xLTEtMS04NTkyOQ_fbecb4d9-a39f-4e5f-824d-c5b39a94bddb"
      unitRef="usd">-5871000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjJlYTkyNGM1MjM1ZjQyZGQ5MGVmMzNkNDI5OTM5MjAxL3RhYmxlcmFuZ2U6MmVhOTI0YzUyMzVmNDJkZDkwZWYzM2Q0Mjk5MzkyMDFfOC0zLTEtMS04NTkyOQ_9ddcbec1-5660-4b08-b77c-628f345c91c5"
      unitRef="usd">4779000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjJlYTkyNGM1MjM1ZjQyZGQ5MGVmMzNkNDI5OTM5MjAxL3RhYmxlcmFuZ2U6MmVhOTI0YzUyMzVmNDJkZDkwZWYzM2Q0Mjk5MzkyMDFfMTAtMS0xLTEtODU5Mjk_fd685a92-c186-464a-9dc2-01a8689cb598"
      unitRef="shares">52740352</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjJlYTkyNGM1MjM1ZjQyZGQ5MGVmMzNkNDI5OTM5MjAxL3RhYmxlcmFuZ2U6MmVhOTI0YzUyMzVmNDJkZDkwZWYzM2Q0Mjk5MzkyMDFfMTAtMy0xLTEtODU5Mjk_fe8dae03-ea32-416e-a80c-8dc3c04ae5ad"
      unitRef="shares">51910572</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <pubm:IncrementalCommonSharesAttributableToDilutiveEffectOfCallOptions
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjJlYTkyNGM1MjM1ZjQyZGQ5MGVmMzNkNDI5OTM5MjAxL3RhYmxlcmFuZ2U6MmVhOTI0YzUyMzVmNDJkZDkwZWYzM2Q0Mjk5MzkyMDFfMTEtMS0xLTEtODU5Mjk_7bae107b-c0eb-4bfc-aa1a-8404b143f432"
      unitRef="shares">0</pubm:IncrementalCommonSharesAttributableToDilutiveEffectOfCallOptions>
    <pubm:IncrementalCommonSharesAttributableToDilutiveEffectOfCallOptions
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjJlYTkyNGM1MjM1ZjQyZGQ5MGVmMzNkNDI5OTM5MjAxL3RhYmxlcmFuZ2U6MmVhOTI0YzUyMzVmNDJkZDkwZWYzM2Q0Mjk5MzkyMDFfMTEtMy0xLTEtODU5Mjk_84d7d1d0-e2f0-4734-87a5-06767f907716"
      unitRef="shares">4926804</pubm:IncrementalCommonSharesAttributableToDilutiveEffectOfCallOptions>
    <pubm:IncrementalCommonSharesAttributableToRestrictedStock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjJlYTkyNGM1MjM1ZjQyZGQ5MGVmMzNkNDI5OTM5MjAxL3RhYmxlcmFuZ2U6MmVhOTI0YzUyMzVmNDJkZDkwZWYzM2Q0Mjk5MzkyMDFfMTItMS0xLTEtODU5Mjk_23a96918-7034-4efc-85c7-d003d4dab2c1"
      unitRef="shares">0</pubm:IncrementalCommonSharesAttributableToRestrictedStock>
    <pubm:IncrementalCommonSharesAttributableToRestrictedStock
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjJlYTkyNGM1MjM1ZjQyZGQ5MGVmMzNkNDI5OTM5MjAxL3RhYmxlcmFuZ2U6MmVhOTI0YzUyMzVmNDJkZDkwZWYzM2Q0Mjk5MzkyMDFfMTItMy0xLTEtODU5Mjk_cfaa0b3b-7cba-4f4c-91ca-3ec1ee664c7a"
      unitRef="shares">4348</pubm:IncrementalCommonSharesAttributableToRestrictedStock>
    <pubm:IncrementalCommonSharesAttributableToEmployeeStockPurchasePlan
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjJlYTkyNGM1MjM1ZjQyZGQ5MGVmMzNkNDI5OTM5MjAxL3RhYmxlcmFuZ2U6MmVhOTI0YzUyMzVmNDJkZDkwZWYzM2Q0Mjk5MzkyMDFfMTMtMS0xLTEtODU5Mjk_7c13797f-480c-4ace-84a7-6db527400d1e"
      unitRef="shares">0</pubm:IncrementalCommonSharesAttributableToEmployeeStockPurchasePlan>
    <pubm:IncrementalCommonSharesAttributableToEmployeeStockPurchasePlan
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjJlYTkyNGM1MjM1ZjQyZGQ5MGVmMzNkNDI5OTM5MjAxL3RhYmxlcmFuZ2U6MmVhOTI0YzUyMzVmNDJkZDkwZWYzM2Q0Mjk5MzkyMDFfMTMtMy0xLTEtODU5Mjk_247885cf-53e0-454f-a841-5896374f801e"
      unitRef="shares">46455</pubm:IncrementalCommonSharesAttributableToEmployeeStockPurchasePlan>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjJlYTkyNGM1MjM1ZjQyZGQ5MGVmMzNkNDI5OTM5MjAxL3RhYmxlcmFuZ2U6MmVhOTI0YzUyMzVmNDJkZDkwZWYzM2Q0Mjk5MzkyMDFfMTQtMS0xLTEtODU5Mjk_35aa62c4-f92d-433e-8196-8f00a4bf07e9"
      unitRef="shares">52740352</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjJlYTkyNGM1MjM1ZjQyZGQ5MGVmMzNkNDI5OTM5MjAxL3RhYmxlcmFuZ2U6MmVhOTI0YzUyMzVmNDJkZDkwZWYzM2Q0Mjk5MzkyMDFfMTQtMy0xLTEtODU5Mjk_29259843-8a4d-4056-928c-348d8f425728"
      unitRef="shares">56888179</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjJlYTkyNGM1MjM1ZjQyZGQ5MGVmMzNkNDI5OTM5MjAxL3RhYmxlcmFuZ2U6MmVhOTI0YzUyMzVmNDJkZDkwZWYzM2Q0Mjk5MzkyMDFfMTUtMS0xLTEtODU5Mjk_7e6125f0-035a-4075-b0e6-c132dc602959"
      unitRef="usdPerShare">-0.11</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjJlYTkyNGM1MjM1ZjQyZGQ5MGVmMzNkNDI5OTM5MjAxL3RhYmxlcmFuZ2U6MmVhOTI0YzUyMzVmNDJkZDkwZWYzM2Q0Mjk5MzkyMDFfMTUtMy0xLTEtODU5Mjk_3257e4f3-b8dd-4deb-846e-3d9a859d12d3"
      unitRef="usdPerShare">0.08</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RleHRyZWdpb246ZDQwNDEyMzU0ODgwNDg5ZDk3OWQ2NzAyM2JiYzdjOTZfNzYw_3bc90d24-32ab-4b5d-9158-9951f440594e">&lt;div style="margin-top:6pt;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 following weighted-average outstanding shares of common stock equivalents were excluded from the computation of diluted net income (loss) per share attributable to common stockholders for the periods presented because including them would have been anti-dilutive:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&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.839%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.627%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.628%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:8pt;font-weight:700;line-height:120%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&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="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:120%"&gt;2023&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:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="margin-top:6pt;padding-right:2.25pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;Options to purchase common stock&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;1,892,052&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%"&gt;913,742&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:9.5pt;font-weight:400;line-height:120%"&gt;Unvested restricted stock units&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:9.5pt;font-weight:400;line-height:120%"&gt;2,451,338&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:9.5pt;font-weight:400;line-height:120%"&gt;653,061&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:9.5pt;font-weight:400;line-height:120%"&gt;ESPP&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:9.5pt;font-weight:400;line-height:120%"&gt;91,661&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:9.5pt;font-weight:400;line-height:120%"&gt;21,566&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="margin-top:6pt;padding-left:21pt;padding-right:2.25pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total common stock equivalents excluded from net income per share attributable to common stockholders &#x2013; diluted&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;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:9.5pt;font-weight:400;line-height:120%"&gt;4,435,051&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;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:9.5pt;font-weight:400;line-height:120%"&gt;1,588,369&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i0ffebcd079214844bb7fd680f25caa39_D20230101-20230331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjBiOTRhYWI2MDM3MjRiOWRhZWZmNGQ0YmUxMGZlNDRhL3RhYmxlcmFuZ2U6MGI5NGFhYjYwMzcyNGI5ZGFlZmY0ZDRiZTEwZmU0NGFfMi0xLTEtMS04NTkyOQ_09180d3a-3b1c-4621-a365-5207a5ab72ed"
      unitRef="shares">1892052</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i382f4b7096134a87a6fa30a6721441d6_D20220101-20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjBiOTRhYWI2MDM3MjRiOWRhZWZmNGQ0YmUxMGZlNDRhL3RhYmxlcmFuZ2U6MGI5NGFhYjYwMzcyNGI5ZGFlZmY0ZDRiZTEwZmU0NGFfMi0zLTEtMS04NTkyOQ_03214e59-3fa4-468f-aeac-ad977430d747"
      unitRef="shares">913742</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ibadad924716f40319d663c8595d70ed0_D20230101-20230331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjBiOTRhYWI2MDM3MjRiOWRhZWZmNGQ0YmUxMGZlNDRhL3RhYmxlcmFuZ2U6MGI5NGFhYjYwMzcyNGI5ZGFlZmY0ZDRiZTEwZmU0NGFfMy0xLTEtMS04NTkyOQ_19191f7f-f3f9-47cc-8824-ea98de624719"
      unitRef="shares">2451338</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i622f47afe6fe4a9aa598bd8f5f5dd673_D20220101-20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjBiOTRhYWI2MDM3MjRiOWRhZWZmNGQ0YmUxMGZlNDRhL3RhYmxlcmFuZ2U6MGI5NGFhYjYwMzcyNGI5ZGFlZmY0ZDRiZTEwZmU0NGFfMy0zLTEtMS04NTkyOQ_1ba73590-8da1-443c-a041-1bb1a4608cdb"
      unitRef="shares">653061</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i2c705e426f474a3891ad8f56487fb0e0_D20230101-20230331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjBiOTRhYWI2MDM3MjRiOWRhZWZmNGQ0YmUxMGZlNDRhL3RhYmxlcmFuZ2U6MGI5NGFhYjYwMzcyNGI5ZGFlZmY0ZDRiZTEwZmU0NGFfNC0xLTEtMS04NTkyOQ_2a9b8ae4-40ab-412b-b7d7-d6d4a8409056"
      unitRef="shares">91661</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i744ca5655c0c41fd813d59891bb72734_D20220101-20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjBiOTRhYWI2MDM3MjRiOWRhZWZmNGQ0YmUxMGZlNDRhL3RhYmxlcmFuZ2U6MGI5NGFhYjYwMzcyNGI5ZGFlZmY0ZDRiZTEwZmU0NGFfNC0zLTEtMS04NTkyOQ_4d0d91b8-bad1-42a3-926e-50deb410af6c"
      unitRef="shares">21566</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjBiOTRhYWI2MDM3MjRiOWRhZWZmNGQ0YmUxMGZlNDRhL3RhYmxlcmFuZ2U6MGI5NGFhYjYwMzcyNGI5ZGFlZmY0ZDRiZTEwZmU0NGFfNS0xLTEtMS04NTkyOQ_5bc661e1-decb-4b4e-9c1f-0527e2e29ba7"
      unitRef="shares">4435051</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82MS9mcmFnOmQ0MDQxMjM1NDg4MDQ4OWQ5NzlkNjcwMjNiYmM3Yzk2L3RhYmxlOjBiOTRhYWI2MDM3MjRiOWRhZWZmNGQ0YmUxMGZlNDRhL3RhYmxlcmFuZ2U6MGI5NGFhYjYwMzcyNGI5ZGFlZmY0ZDRiZTEwZmU0NGFfNS0zLTEtMS04NTkyOQ_7d01b1b9-5aad-4785-9d30-a4081d9f383f"
      unitRef="shares">1588369</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82NC9mcmFnOjdjMTYyM2QxMDI0YzRlMTBiY2I5M2RlZDNmOGY4NzQyL3RleHRyZWdpb246N2MxNjIzZDEwMjRjNGUxMGJjYjkzZGVkM2Y4Zjg3NDJfMTU5NA_9b50e09f-4c0b-4879-b391-d99c1448d6d9">Income Taxes &lt;div style="margin-top:6pt;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 Company computes its provision (benefit) for income taxes by applying the estimated annual effective tax rate to pretax income and adjusts the provision for discrete tax items recorded in the period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 Company recorded an income tax benefit of $3.4 million and provision for income taxes of $1.4 million for the three months ended March 31, 2023 and 2022, respectively. Accordingly, the Company has recorded the tax benefit for the U.S. losses incurred during the three months ended March 31, 2023.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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 effective income tax rate was 37% and 23% for the three months ended March 31, 2023 and 2022, respectively. The income tax benefit for the three months ended March 31, 2023 is related to an increase in nondeductible stock-based compensation, Section 162(m) limitation on the tax deductibility of officers compensation, state taxes and global intangible low-taxed income (GILTI) inclusion offset by deductions for equity awards, tax benefit from foreign-derived intangible income (FDII), foreign tax credits, federal and state research credits, and other effects created by the capitalization and amortization of research and development expenses for tax purposes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;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;Realization of the Company&#x2019;s deferred tax assets is dependent primarily on the generation of future taxable income. In considering the need for a valuation allowance, the Company considers its historical, as well as future projected, taxable income along with other objectively verifiable evidence. Objectively verifiable evidence includes the Company&#x2019;s realization of tax attributes, assessment of tax credits, and utilization of net operating loss carryforwards during the year.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82NC9mcmFnOjdjMTYyM2QxMDI0YzRlMTBiY2I5M2RlZDNmOGY4NzQyL3RleHRyZWdpb246N2MxNjIzZDEwMjRjNGUxMGJjYjkzZGVkM2Y4Zjg3NDJfMjc2_53f79fe1-ae57-4882-a0cd-b790be561c98"
      unitRef="usd">-3400000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82NC9mcmFnOjdjMTYyM2QxMDI0YzRlMTBiY2I5M2RlZDNmOGY4NzQyL3RleHRyZWdpb246N2MxNjIzZDEwMjRjNGUxMGJjYjkzZGVkM2Y4Zjg3NDJfMjgz_bd4b3557-2ecd-4bb0-8955-384052faca19"
      unitRef="usd">1400000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82NC9mcmFnOjdjMTYyM2QxMDI0YzRlMTBiY2I5M2RlZDNmOGY4NzQyL3RleHRyZWdpb246N2MxNjIzZDEwMjRjNGUxMGJjYjkzZGVkM2Y4Zjg3NDJfNDAx_a7cd9576-9b2e-4b75-9477-cf985f0ad4ec"
      unitRef="number">0.37</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82NC9mcmFnOjdjMTYyM2QxMDI0YzRlMTBiY2I5M2RlZDNmOGY4NzQyL3RleHRyZWdpb246N2MxNjIzZDEwMjRjNGUxMGJjYjkzZGVkM2Y4Zjg3NDJfNDA4_53b2dc0d-3516-40d4-ae58-e8808f4c3848"
      unitRef="number">0.23</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82Ny9mcmFnOmZmNDY4ZGM2NzM1YTRjMjc4NWQwMmQ2ODQwOWMzNjczL3RleHRyZWdpb246ZmY0NjhkYzY3MzVhNGMyNzg1ZDAyZDY4NDA5YzM2NzNfMzM2_d1059812-b8ce-4df8-bf75-292109028bc9">Segment Information &lt;div style="margin-top:6pt;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 following table presents total revenue by geographic area based on the publisher&#x2019;s billing address (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:8pt;font-weight:700;line-height:120%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&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="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:120%"&gt;2023&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:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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;United States&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;32,640&#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;32,768&#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="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:120%"&gt;EMEA&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;17,844&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,641&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;APAC&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,978&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,121&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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:120%"&gt;Rest of the world&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;945&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,022&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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&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:120%"&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:120%"&gt;55,407&#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:120%"&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:120%"&gt;54,552&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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 following table presents long-lived assets, net, which consist primarily of property and equipment and operating lease right-of-use assets, by geographic area (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:8pt;font-weight:700;line-height:120%"&gt;March 31,&lt;br/&gt;2023&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:8pt;font-weight:700;line-height:120%"&gt;December 31,&lt;br/&gt;2022&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;United States&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;77,715&#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;80,021&#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:120%"&gt;Rest of the world&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;15,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,341&#160;&lt;/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:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;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 #000;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;93,394&#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;border-bottom:3pt double #000;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 #000;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;97,362&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82Ny9mcmFnOmZmNDY4ZGM2NzM1YTRjMjc4NWQwMmQ2ODQwOWMzNjczL3RleHRyZWdpb246ZmY0NjhkYzY3MzVhNGMyNzg1ZDAyZDY4NDA5YzM2NzNfMzM3_a4501a18-5415-4729-9914-35209083a15d">&lt;div style="margin-top:6pt;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 following table presents total revenue by geographic area based on the publisher&#x2019;s billing address (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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:8pt;font-weight:700;line-height:120%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&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="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:120%"&gt;2023&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:120%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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;United States&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;32,640&#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;32,768&#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="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:120%"&gt;EMEA&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;17,844&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,641&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;APAC&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,978&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,121&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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:120%"&gt;Rest of the world&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;945&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,022&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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&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:120%"&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:120%"&gt;55,407&#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:120%"&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:120%"&gt;54,552&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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 following table presents long-lived assets, net, which consist primarily of property and equipment and operating lease right-of-use assets, by geographic area (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&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:71.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.406%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.083%"/&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:8pt;font-weight:700;line-height:120%"&gt;March 31,&lt;br/&gt;2023&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:8pt;font-weight:700;line-height:120%"&gt;December 31,&lt;br/&gt;2022&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;United States&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;77,715&#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;80,021&#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:120%"&gt;Rest of the world&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;15,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,341&#160;&lt;/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:120%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;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 #000;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;93,394&#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;border-bottom:3pt double #000;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 #000;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;97,362&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i30bf58b2cbae4131870e2c59852436b1_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82Ny9mcmFnOmZmNDY4ZGM2NzM1YTRjMjc4NWQwMmQ2ODQwOWMzNjczL3RhYmxlOjZiNGM0NWQxZTYwMzRjMWI4YWU5NDY4NDY2NGQ0ODI4L3RhYmxlcmFuZ2U6NmI0YzQ1ZDFlNjAzNGMxYjhhZTk0Njg0NjY0ZDQ4MjhfMi0xLTEtMS04NTkyOQ_a96edd75-134d-4232-b37d-5e467224e0a0"
      unitRef="usd">32640000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iffd4a8f6c0a24923ac87ff9d1999d0dc_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82Ny9mcmFnOmZmNDY4ZGM2NzM1YTRjMjc4NWQwMmQ2ODQwOWMzNjczL3RhYmxlOjZiNGM0NWQxZTYwMzRjMWI4YWU5NDY4NDY2NGQ0ODI4L3RhYmxlcmFuZ2U6NmI0YzQ1ZDFlNjAzNGMxYjhhZTk0Njg0NjY0ZDQ4MjhfMi0zLTEtMS04NTkyOQ_17ffdeb7-1499-4b49-b318-16cd65de7af1"
      unitRef="usd">32768000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib2397608f2694411bc1688d6f2c9ec3c_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82Ny9mcmFnOmZmNDY4ZGM2NzM1YTRjMjc4NWQwMmQ2ODQwOWMzNjczL3RhYmxlOjZiNGM0NWQxZTYwMzRjMWI4YWU5NDY4NDY2NGQ0ODI4L3RhYmxlcmFuZ2U6NmI0YzQ1ZDFlNjAzNGMxYjhhZTk0Njg0NjY0ZDQ4MjhfMy0xLTEtMS04NTkyOQ_4bb27f0b-727c-49c7-90b5-47d36a62393f"
      unitRef="usd">17844000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia293f7fedb3445d0a325cf493bdf4009_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82Ny9mcmFnOmZmNDY4ZGM2NzM1YTRjMjc4NWQwMmQ2ODQwOWMzNjczL3RhYmxlOjZiNGM0NWQxZTYwMzRjMWI4YWU5NDY4NDY2NGQ0ODI4L3RhYmxlcmFuZ2U6NmI0YzQ1ZDFlNjAzNGMxYjhhZTk0Njg0NjY0ZDQ4MjhfMy0zLTEtMS04NTkyOQ_79bcf602-7a95-41ca-9104-a0ac900a7492"
      unitRef="usd">14641000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i52fe3379672149a9a6eb592c6ead2d23_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82Ny9mcmFnOmZmNDY4ZGM2NzM1YTRjMjc4NWQwMmQ2ODQwOWMzNjczL3RhYmxlOjZiNGM0NWQxZTYwMzRjMWI4YWU5NDY4NDY2NGQ0ODI4L3RhYmxlcmFuZ2U6NmI0YzQ1ZDFlNjAzNGMxYjhhZTk0Njg0NjY0ZDQ4MjhfNC0xLTEtMS04NTkyOQ_d29ea45e-5599-449e-ae75-700cbda0abc5"
      unitRef="usd">3978000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id6ecbe6fe1d64e7ca6f6e15829e7527b_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82Ny9mcmFnOmZmNDY4ZGM2NzM1YTRjMjc4NWQwMmQ2ODQwOWMzNjczL3RhYmxlOjZiNGM0NWQxZTYwMzRjMWI4YWU5NDY4NDY2NGQ0ODI4L3RhYmxlcmFuZ2U6NmI0YzQ1ZDFlNjAzNGMxYjhhZTk0Njg0NjY0ZDQ4MjhfNC0zLTEtMS04NTkyOQ_ed38b053-6957-4910-8ecc-df2088d78322"
      unitRef="usd">6121000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iab3b6b7986974171b8823cd80cfe15dd_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82Ny9mcmFnOmZmNDY4ZGM2NzM1YTRjMjc4NWQwMmQ2ODQwOWMzNjczL3RhYmxlOjZiNGM0NWQxZTYwMzRjMWI4YWU5NDY4NDY2NGQ0ODI4L3RhYmxlcmFuZ2U6NmI0YzQ1ZDFlNjAzNGMxYjhhZTk0Njg0NjY0ZDQ4MjhfNS0xLTEtMS04NTkyOQ_991ae2ff-aa59-47b7-9484-de743e1aa399"
      unitRef="usd">945000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2562e018d7b74274bd86a3cbe3ea914a_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82Ny9mcmFnOmZmNDY4ZGM2NzM1YTRjMjc4NWQwMmQ2ODQwOWMzNjczL3RhYmxlOjZiNGM0NWQxZTYwMzRjMWI4YWU5NDY4NDY2NGQ0ODI4L3RhYmxlcmFuZ2U6NmI0YzQ1ZDFlNjAzNGMxYjhhZTk0Njg0NjY0ZDQ4MjhfNS0zLTEtMS04NTkyOQ_f00b7a95-025a-4488-903c-19af7a4ea5e2"
      unitRef="usd">1022000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82Ny9mcmFnOmZmNDY4ZGM2NzM1YTRjMjc4NWQwMmQ2ODQwOWMzNjczL3RhYmxlOjZiNGM0NWQxZTYwMzRjMWI4YWU5NDY4NDY2NGQ0ODI4L3RhYmxlcmFuZ2U6NmI0YzQ1ZDFlNjAzNGMxYjhhZTk0Njg0NjY0ZDQ4MjhfNi0xLTEtMS04NTkyOQ_dc915d3f-c320-4236-9995-da003afccdac"
      unitRef="usd">55407000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82Ny9mcmFnOmZmNDY4ZGM2NzM1YTRjMjc4NWQwMmQ2ODQwOWMzNjczL3RhYmxlOjZiNGM0NWQxZTYwMzRjMWI4YWU5NDY4NDY2NGQ0ODI4L3RhYmxlcmFuZ2U6NmI0YzQ1ZDFlNjAzNGMxYjhhZTk0Njg0NjY0ZDQ4MjhfNi0zLTEtMS04NTkyOQ_9528a557-c969-4d39-b445-fb19b4a59184"
      unitRef="usd">54552000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:NoncurrentAssets
      contextRef="i95324a5f90fd4a8cb0f5d7a05e6a74b6_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82Ny9mcmFnOmZmNDY4ZGM2NzM1YTRjMjc4NWQwMmQ2ODQwOWMzNjczL3RhYmxlOjk1NDhkNDFkM2VjYjQ3MjBiNzc2NDNjMmFkMzg5NWYwL3RhYmxlcmFuZ2U6OTU0OGQ0MWQzZWNiNDcyMGI3NzY0M2MyYWQzODk1ZjBfMS0xLTEtMS04NTkyOQ_7d0480b1-de47-41e1-8837-1eca876b0bf0"
      unitRef="usd">77715000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="i865ce489397f4d2e8c17d1235b99e4e3_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82Ny9mcmFnOmZmNDY4ZGM2NzM1YTRjMjc4NWQwMmQ2ODQwOWMzNjczL3RhYmxlOjk1NDhkNDFkM2VjYjQ3MjBiNzc2NDNjMmFkMzg5NWYwL3RhYmxlcmFuZ2U6OTU0OGQ0MWQzZWNiNDcyMGI3NzY0M2MyYWQzODk1ZjBfMS0zLTEtMS04NTkyOQ_50a7b8a9-201a-47dd-b6d8-1a1213d76f13"
      unitRef="usd">80021000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="i439da36110d14da8b4c4c892691c562b_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82Ny9mcmFnOmZmNDY4ZGM2NzM1YTRjMjc4NWQwMmQ2ODQwOWMzNjczL3RhYmxlOjk1NDhkNDFkM2VjYjQ3MjBiNzc2NDNjMmFkMzg5NWYwL3RhYmxlcmFuZ2U6OTU0OGQ0MWQzZWNiNDcyMGI3NzY0M2MyYWQzODk1ZjBfMi0xLTEtMS04NTkyOQ_ffc8a57d-e790-464d-a94a-a631bfcc1afa"
      unitRef="usd">15679000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="i669ae6d01e0749b0b1c536c70b04ff49_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82Ny9mcmFnOmZmNDY4ZGM2NzM1YTRjMjc4NWQwMmQ2ODQwOWMzNjczL3RhYmxlOjk1NDhkNDFkM2VjYjQ3MjBiNzc2NDNjMmFkMzg5NWYwL3RhYmxlcmFuZ2U6OTU0OGQ0MWQzZWNiNDcyMGI3NzY0M2MyYWQzODk1ZjBfMi0zLTEtMS04NTkyOQ_10c1dc75-f9ed-4ec6-b85b-6cf6682ac69a"
      unitRef="usd">17341000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="if1b410b43cf2482b8d9a9c165adf7a70_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82Ny9mcmFnOmZmNDY4ZGM2NzM1YTRjMjc4NWQwMmQ2ODQwOWMzNjczL3RhYmxlOjk1NDhkNDFkM2VjYjQ3MjBiNzc2NDNjMmFkMzg5NWYwL3RhYmxlcmFuZ2U6OTU0OGQ0MWQzZWNiNDcyMGI3NzY0M2MyYWQzODk1ZjBfMy0xLTEtMS04NTkyOQ_42efb51e-2c92-4968-a7ea-bd39ba4588ee"
      unitRef="usd">93394000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="ie96e4a2a49ea491bab81f4a6d89f06a2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV82Ny9mcmFnOmZmNDY4ZGM2NzM1YTRjMjc4NWQwMmQ2ODQwOWMzNjczL3RhYmxlOjk1NDhkNDFkM2VjYjQ3MjBiNzc2NDNjMmFkMzg5NWYwL3RhYmxlcmFuZ2U6OTU0OGQ0MWQzZWNiNDcyMGI3NzY0M2MyYWQzODk1ZjBfMy0zLTEtMS04NTkyOQ_bc167559-5545-4903-aa96-3aeb908e75f1"
      unitRef="usd">97362000</us-gaap:NoncurrentAssets>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV83MC9mcmFnOmYyNGQ4MGU1OTJkYTRkMzg5MTAxZTJmOTY1MTE4MTQ0L3RleHRyZWdpb246ZjI0ZDgwZTU5MmRhNGQzODkxMDFlMmY5NjUxMTgxNDRfNTE5_6262bb81-f4ba-45d9-8be4-e2aefefa4595">401(k) PlanThe Company has a 401(k) Savings Plan (the &#x201c;401(k) Plan&#x201d;) that qualifies as a deferred salary arrangement under Section 401(k) of the Internal Revenue Code. Under the 401(k) Plan, participating employees may elect to contribute up to 100% of their eligible compensation, subject to certain limitations. The 401(k) Plan provides for a discretionary employer matching contribution. The Company made $0.4&#160;million in matching contributions to the 401(k) Plan for the each of the three months ended March 31, 2023 and 2022.</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV83MC9mcmFnOmYyNGQ4MGU1OTJkYTRkMzg5MTAxZTJmOTY1MTE4MTQ0L3RleHRyZWdpb246ZjI0ZDgwZTU5MmRhNGQzODkxMDFlMmY5NjUxMTgxNDRfMjYx_9f14a7c8-28a4-45c2-8bbe-399022cc88f4"
      unitRef="number">1</us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount
      contextRef="i8fb786562c59430e9a4a1e58cbc8c03d_D20230101-20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV83MC9mcmFnOmYyNGQ4MGU1OTJkYTRkMzg5MTAxZTJmOTY1MTE4MTQ0L3RleHRyZWdpb246ZjI0ZDgwZTU5MmRhNGQzODkxMDFlMmY5NjUxMTgxNDRfNDIy_1d47b225-bdc5-4bec-8e61-a6585833a9d6"
      unitRef="usd">400000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount
      contextRef="ie58950175683416097b8b776f8730435_D20220101-20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjlkMjRlNTFkYjMzOTRkYWZiMzRiZDU1YjE5NTc0ZWQ1L3NlYzo5ZDI0ZTUxZGIzMzk0ZGFmYjM0YmQ1NWIxOTU3NGVkNV83MC9mcmFnOmYyNGQ4MGU1OTJkYTRkMzg5MTAxZTJmOTY1MTE4MTQ0L3RleHRyZWdpb246ZjI0ZDgwZTU5MmRhNGQzODkxMDFlMmY5NjUxMTgxNDRfNDIy_74046c67-20a4-453b-af6b-136a2ad43fc7"
      unitRef="usd">400000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
</xbrl>
